Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,8 @@

private IEnumerable<NavItem> GetNavItems()
{
navItems = new List<NavItem>
{
new NavItem { Id = "1", Href = "/", IconName = IconName.HouseDoorFill, Text = "Home", Match=NavLinkMatch.All},
new NavItem { Id = "2", Href = "/counter", IconName = IconName.PlusSquareFill, Text = "Counter"},
new NavItem { Id = "3", Href = "/fetchdata", IconName = IconName.Table, Text = "Fetch Data"},
};

return navItems;
yield return new NavItem { Href = "/", IconName = IconName.HouseDoorFill, Text = "Home", Match=NavLinkMatch.All };
yield return new NavItem { Href = "/counter", IconName = IconName.PlusSquareFill, Text = "Counter" };
yield return new NavItem { Href = "/fetchdata", IconName = IconName.Table, Text = "Fetch Data" };
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,8 @@

private IEnumerable<NavItem> GetNavItems()
{
navItems = new List<NavItem>
{
new NavItem { Id = "1", Href = "/", IconName = IconName.HouseDoorFill, Text = "Home", Match=NavLinkMatch.All},
new NavItem { Id = "2", Href = "/counter", IconName = IconName.PlusSquareFill, Text = "Counter"},
new NavItem { Id = "3", Href = "/fetchdata", IconName = IconName.Table, Text = "Fetch Data"},
};

return navItems;
yield return new NavItem { Href = "/", IconName = IconName.HouseDoorFill, Text = "Home", Match = NavLinkMatch.All };
yield return new NavItem { Href = "/counter", IconName = IconName.PlusSquareFill, Text = "Counter" };
yield return new NavItem { Href = "/fetchdata", IconName = IconName.Table, Text = "Fetch Data" };
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@
<div class="mb-3">Set the <b>Class</b> property of a <b>NavItem</b> to apply a custom CSS class.</div>
<Demo Type="typeof(Sidebar_Demo_10_Apply_Custom_CSS_Class_to_NavItem)" Tabs="true" />

<SectionHeading Size="HeadingSize.H2" Text="Third level navigation" PageUrl="@pageUrl" HashTagName="apply-custom-css-class-to-navitem" />
<div class="mb-3">You can nest multiple levels by providing more ChildItems</div>
<Demo Type="typeof(Sidebar_Demo_11_Three_level_navigation)" Tabs="true" />

@code {
private string pageUrl = "/sidebar";
private string title = "Blazor Sidebar Component";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ IconName="IconName.BootstrapFill"

@code {
Sidebar sidebar = default!;
IEnumerable<NavItem>? navItems;

private IEnumerable<NavItem> navItems = default!;

private async Task<SidebarDataProviderResult> SidebarDataProvider(SidebarDataProviderRequest request)
{
Expand All @@ -15,16 +16,13 @@ IconName="IconName.BootstrapFill"
return await Task.FromResult(request.ApplyTo(navItems));
}


private IEnumerable<NavItem> GetNavItems()
{
navItems = new List<NavItem>
{
new NavItem { Href = "/getting-started", IconName = IconName.HouseDoorFill, Text = "Getting Started"},
new NavItem { Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts"},
new NavItem { Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete"},
new NavItem { Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb"},
new NavItem { Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar"},
};
return navItems;
yield return new NavItem { Href = "/getting-started", IconName = IconName.HouseDoorFill, Text = "Getting Started"};
yield return new NavItem { Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts"};
yield return new NavItem { Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete"};
yield return new NavItem { Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb"};
yield return new NavItem { Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar" };
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

@code {
Sidebar sidebar = default!;
IEnumerable<NavItem>? navItems;
private IEnumerable<NavItem> navItems = default!;

private async Task<SidebarDataProviderResult> SidebarDataProvider(SidebarDataProviderRequest request)
{
Expand All @@ -15,27 +15,46 @@
return await Task.FromResult(request.ApplyTo(navItems));
}


private IEnumerable<NavItem> GetNavItems()
{
navItems = new List<NavItem>
{
new NavItem { Id = "1", Href = "/getting-started", IconName = IconName.HouseDoorFill, Text = "Getting Started"},

new NavItem { Id = "2", IconName = IconName.LayoutSidebarInset, Text = "Content" },
new NavItem { Id = "3", Href = "/icons", IconName = IconName.PersonSquare, Text = "Icons", ParentId="2"},
yield return new NavItem { Href = "/getting-started", IconName = IconName.HouseDoorFill, Text = "Getting Started" };

yield return new NavItem
{
IconName = IconName.LayoutSidebarInset,
Text = "Content",
ChildItems = new List<NavItem>
{
new NavItem { Href = "/icons", IconName = IconName.PersonSquare, Text = "Icons" }
}
};

new NavItem { Id = "4", IconName = IconName.ExclamationTriangleFill, Text = "Components" },
new NavItem { Id = "5", Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts", ParentId="4"},
new NavItem { Id = "6", Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb", ParentId="4"},
new NavItem { Id = "7", Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar", ParentId="4"},
yield return new NavItem
{
IconName = IconName.ExclamationTriangleFill,
Text = "Components",
ChildItems = new List<NavItem>
{
new NavItem { Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts" },
new NavItem { Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb" },
new NavItem { Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar" }
}
};

new NavItem { Id = "8", IconName = IconName.WindowPlus, Text = "Forms" },
new NavItem { Id = "9", Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete", ParentId="8"},
new NavItem { Id = "10", Href = "/currency-input", IconName = IconName.CurrencyDollar, Text = "Currency Input", ParentId="8"},
new NavItem { Id = "11", Href = "/number-input", IconName = IconName.InputCursor, Text = "Number Input", ParentId="8"},
new NavItem { Id = "12", Href = "/switch", IconName = IconName.ToggleOn, Text = "Switch", ParentId="8"},
yield return new NavItem
{
IconName = IconName.WindowPlus,
Text = "Forms",
ChildItems = new List<NavItem>
{
new NavItem { Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete" },
new NavItem { Href = "/currency-input", IconName = IconName.CurrencyDollar, Text = "Currency Input" },
new NavItem { Href = "/number-input", IconName = IconName.InputCursor, Text = "Number Input" },
new NavItem { Href = "/switch", IconName = IconName.ToggleOn, Text = "Switch" }
}
};

return navItems;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

@code {
Sidebar sidebar = default!;
IEnumerable<NavItem>? navItems;
private IEnumerable<NavItem> navItems = default!;

private async Task<SidebarDataProviderResult> SidebarDataProvider(SidebarDataProviderRequest request)
{
Expand All @@ -17,25 +17,51 @@

private IEnumerable<NavItem> GetNavItems()
{
navItems = new List<NavItem>

yield return new NavItem
{
new NavItem { Id = "1", Href = "/getting-started", IconName = IconName.HouseDoorFill, Text = "Getting Started"},
Href = "/getting-started",
IconName = IconName.HouseDoorFill,
Text = "Getting Started"
};

new NavItem { Id = "2", IconName = IconName.LayoutSidebarInset, Text = "Content", IconColor = IconColor.Primary },
new NavItem { Id = "3", Href = "/icons", IconName = IconName.PersonSquare, Text = "Icons", ParentId="2"},
yield return new NavItem
{
IconName = IconName.LayoutSidebarInset,
Text = "Content",
IconColor = IconColor.Primary,
ChildItems = new List<NavItem>
{
new NavItem { Href = "/icons", IconName = IconName.PersonSquare, Text = "Icons" }
}
};

new NavItem { Id = "4", IconName = IconName.ExclamationTriangleFill, Text = "Components", IconColor = IconColor.Success },
new NavItem { Id = "5", Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts", ParentId="4"},
new NavItem { Id = "6", Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb", ParentId="4"},
new NavItem { Id = "7", Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar", ParentId="4"},
yield return new NavItem
{
IconName = IconName.ExclamationTriangleFill,
Text = "Components",
IconColor = IconColor.Success,
ChildItems = new List<NavItem>
{
new NavItem { Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts" },
new NavItem { Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb" },
new NavItem { Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar" },
}
};

new NavItem { Id = "8", IconName = IconName.WindowPlus, Text = "Forms", IconColor = IconColor.Danger },
new NavItem { Id = "9", Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete", ParentId="8"},
new NavItem { Id = "10", Href = "/currency-input", IconName = IconName.CurrencyDollar, Text = "Currency Input", ParentId="8"},
new NavItem { Id = "11", Href = "/number-input", IconName = IconName.InputCursor, Text = "Number Input", ParentId="8"},
new NavItem { Id = "12", Href = "/switch", IconName = IconName.ToggleOn, Text = "Switch", ParentId="8"},
yield return new NavItem
{
IconName = IconName.WindowPlus,
Text = "Forms",
IconColor = IconColor.Danger,
ChildItems = new List<NavItem>
{
new NavItem { Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete" },
new NavItem { Href = "/currency-input", IconName = IconName.CurrencyDollar, Text = "Currency Input" },
new NavItem { Href = "/number-input", IconName = IconName.InputCursor, Text = "Number Input" },
new NavItem { Href = "/switch", IconName = IconName.ToggleOn, Text = "Switch" },
}
};

return navItems;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

@code {
Sidebar sidebar = default!;
IEnumerable<NavItem>? navItems;
private IEnumerable<NavItem> navItems = default!;

private async Task<SidebarDataProviderResult> SidebarDataProvider(SidebarDataProviderRequest request)
{
Expand All @@ -31,25 +31,50 @@

private IEnumerable<NavItem> GetNavItems()
{
navItems = new List<NavItem>
{
new NavItem { Id = "1", Href = "/getting-started", IconName = IconName.HouseDoorFill, Text = "Getting Started"},

new NavItem { Id = "2", IconName = IconName.LayoutSidebarInset, Text = "Content", IconColor = IconColor.Primary },
new NavItem { Id = "3", Href = "/icons", IconName = IconName.PersonSquare, Text = "Icons", ParentId="2"},
yield return new NavItem
{
Href = "/getting-started",
IconName = IconName.HouseDoorFill,
Text = "Getting Started"
};

new NavItem { Id = "4", IconName = IconName.ExclamationTriangleFill, Text = "Components", IconColor = IconColor.Success },
new NavItem { Id = "5", Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts", ParentId="4"},
new NavItem { Id = "6", Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb", ParentId="4"},
new NavItem { Id = "7", Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar", ParentId="4"},
yield return new NavItem
{
IconName = IconName.LayoutSidebarInset,
Text = "Content",
IconColor = IconColor.Primary,
ChildItems = new List<NavItem>
{
new NavItem { Href = "/icons", IconName = IconName.PersonSquare, Text = "Icons" },
}
};

new NavItem { Id = "8", IconName = IconName.WindowPlus, Text = "Forms", IconColor = IconColor.Danger },
new NavItem { Id = "9", Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete", ParentId="8"},
new NavItem { Id = "10", Href = "/currency-input", IconName = IconName.CurrencyDollar, Text = "Currency Input", ParentId="8"},
new NavItem { Id = "11", Href = "/number-input", IconName = IconName.InputCursor, Text = "Number Input", ParentId="8"},
new NavItem { Id = "12", Href = "/switch", IconName = IconName.ToggleOn, Text = "Switch", ParentId="8"},
yield return new NavItem
{
IconName = IconName.ExclamationTriangleFill,
Text = "Components",
IconColor = IconColor.Success,
ChildItems = new List<NavItem>
{
new NavItem { Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts" },
new NavItem { Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb" },
new NavItem { Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar" },
}
};

return navItems;
yield return new NavItem
{
IconName = IconName.WindowPlus,
Text = "Forms",
IconColor = IconColor.Danger,
ChildItems = new List<NavItem>
{
new NavItem { Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete" },
new NavItem { Href = "/currency-input", IconName = IconName.CurrencyDollar, Text = "Currency Input" },
new NavItem { Href = "/number-input", IconName = IconName.InputCursor, Text = "Number Input" },
new NavItem { Href = "/switch", IconName = IconName.ToggleOn, Text = "Switch" },
}
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

@code {
Sidebar sidebar = default!;
IEnumerable<NavItem>? navItems;
private IEnumerable<NavItem> navItems = default!;

private async Task<SidebarDataProviderResult> SidebarDataProvider(SidebarDataProviderRequest request)
{
Expand All @@ -29,29 +29,55 @@

return await Task.FromResult(request.ApplyTo(navItems));
}


private IEnumerable<NavItem> GetNavItems()
{
navItems = new List<NavItem>
yield return new NavItem
{
new NavItem { Id = "1", Href = "/getting-started", IconName = IconName.HouseDoorFill, Text = "Getting Started"},

new NavItem { Id = "2", IconName = IconName.LayoutSidebarInset, Text = "Content", IconColor = IconColor.Primary },
new NavItem { Id = "3", Href = "/icons", IconName = IconName.PersonSquare, Text = "Icons", ParentId="2"},
Href = "/getting-started",
IconName = IconName.HouseDoorFill,
Text = "Getting Started"
};

new NavItem { Id = "4", IconName = IconName.ExclamationTriangleFill, Text = "Components", IconColor = IconColor.Success },
new NavItem { Id = "5", Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts", ParentId="4"},
new NavItem { Id = "6", Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb", ParentId="4"},
new NavItem { Id = "7", Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar", ParentId="4"},
yield return new NavItem
{
IconName = IconName.LayoutSidebarInset,
Text = "Content",
IconColor = IconColor.Primary,
ChildItems = new List<NavItem>
{
new NavItem { Href = "/icons", IconName = IconName.PersonSquare, Text = "Icons" },
}
};

new NavItem { Id = "8", IconName = IconName.WindowPlus, Text = "Forms", IconColor = IconColor.Danger },
new NavItem { Id = "9", Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete", ParentId="8"},
new NavItem { Id = "10", Href = "/currency-input", IconName = IconName.CurrencyDollar, Text = "Currency Input", ParentId="8"},
new NavItem { Id = "11", Href = "/number-input", IconName = IconName.InputCursor, Text = "Number Input", ParentId="8"},
new NavItem { Id = "12", Href = "/switch", IconName = IconName.ToggleOn, Text = "Switch", ParentId="8"},
yield return new NavItem
{
IconName = IconName.ExclamationTriangleFill,
Text = "Components",
IconColor = IconColor.Success,
ChildItems = new List<NavItem>
{
new NavItem { Href = "/alerts", IconName = IconName.CheckCircleFill, Text = "Alerts" },
new NavItem { Href = "/breadcrumb", IconName = IconName.SegmentedNav, Text = "Breadcrumb" },
new NavItem { Href = "/sidebar", IconName = IconName.LayoutSidebarInset, Text = "Sidebar" },
}
};

return navItems;
yield return new NavItem
{

IconName = IconName.WindowPlus,
Text = "Forms",
IconColor = IconColor.Danger,
ChildItems = new List<NavItem>
{
new NavItem { Href = "/autocomplete", IconName = IconName.InputCursorText, Text = "Auto Complete" },
new NavItem { Href = "/currency-input", IconName = IconName.CurrencyDollar, Text = "Currency Input" },
new NavItem { Href = "/number-input", IconName = IconName.InputCursor, Text = "Number Input" },
new NavItem { Href = "/switch", IconName = IconName.ToggleOn, Text = "Switch" },
}
};
}

private void ToggleSidebar() => sidebar.ToggleSidebar();
Expand Down
Loading