-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
600f0c0
commit 7b11ba0
Showing
46 changed files
with
1,144 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
# Visual Studio Version 17 | ||
VisualStudioVersion = 17.8.34330.188 | ||
MinimumVisualStudioVersion = 10.0.40219.1 | ||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrgChart", "MauiApp1\OrgChart.csproj", "{9D334A6C-E741-40F4-97A6-52D1BC6D00BC}" | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|Any CPU = Debug|Any CPU | ||
Release|Any CPU = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{9D334A6C-E741-40F4-97A6-52D1BC6D00BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{9D334A6C-E741-40F4-97A6-52D1BC6D00BC}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{9D334A6C-E741-40F4-97A6-52D1BC6D00BC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU | ||
{9D334A6C-E741-40F4-97A6-52D1BC6D00BC}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{9D334A6C-E741-40F4-97A6-52D1BC6D00BC}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{9D334A6C-E741-40F4-97A6-52D1BC6D00BC}.Release|Any CPU.Deploy.0 = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
GlobalSection(ExtensibilityGlobals) = postSolution | ||
SolutionGuid = {27D0FB79-670B-45AC-A8E6-3EAE4CAE63F6} | ||
EndGlobalSection | ||
EndGlobal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui" | ||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" | ||
xmlns:local="clr-namespace:OrgChart" | ||
x:Class="OrgChart.App"> | ||
<Application.Resources> | ||
<ResourceDictionary> | ||
|
||
<Color x:Key="PageBackgroundColor">#512bdf</Color> | ||
<Color x:Key="PrimaryTextColor">White</Color> | ||
|
||
<Style TargetType="Label"> | ||
<Setter Property="TextColor" Value="{DynamicResource PrimaryTextColor}" /> | ||
<Setter Property="FontFamily" Value="OpenSansRegular" /> | ||
</Style> | ||
|
||
<Style TargetType="Button"> | ||
<Setter Property="TextColor" Value="{DynamicResource PrimaryTextColor}" /> | ||
<Setter Property="FontFamily" Value="OpenSansRegular" /> | ||
<Setter Property="BackgroundColor" Value="#2b0b98" /> | ||
<Setter Property="Padding" Value="14,10" /> | ||
</Style> | ||
|
||
</ResourceDictionary> | ||
</Application.Resources> | ||
</Application> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
namespace OrgChart | ||
{ | ||
public partial class App : Application | ||
{ | ||
public App() | ||
{ | ||
InitializeComponent(); | ||
|
||
MainPage = new MainPage(); | ||
} | ||
} | ||
} |
14 changes: 14 additions & 0 deletions
14
KB-Samples/MAUISample/OrgChart/Components/Layout/MainLayout.razor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
@inherits LayoutComponentBase | ||
|
||
<div class="page"> | ||
<div class="sidebar"> | ||
<NavMenu /> | ||
</div> | ||
|
||
<main> | ||
|
||
<article class="content px-4"> | ||
@Body | ||
</article> | ||
</main> | ||
</div> |
77 changes: 77 additions & 0 deletions
77
KB-Samples/MAUISample/OrgChart/Components/Layout/MainLayout.razor.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
.page { | ||
position: relative; | ||
display: flex; | ||
flex-direction: column; | ||
} | ||
|
||
main { | ||
flex: 1; | ||
} | ||
|
||
.sidebar { | ||
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); | ||
} | ||
|
||
.top-row { | ||
background-color: #f7f7f7; | ||
border-bottom: 1px solid #d6d5d5; | ||
justify-content: flex-end; | ||
height: 3.5rem; | ||
display: flex; | ||
align-items: center; | ||
} | ||
|
||
.top-row ::deep a, .top-row ::deep .btn-link { | ||
white-space: nowrap; | ||
margin-left: 1.5rem; | ||
text-decoration: none; | ||
} | ||
|
||
.top-row ::deep a:hover, .top-row ::deep .btn-link:hover { | ||
text-decoration: underline; | ||
} | ||
|
||
.top-row ::deep a:first-child { | ||
overflow: hidden; | ||
text-overflow: ellipsis; | ||
} | ||
|
||
@media (max-width: 640.98px) { | ||
.top-row { | ||
justify-content: space-between; | ||
} | ||
|
||
.top-row ::deep a, .top-row ::deep .btn-link { | ||
margin-left: 0; | ||
} | ||
} | ||
|
||
@media (min-width: 641px) { | ||
.page { | ||
flex-direction: row; | ||
} | ||
|
||
.sidebar { | ||
width: 250px; | ||
height: 100vh; | ||
position: sticky; | ||
top: 0; | ||
} | ||
|
||
.top-row { | ||
position: sticky; | ||
top: 0; | ||
z-index: 1; | ||
} | ||
|
||
.top-row.auth ::deep a:first-child { | ||
flex: 1; | ||
text-align: right; | ||
width: 0; | ||
} | ||
|
||
.top-row, article { | ||
padding-left: 2rem !important; | ||
padding-right: 1.5rem !important; | ||
} | ||
} |
5 changes: 5 additions & 0 deletions
5
KB-Samples/MAUISample/OrgChart/Components/Layout/NavMenu.razor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<div class="top-row ps-3 navbar navbar-dark"> | ||
<div class="container-fluid"> | ||
<a class="navbar-brand" href="">OrgChart</a> | ||
</div> | ||
</div> |
101 changes: 101 additions & 0 deletions
101
KB-Samples/MAUISample/OrgChart/Components/Layout/NavMenu.razor.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
.navbar-toggler { | ||
appearance: none; | ||
cursor: pointer; | ||
width: 3.5rem; | ||
height: 2.5rem; | ||
color: white; | ||
position: absolute; | ||
top: 0.5rem; | ||
right: 1rem; | ||
border: 1px solid rgba(255, 255, 255, 0.1); | ||
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1); | ||
} | ||
|
||
.navbar-toggler:checked { | ||
background-color: rgba(255, 255, 255, 0.5); | ||
} | ||
|
||
.top-row { | ||
height: 3.5rem; | ||
background-color: rgba(0,0,0,0.4); | ||
} | ||
|
||
.navbar-brand { | ||
font-size: 1.1rem; | ||
} | ||
|
||
.bi { | ||
display: inline-block; | ||
position: relative; | ||
width: 1.25rem; | ||
height: 1.25rem; | ||
margin-right: 0.75rem; | ||
top: -1px; | ||
background-size: cover; | ||
} | ||
|
||
.bi-house-door-fill-nav-menu { | ||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E"); | ||
} | ||
|
||
.bi-plus-square-fill-nav-menu { | ||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E"); | ||
} | ||
|
||
.bi-list-nested-nav-menu { | ||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E"); | ||
} | ||
|
||
.nav-item { | ||
font-size: 0.9rem; | ||
padding-bottom: 0.5rem; | ||
} | ||
|
||
.nav-item:first-of-type { | ||
padding-top: 1rem; | ||
} | ||
|
||
.nav-item:last-of-type { | ||
padding-bottom: 1rem; | ||
} | ||
|
||
.nav-item ::deep a { | ||
color: #d7d7d7; | ||
border-radius: 4px; | ||
height: 3rem; | ||
display: flex; | ||
align-items: center; | ||
line-height: 3rem; | ||
} | ||
|
||
.nav-item ::deep a.active { | ||
background-color: rgba(255,255,255,0.37); | ||
color: white; | ||
} | ||
|
||
.nav-item ::deep a:hover { | ||
background-color: rgba(255,255,255,0.1); | ||
color: white; | ||
} | ||
|
||
.nav-scrollable { | ||
display: none; | ||
} | ||
|
||
.navbar-toggler:checked ~ .nav-scrollable { | ||
display: block; | ||
} | ||
|
||
@media (min-width: 641px) { | ||
.navbar-toggler { | ||
display: none; | ||
} | ||
|
||
.nav-scrollable { | ||
/* Never collapse the sidebar for wide screens */ | ||
display: block; | ||
/* Allow sidebar to scroll for tall menus */ | ||
height: calc(100vh - 3.5rem); | ||
overflow-y: auto; | ||
} | ||
} |
16 changes: 16 additions & 0 deletions
16
KB-Samples/MAUISample/OrgChart/Components/Pages/Counter.razor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
@page "/counter" | ||
|
||
<h1>Counter</h1> | ||
|
||
<p role="status">Current count: @currentCount</p> | ||
|
||
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button> | ||
|
||
@code { | ||
private int currentCount = 0; | ||
|
||
private void IncrementCount() | ||
{ | ||
currentCount++; | ||
} | ||
} |
86 changes: 86 additions & 0 deletions
86
KB-Samples/MAUISample/OrgChart/Components/Pages/Home.razor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
@page "/" | ||
|
||
@using Syncfusion.Blazor.Diagram | ||
|
||
<SfDiagramComponent Height="600px" Nodes="@NodeCollection" Connectors="@connectors" NodeCreating="@OnNodeCreating" ConnectorCreating="@OnConnectorCreating"> | ||
<Layout Type="LayoutType.OrganizationalChart" @bind-HorizontalSpacing="@HorizontalSpacing" @bind-VerticalSpacing="@VerticalSpacing"> | ||
</Layout> | ||
</SfDiagramComponent> | ||
|
||
@code | ||
{ | ||
//Defines diagram's connector collection. | ||
DiagramObjectCollection<Connector> connectors = new DiagramObjectCollection<Connector>(); | ||
//Defines diagram's node collection. | ||
DiagramObjectCollection<Node> NodeCollection = new DiagramObjectCollection<Node>(); | ||
|
||
int HorizontalSpacing = 40; | ||
int VerticalSpacing = 40; | ||
|
||
private void OnNodeCreating(IDiagramObject obj) | ||
{ | ||
Node node = obj as Node; | ||
node.Height = 40; | ||
node.Width = 120; | ||
//Initializing the default node's shape style. | ||
node.Style = new ShapeStyle() { Fill = "darkcyan", StrokeWidth = 3, StrokeColor = "Black" }; | ||
node.Annotations = new DiagramObjectCollection<ShapeAnnotation>() | ||
{ | ||
new ShapeAnnotation { Style = new TextStyle() { Color = "white", Bold = true },Content = node.Annotations[0].Content } | ||
}; | ||
} | ||
|
||
private void OnConnectorCreating(IDiagramObject connector) | ||
{ | ||
(connector as Connector).Type = ConnectorSegmentType.Orthogonal; | ||
} | ||
|
||
protected override void OnInitialized() | ||
{ | ||
NodeCollection = new DiagramObjectCollection<Node>() | ||
{ | ||
new Node() { ID = "node1",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Project Management" } } }, | ||
new Node() { ID = "node2",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "R&D Team" } } }, | ||
new Node() { ID = "node3",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Philosophy" } } }, | ||
new Node() { ID = "node4",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Organization" } } }, | ||
new Node() { ID = "node5",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Technology" } } }, | ||
new Node() { ID = "node6",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Funding" } } }, | ||
new Node() { ID = "node7",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Resource-Allocation" } } }, | ||
new Node() { ID = "node8",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Targeting" } } }, | ||
new Node() { ID = "node9",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Evaluation" } } }, | ||
new Node() { ID = "node10",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "HR-Team" } } }, | ||
new Node() { ID = "node11",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Recruitment" } } }, | ||
new Node() { ID = "node12",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Employee-Relation" } } }, | ||
new Node() { ID = "node13",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Production & Sales Team" } } }, | ||
new Node() { ID = "node14",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Design" } } }, | ||
new Node() { ID = "node15",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Operation" } } }, | ||
new Node() { ID = "node16",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Support" } } }, | ||
new Node() { ID = "node17",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Quality Assurance" } } }, | ||
new Node() { ID = "node18",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Customer Interaction" } } }, | ||
new Node() { ID = "node19",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Support and Maintenance" } } }, | ||
new Node() { ID = "node20",Annotations = new DiagramObjectCollection<ShapeAnnotation>() { new ShapeAnnotation { Content = "Task Coordination" } } } | ||
}; | ||
connectors = new DiagramObjectCollection<Connector>() | ||
{ | ||
new Connector() { ID = "connector1", SourceID = "node1", TargetID = "node2" }, | ||
new Connector() { ID = "connector2", SourceID = "node1", TargetID = "node10" }, | ||
new Connector() { ID = "connector3", SourceID = "node1", TargetID = "node13" }, | ||
new Connector() { ID = "connector4", SourceID = "node2", TargetID = "node3" }, | ||
new Connector() { ID = "connector5", SourceID = "node2", TargetID = "node4" }, | ||
new Connector() { ID = "connector6", SourceID = "node2", TargetID = "node5" }, | ||
new Connector() { ID = "connector7", SourceID = "node2", TargetID = "node6" }, | ||
new Connector() { ID = "connector8", SourceID = "node2", TargetID = "node7" }, | ||
new Connector() { ID = "connector9", SourceID = "node2", TargetID = "node8" }, | ||
new Connector() { ID = "connector10", SourceID = "node2", TargetID = "node9" }, | ||
new Connector() { ID = "connector11", SourceID = "node2", TargetID = "node11" }, | ||
new Connector() { ID = "connector12", SourceID = "node10", TargetID = "node12" }, | ||
new Connector() { ID = "connector13", SourceID = "node10", TargetID = "node14" }, | ||
new Connector() { ID = "connector14", SourceID = "node13", TargetID = "node15" }, | ||
new Connector() { ID = "connector15", SourceID = "node13", TargetID = "node16" }, | ||
new Connector() { ID = "connector16", SourceID = "node13", TargetID = "node17" }, | ||
new Connector() { ID = "connector17", SourceID = "node13", TargetID = "node18" }, | ||
new Connector() { ID = "connector18", SourceID = "node13", TargetID = "node19" }, | ||
new Connector() { ID = "connector19", SourceID = "node13", TargetID = "node20" } | ||
}; | ||
} | ||
} |
Oops, something went wrong.