diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAntDesignThemeOptions.cs b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAntDesignThemeOptions.cs index 8595be3..09f4932 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAntDesignThemeOptions.cs +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAntDesignThemeOptions.cs @@ -7,6 +7,11 @@ public class AbpAntDesignThemeOptions { public MenuOptions Menu { get; set; } + /// + /// 是否启用多标签页 + /// + public bool EnableMultipleTabs { get; set; } + public AbpAntDesignThemeOptions() { Menu = new MenuOptions(); diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/App.razor b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/App.razor index 21cc949..207873b 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/App.razor +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/App.razor @@ -5,18 +5,20 @@ - - - @if (!context.User.Identity.IsAuthenticated) - { - - } - else - { -

You are not authorized to access this resource.

- } -
-
+ + + + @if (!context.User.Identity.IsAuthenticated) + { + + } + else + { +

You are not authorized to access this resource.

+ } +
+
+
diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor index ee7d209..01ce330 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor @@ -58,7 +58,13 @@ else
- @Body + @if (!Options.Value.EnableMultipleTabs){ + @Body + } + else + { + + }
diff --git a/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/Components/FeatureManagementModal.razor b/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/Components/FeatureManagementModal.razor index b7b8052..cbd7405 100644 --- a/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/Components/FeatureManagementModal.razor +++ b/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/Components/FeatureManagementModal.razor @@ -1,9 +1,11 @@ @using AntDesign +@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme @using Microsoft.AspNetCore.Components @using Microsoft.Extensions.Localization +@using Microsoft.Extensions.Options @using Volo.Abp.Validation.StringValues @inherits AbpFeatureManagementComponentBase - +@implements IReuseTabsPage + +@code { + public RenderFragment GetPageTitle() => + @
L["Features"]
; +} \ No newline at end of file diff --git a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/RoleManagement.razor b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/RoleManagement.razor index 54385da..dd0fc52 100644 --- a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/RoleManagement.razor +++ b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/RoleManagement.razor @@ -1,14 +1,16 @@ @page "/identity/roles" @attribute [Authorize(IdentityPermissions.Roles.Default)] +@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme @using Microsoft.AspNetCore.Authorization +@using Microsoft.Extensions.Options @using Volo.Abp.Identity @using Volo.Abp.Identity.Localization @using Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.Components @using Volo.Abp.AspNetCore.Components.Web @inject AbpBlazorMessageLocalizerHelper LH @inherits AbpCrudPageBase - - +@implements IReuseTabsPage +
+} + +@code { + public RenderFragment GetPageTitle() => + @
@L["Roles"]
; } \ No newline at end of file diff --git a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/UserManagement.razor b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/UserManagement.razor index d76e5dd..e076f17 100644 --- a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/UserManagement.razor +++ b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/UserManagement.razor @@ -1,13 +1,15 @@ @page "/identity/users" @attribute [Authorize(IdentityPermissions.Users.Default)] +@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme @using Microsoft.AspNetCore.Authorization @using Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.Components +@using Microsoft.Extensions.Options @using Volo.Abp.Identity @using Volo.Abp.Identity.Localization @inject AbpBlazorMessageLocalizerHelper LH @inherits AbpCrudPageBase - - +@implements IReuseTabsPage +
+} + +@code { + public RenderFragment GetPageTitle() => + @
@L["Users"]
; } \ No newline at end of file diff --git a/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Pages/SettingManagement/SettingManagement.razor b/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Pages/SettingManagement/SettingManagement.razor index f3d620d..e57266e 100644 --- a/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Pages/SettingManagement/SettingManagement.razor +++ b/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Pages/SettingManagement/SettingManagement.razor @@ -1,11 +1,13 @@ @page "/setting-management" +@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme @using Microsoft.AspNetCore.Authorization +@using Microsoft.Extensions.Options @using Volo.Abp.Features @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout @using Volo.Abp.SettingManagement @attribute [Authorize] @attribute [RequiresFeature(SettingManagementFeatures.Enable)] - +@implements IReuseTabsPage @@ -32,3 +34,8 @@
+ +@code { + public RenderFragment GetPageTitle() => + @
@L["Settings"]
; +} diff --git a/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/Pages/TenantManagement.razor b/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/Pages/TenantManagement.razor index 63cd59e..d2cd04c 100644 --- a/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/Pages/TenantManagement.razor +++ b/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/Pages/TenantManagement.razor @@ -8,6 +8,7 @@ @using Volo.Abp.TenantManagement @inject AbpBlazorMessageLocalizerHelper LH @inherits AbpCrudPageBase +@implements IReuseTabsPage @@ -63,4 +64,9 @@ @if (HasManageFeaturesPermission) { +} + +@code { + public RenderFragment GetPageTitle() => + @
@L["Tenants"]
; } \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.BlazorServer/BookStoreBlazorModule.cs b/samples/BookStore/src/BookStore.BlazorServer/BookStoreBlazorModule.cs index 12959f7..bea418f 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/BookStoreBlazorModule.cs +++ b/samples/BookStore/src/BookStore.BlazorServer/BookStoreBlazorModule.cs @@ -35,6 +35,7 @@ using Volo.Abp.UI.Navigation; using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; using Volo.Abp.Timing; +using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme; namespace BookStore.Blazor; @@ -75,7 +76,7 @@ public class BookStoreBlazorModule : AbpModule var configuration = context.Services.GetConfiguration(); Configure(options => options.Kind = DateTimeKind.Utc); - + Configure(options=> options.EnableMultipleTabs=true); ConfigureUrls(configuration); ConfigureBundles(); ConfigureAuthentication(context, configuration);