diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageHeader.razor b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageHeader.razor index d874da0901..755adadb9e 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageHeader.razor +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageHeader.razor @@ -1,9 +1,17 @@ @using Blazorise +@using Microsoft.Extensions.Options + +@inject IOptions Options + - -

@Title

-
- @if (BreadcrumbItems.Any()) + @if(Options.Value.RenderPageTitle) + { + +

@PageLayout.Title

+
+ } + + @if (Options.Value.RenderBreadcrumbs && PageLayout.BreadcrumbItems.Any()) { @@ -15,7 +23,7 @@ } - @foreach (var item in BreadcrumbItems) + @foreach (var item in PageLayout.BreadcrumbItems) { @@ -30,19 +38,23 @@ } - - - @if (Toolbar == null) - { - @ChildContent - } + + @if(Options.Value.RenderToolbar) + { + + + @if (Toolbar == null) + { + @ChildContent + } - @foreach (var toolbarItemRender in ToolbarItemRenders) - { - - @toolbarItemRender - - } - - + @foreach (var toolbarItemRender in ToolbarItemRenders) + { + + @toolbarItemRender + + } + + + }
diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageHeader.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageHeader.razor.cs index fd6bd50942..10fbc3bfb7 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageHeader.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Layout/PageHeader.razor.cs @@ -13,8 +13,11 @@ public partial class PageHeader : ComponentBase public IPageToolbarManager PageToolbarManager { get; set; } - [Parameter] - public string Title { get; set; } + [Inject] + public PageLayout PageLayout { get; private set; } + + [Parameter] // TODO: Consider removing this property in future and use only PageLayout. + public string Title { get => PageLayout.Title; set => PageLayout.Title = value; } [Parameter] public bool BreadcrumbShowHome { get; set; } = true; @@ -25,15 +28,17 @@ public partial class PageHeader : ComponentBase [Parameter] public RenderFragment ChildContent { get; set; } - [Parameter] - public List BreadcrumbItems { get; set; } + [Parameter] // TODO: Consider removing this property in future and use only PageLayout. + public List BreadcrumbItems { + get => PageLayout.BreadcrumbItems; + set => PageLayout.BreadcrumbItems = value; + } [Parameter] public PageToolbar Toolbar { get; set; } public PageHeader() { - BreadcrumbItems = new List(); ToolbarItemRenders = new List(); } @@ -45,6 +50,13 @@ public partial class PageHeader : ComponentBase var toolbarItems = await PageToolbarManager.GetItemsAsync(Toolbar); ToolbarItemRenders.Clear(); + if (!Options.Value.RenderToolbar) + { + PageLayout.ToolbarItems.Clear(); + PageLayout.ToolbarItems.AddRange(toolbarItems); + return; + } + foreach (var item in toolbarItems) { var sequence = 0;