From 8a8453ca24cd88e4a7d0fe1f1224afd73faa6866 Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Mon, 5 Apr 2021 16:03:20 +0300 Subject: [PATCH] page header documentation has been added. --- docs/en/UI/Blazor/Page-Header.md | 89 +++++++++++++++++- docs/en/images/page-header-toolbar-blazor.png | Bin 0 -> 22962 bytes 2 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 docs/en/images/page-header-toolbar-blazor.png diff --git a/docs/en/UI/Blazor/Page-Header.md b/docs/en/UI/Blazor/Page-Header.md index 2c7921bbd2..59748b717a 100644 --- a/docs/en/UI/Blazor/Page-Header.md +++ b/docs/en/UI/Blazor/Page-Header.md @@ -1,3 +1,90 @@ # Blazor UI: Page Header -TODO \ No newline at end of file +You can use the`PageHeader` component to set the page title, the breadcrumb items and the toolbar items for a page. Before using the `PageHeader` component, you need to add a using statement for the `Volo.Abp.AspNetCore.Components.Web.Theming.Layout` namespace. + +Once you add the `PageHeader` component to your page, you can control the related values using the parameters. + +## Page Title + + You can use the `Title` parameter to control the page header. + +```csharp + + +``` + +## Breadcrumb + +> **The [Basic Theme](Basic-Theme.md) currently doesn't implement the breadcrumbs.** + +Breadcrumbs can be added using the `BreadcrumbItems` property. + +**Example: Add Language Management to the breadcrumb items.** + +Create a collection of `Volo.Abp.BlazoriseUI.BreadcrumbItem` objects and set the collection to the `BreadcrumbItems` parameter. + +```csharp +public partial class Index +{ + protected List BreadcrumbItems { get; } = new(); + + protected override void OnInitialized() + { + BreadcrumbItems.Add(new BreadcrumbItem("Language Management")); + } +} +``` + +Navigate back to the razor page. + +```csharp + +``` + +The theme then renders the breadcrumb. An example render result can be: + +![breadcrumbs-example](../../images/breadcrumbs-example.png) + +* The Home icon is rendered by default. Set `BreadcrumbShowHome` to `false` to hide it. +* Breadcrumb items will be activated based on current navigation. Set `BreadcrumbShowCurrent` to `false` to disable it. + +You can add as many items as you need. `BreadcrumbItem` constructor gets three parameters: + +* `text`: The text to show for the breadcrumb item. +* `url` (optional): A URL to navigate to, if the user clicks to the breadcrumb item. +* `icon` (optional): An icon class (like `fas fa-user-tie` for Font-Awesome) to show with the `text`. + +## Page Toolbar + +Page toolbar can be set using the `Toolbar` property. + +**Example: Add a "New Item" toolbar item to the page toolbar.** + +Create a `PageToolbar` object and define toolbar items using the `AddButton` extension method. + +```csharp +public partial class Index +{ + protected PageToolbar Toolbar { get; } = new(); + + protected override void OnInitialized() + { + Toolbar.AddButton("New Item", () => + { + //Write your click action here + return Task.CompletedTask; + }, icon:IconName.Add); + } +} +``` + +Navigate back to the razor page and set the `Toolbar` parameter. + +```csharp + +``` + +An example render result can be: + +![breadcrumbs-example](../../images/page-header-toolbar-blazor.png) + diff --git a/docs/en/images/page-header-toolbar-blazor.png b/docs/en/images/page-header-toolbar-blazor.png new file mode 100644 index 0000000000000000000000000000000000000000..a4d045489374545fe634c15812b2959a5e81af45 GIT binary patch literal 22962 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