From e3d491e326006be498a025a315acc2c2847ca405 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 1 Mar 2022 23:27:59 +0800 Subject: [PATCH] Add a test UI --- README.md | 13 +- img/left1.png | Bin 0 -> 69741 bytes img/left2.png | Bin 0 -> 79421 bytes img/top1.png | Bin 0 -> 66125 bytes img/top2.png | Bin 0 -> 66382 bytes ...re.Components.Server.AntDesignTheme.csproj | 2 +- .../AbpAntDesignThemeOptions.cs | 2 +- .../Layout/AbpPageHeader.razor | 66 ++++----- .../Layout/PageLayout.cs | 6 +- .../Themes/AntDesignTheme/Branding.razor | 19 ++- .../Themes/AntDesignTheme/Branding.razor.cs | 9 ++ .../Themes/AntDesignTheme/DefaultLayout.razor | 56 +++++--- .../Themes/AntDesignTheme/MainMenu.razor | 2 +- .../Themes/AntDesignTheme/MainMenu.razor.cs | 3 + .../Themes/AntDesignTheme/MainMenuItem.razor | 6 +- .../Themes/AntDesignTheme/NavToolbar.razor | 4 + .../Themes/AntDesignTheme/NavToolbar.razor.cs | 53 ++++++++ .../wwwroot/libs/abp/css/theme.css | 111 +++++++++++++++ ...mponentsWebAssemblyAntDesignThemeModule.cs | 15 ++- .../AntDesignThemeToolbarContributor.cs | 28 ++++ .../ComponentsComponentsBundleContributor.cs | 2 +- ...mponents.WebAssembly.AntDesignTheme.csproj | 13 +- .../Pages/Authentication.razor | 7 + .../AntDesignTheme/LanguageSwitch.razor | 79 +++++++++++ .../Themes/AntDesignTheme/LoginDisplay.razor | 46 +++++++ .../AntDesignTheme/LoginDisplay.razor.cs | 76 +++++++++++ .../Themes/AntDesignTheme/_Imports.razor | 2 + .../AntDesignUiNotificationService.cs | 2 +- .../Components/EntityAction.razor.cs | 4 +- .../Components/PageAlert.razor | 4 +- .../Components/ToolbarButton.razor | 2 +- .../Components/UiPageProgress.razor | 29 ++-- .../Components/UiPageProgress.razor.cs | 35 ++++- src/Lsw.Abp.AntDesignUI/_Imports.razor | 9 +- .../AntDesignAppBrandBrandingProvider.cs | 12 ++ .../AntDesignUIAppMenuContributor.cs | 36 +++++ test/AntDesignUIApp/AntDesignUIAppModule.cs | 7 + ...keAbpApplicationConfigurationAppService.cs | 6 +- test/AntDesignUIApp/Pages/Index.razor | 7 +- test/AntDesignUIApp/Pages/Index.razor.cs | 26 ++++ test/AntDesignUIApp/Pages/Roles.razor | 6 + test/AntDesignUIApp/Pages/Roles.razor.cs | 18 +++ test/AntDesignUIApp/Pages/Users.razor | 6 + test/AntDesignUIApp/Pages/Users.razor.cs | 18 +++ test/AntDesignUIApp/wwwroot/global.css | 126 +++++++++++++++++- test/AntDesignUIApp/wwwroot/index.html | 4 +- test/AntDesignUIApp/wwwroot/logo.svg | 43 ++++++ 47 files changed, 912 insertions(+), 108 deletions(-) create mode 100644 img/left1.png create mode 100644 img/left2.png create mode 100644 img/top1.png create mode 100644 img/top2.png create mode 100644 modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor.cs create mode 100644 modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/NavToolbar.razor create mode 100644 modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/NavToolbar.razor.cs create mode 100644 modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/AntDesignThemeToolbarContributor.cs create mode 100644 modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Pages/Authentication.razor create mode 100644 modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LanguageSwitch.razor create mode 100644 modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LoginDisplay.razor create mode 100644 modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LoginDisplay.razor.cs create mode 100644 modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/_Imports.razor create mode 100644 test/AntDesignUIApp/AntDesignAppBrandBrandingProvider.cs create mode 100644 test/AntDesignUIApp/AntDesignUIAppMenuContributor.cs create mode 100644 test/AntDesignUIApp/Pages/Roles.razor create mode 100644 test/AntDesignUIApp/Pages/Roles.razor.cs create mode 100644 test/AntDesignUIApp/Pages/Users.razor create mode 100644 test/AntDesignUIApp/Pages/Users.razor.cs create mode 100644 test/AntDesignUIApp/wwwroot/logo.svg diff --git a/README.md b/README.md index 4a9024f..8a8a1e8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ # Lsw.Abp.AntDesignUI - + +## Still in progress! + +An Abp Blazor Theme based [Ant-Design-Blazor](https://github.com/ant-design-blazor/ant-design-blazor) + +![left1](img/left1.png) + +![left2](img/left2.png) + +![top1](img/top1.png) + +![top2](img/top2.png) \ No newline at end of file diff --git a/img/left1.png b/img/left1.png new file mode 100644 index 0000000000000000000000000000000000000000..6d006a39f625906b4a178180a9c5a23b29d6b000 GIT binary patch literal 69741 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

y>O_)7q4#&zoY*{O2LkuulXDhyI-z)f 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 literal 0 HcmV?d00001 diff --git a/img/left2.png b/img/left2.png new file mode 100644 index 0000000000000000000000000000000000000000..1d0b7163f3471ce59f88736bc2f2a5ea9654a7d1 GIT binary patch literal 79421 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 C_-R%E literal 0 HcmV?d00001 diff --git a/img/top1.png b/img/top1.png new file mode 100644 index 0000000000000000000000000000000000000000..0f82b4504222edae0c72ef3c681cfd0a4c7a9def GIT binary patch literal 66125 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

l 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 literal 0 HcmV?d00001 diff --git a/img/top2.png b/img/top2.png new file mode 100644 index 0000000000000000000000000000000000000000..b672b703073ed6acb43d319a1ece0e6b2c16e92f GIT binary patch literal 66382 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 MPWgWRy=Slg7dJMJn*aa+ literal 0 HcmV?d00001 diff --git a/modules/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj b/modules/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj index 7d86637..622c311 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj +++ b/modules/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj @@ -17,7 +17,7 @@ - + diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAntDesignThemeOptions.cs b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAntDesignThemeOptions.cs index 038c16f..8c1559b 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAntDesignThemeOptions.cs +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAntDesignThemeOptions.cs @@ -21,7 +21,7 @@ public class MenuOptions public MenuOptions() { Theme = MenuTheme.Light; - Place = MenuPlace.Top; + Place = MenuPlace.Left; } public MenuMode GetMode() diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/AbpPageHeader.razor b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/AbpPageHeader.razor index f31a461..772305c 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/AbpPageHeader.razor +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/AbpPageHeader.razor @@ -1,50 +1,50 @@ @using Microsoft.Extensions.Options @inject IOptions Options - - - @if (Options.Value.RenderPageTitle) - { - @PageLayout.Title - } - - @if (Options.Value.RenderBreadcrumbs && PageLayout.BreadcrumbItems.Any()) - { - @if (BreadcrumbShowHome) + + + + @if (Options.Value.RenderBreadcrumbs && PageLayout.BreadcrumbItems.Any()) { - - - - } - @foreach (var item in PageLayout.BreadcrumbItems) - { - - @if (!item.Icon.IsNullOrWhiteSpace()) - { - - } - @item.Text - + @if (BreadcrumbShowHome) + { + + + + } + @foreach (var item in PageLayout.BreadcrumbItems) + { + + @if (!item.Icon.IsNullOrWhiteSpace()) + { + + } + @item.Text + + } } - } - - - @if (Options.Value.RenderToolbar) - { -
+ + + + + @if (Options.Value.RenderToolbar) + { @if (Toolbar == null) { @ChildContent } - @foreach (var toolbarItemRender in ToolbarItemRenders) { -
+
@toolbarItemRender
} -
- } + } +
+@if (Options.Value.RenderPageTitle) +{ +
@PageLayout.Title
+} diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageLayout.cs b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageLayout.cs index 4f0a0ff..5a6cfcb 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageLayout.cs +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageLayout.cs @@ -8,15 +8,15 @@ namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout; public class PageLayout : IScopedDependency, INotifyPropertyChanged { - private string title; + private string _title; // TODO: Consider using this property for setting Page Title too. public virtual string Title { - get => title; + get => _title; set { - title = value; + _title = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Title))); } } diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor index 4baf819..2af5849 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor @@ -1,10 +1,15 @@ @using Volo.Abp.Ui.Branding @inject IBrandingProvider BrandingProvider + - - @if (!BrandingProvider.LogoUrl.IsNullOrWhiteSpace()) - { - @BrandingProvider.AppName - } - @BrandingProvider.AppName - diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor.cs b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor.cs new file mode 100644 index 0000000..4b4675d --- /dev/null +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor.cs @@ -0,0 +1,9 @@ +using Microsoft.AspNetCore.Components; + +namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Themes.AntDesignTheme; + +public partial class Branding +{ + [Parameter] + public bool Collapsed { get; set; } +} diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor index ba84a2f..6efa5cd 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor @@ -2,45 +2,69 @@ @using Microsoft.Extensions.Options @inject IOptions Options +@{ + var sideTheme = Options.Value.Menu.Theme == MenuTheme.Light ? SiderTheme.Light : SiderTheme.Dark; + var light = Options.Value.Menu.Theme == MenuTheme.Light; +} + @if (Options.Value.Menu.Place == MenuOptions.MenuPlace.Top) { + var headerTopClass = light ? "ant-design-header-top ant-design-header-top-light" : "ant-design-header-top"; -
+
- + + + + +
- @Body +
+ @Body +
-
Footer
+
} else { + var headerLeftClass = light ? "ant-design-header-left ant-design-header-left-light" : "ant-design-header-left"; - - + + -
- @if (Collapsed) - { - - } - else - { - - } +
+
+ @if (Collapsed) + { + + } + else + { + + } +
+ + + + +
- @Body +
+ @Body +
diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenu.razor b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenu.razor index 25e58bc..ddc4552 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenu.razor +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenu.razor @@ -1,4 +1,4 @@ - + @if (Menu != null) { foreach (var menu in Menu.Items) diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenu.razor.cs b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenu.razor.cs index 5506e88..34c1933 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenu.razor.cs +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenu.razor.cs @@ -19,6 +19,9 @@ public partial class MainMenu : IDisposable [Inject] protected AuthenticationStateProvider AuthenticationStateProvider { get; set; } + + [Parameter] + public bool Collapsed { get; set; } protected override async Task OnInitializedAsync() { diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenuItem.razor b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenuItem.razor index 102102b..1d8fa5a 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenuItem.razor +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenuItem.razor @@ -7,17 +7,17 @@ if (Menu.IsLeaf && Menu.Url != null) { - + @if (Menu.Icon != null) { } - @Menu.Name + @Menu.Name } else { - + @foreach (var menuItem in Menu.Items) { diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/NavToolbar.razor b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/NavToolbar.razor new file mode 100644 index 0000000..ffabc44 --- /dev/null +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/NavToolbar.razor @@ -0,0 +1,4 @@ +@foreach (var render in ToolbarItemRenders) +{ + @render +} diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/NavToolbar.razor.cs b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/NavToolbar.razor.cs new file mode 100644 index 0000000..4407dce --- /dev/null +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/NavToolbar.razor.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; +using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Authorization; + +namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Themes.AntDesignTheme; + +public partial class NavToolbar: IDisposable +{ + [Inject] + private IToolbarManager ToolbarManager { get; set; } + + [Inject] + private AuthenticationStateProvider AuthenticationStateProvider { get; set; } + + private List ToolbarItemRenders { get; set; } = new(); + + protected override async Task OnInitializedAsync() + { + await GetToolbarItemRendersAsync(); + AuthenticationStateProvider.AuthenticationStateChanged += AuthenticationStateProviderOnAuthenticationStateChanged; + } + + private async Task GetToolbarItemRendersAsync() + { + var toolbar = await ToolbarManager.GetAsync(StandardToolbars.Main); + + ToolbarItemRenders.Clear(); + + var sequence = 0; + foreach (var item in toolbar.Items) + { + ToolbarItemRenders.Add(builder => + { + builder.OpenComponent(sequence++, item.ComponentType); + builder.CloseComponent(); + }); + } + } + + private async void AuthenticationStateProviderOnAuthenticationStateChanged(Task task) + { + await GetToolbarItemRendersAsync(); + await InvokeAsync(StateHasChanged); + } + + public void Dispose() + { + AuthenticationStateProvider.AuthenticationStateChanged -= AuthenticationStateProviderOnAuthenticationStateChanged; + } +} diff --git a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/wwwroot/libs/abp/css/theme.css b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/wwwroot/libs/abp/css/theme.css index 4ff87c6..1d1017a 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/wwwroot/libs/abp/css/theme.css +++ b/modules/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/wwwroot/libs/abp/css/theme.css @@ -6,9 +6,120 @@ body, app { height: 100%; } + .colorWeak { filter: invert(80%); } + .ant-layout { min-height: 100vh; } + +.ant-design-header-top { + background-color: #001529; +} + +.ant-design-header-top-light { + background-color: #fff; +} + +.ant-design-header-left { + background-color: white; + box-shadow: 0 1px 4px rgb(0 21 41 / 8%) +} + +.ant-design-header-left-light { + background-color: #001529; +} + +.ant-design-body-content { + margin: 16px 50px; +} + +.ant-design-footer { + text-align: center; +} + +.page-content { + min-height: 80vh; + background: #fff; + padding: 24px; + margin-top: 8px; +} + +.ant-design-page-title { + font-size: 20px; + font-weight: 600; + margin-top: 8px; +} + +.ant-design-header-left .trigger { + font-size: 18px; + line-height: 64px; + cursor: pointer; + transition: color 0.3s; +} + +.ant-design-header-left .trigger:hover { + color: #1890ff; +} + +.ant-design-header-left-light .trigger { + color: white; +} + +.ant-design-side .ant-design-brand { + font-size: 15px; + font-weight: 600; + display: flex; + padding: 16px 16px; + cursor: pointer; +} + +.ant-design-side .ant-design-brand img { + display: inline-block; + height: 35px +} + +.ant-design-side .ant-design-brand h1 { + display: inline-block; + color: white; + margin: 0 0 0 12px; +} + +.ant-layout-sider-light .ant-design-brand h1 { + color: #001529; +} + +.ant-design-header-top .ant-design-brand img { + display: inline-block; + height: 35px +} + +.ant-design-header-top .ant-design-brand { + position: relative; + float: left; + min-width: 170px; +} + +.ant-design-header-top .ant-design-brand h1 { + display: inline-block; + color: white; + margin: 0 0 0 12px; + font-weight: 400; + font-size: 15px; + vertical-align: top; +} + +.ant-design-header-top-light .ant-design-brand h1 { + color: #001529; +} + +.ant-design-header-top .ant-menu-root{ + margin-left: 20px; + float: left; +} + +.abp-application-layout .ant-menu-sub li{ + min-width: 120px; +} diff --git a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule.cs b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule.cs index f34b51c..fd31b3f 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule.cs +++ b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule.cs @@ -1,4 +1,6 @@ using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme; +using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing; +using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; using Volo.Abp.AspNetCore.Components.WebAssembly; using Volo.Abp.Modularity; @@ -10,5 +12,16 @@ namespace Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; )] public class AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule : AbpModule { - + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.AdditionalAssemblies.Add(typeof(AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule).Assembly); + }); + + Configure(options => + { + options.Contributors.Add(new AntDesignThemeToolbarContributor()); + }); + } } diff --git a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/AntDesignThemeToolbarContributor.cs b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/AntDesignThemeToolbarContributor.cs new file mode 100644 index 0000000..3891372 --- /dev/null +++ b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/AntDesignThemeToolbarContributor.cs @@ -0,0 +1,28 @@ +using System.Threading.Tasks; +using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; +using Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.Themes.AntDesignTheme; +using Microsoft.AspNetCore.Components.Authorization; +using Microsoft.Extensions.DependencyInjection; + +namespace Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; + +public class AntDesignThemeToolbarContributor: IToolbarContributor +{ + public Task ConfigureToolbarAsync(IToolbarConfigurationContext context) + { + if (context.Toolbar.Name == StandardToolbars.Main) + { + context.Toolbar.Items.Add(new ToolbarItem(typeof(LanguageSwitch))); + + var authenticationStateProvider = context.ServiceProvider + .GetRequiredService(); + + if (authenticationStateProvider != null) + { + context.Toolbar.Items.Add(new ToolbarItem(typeof(LoginDisplay))); + } + } + + return Task.CompletedTask; + } +} diff --git a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/ComponentsComponentsBundleContributor.cs b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/ComponentsComponentsBundleContributor.cs index 626474c..fa39885 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/ComponentsComponentsBundleContributor.cs +++ b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/ComponentsComponentsBundleContributor.cs @@ -6,7 +6,7 @@ public class ComponentsComponentsBundleContributor : IBundleContributor { public void AddScripts(BundleContext context) { - //context.Add("_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js"); + context.Add("_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js"); context.Add("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/abp.js"); context.Add("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/lang-utils.js"); context.Add("_content/AntDesign/js/ant-design-blazor.js"); diff --git a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj index 87781df..6362563 100644 --- a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj +++ b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj @@ -1,20 +1,21 @@ - + net6.0 - + - - - - + + + + + diff --git a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Pages/Authentication.razor b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Pages/Authentication.razor new file mode 100644 index 0000000..e237cea --- /dev/null +++ b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Pages/Authentication.razor @@ -0,0 +1,7 @@ +@page "/authentication/{action}" +@using Microsoft.AspNetCore.Components.WebAssembly.Authentication + + +@code{ + [Parameter] public string Action { get; set; } +} diff --git a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LanguageSwitch.razor b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LanguageSwitch.razor new file mode 100644 index 0000000..a9a5aeb --- /dev/null +++ b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LanguageSwitch.razor @@ -0,0 +1,79 @@ +@using Volo.Abp.Localization +@using System.Collections.Immutable +@using System.Globalization +@using Microsoft.JSInterop +@inject ILanguageProvider LanguageProvider +@inject IJSRuntime JsRuntime + +@if (_otherLanguages != null && _otherLanguages.Any()) +{ + + + + @foreach (var language in _otherLanguages) + { + + @language.DisplayName + + } + + + + + @_currentLanguage.DisplayName + + + +} + +@code { + private IReadOnlyList _otherLanguages; + private LanguageInfo _currentLanguage; + + protected override async Task OnInitializedAsync() + { + var selectedLanguageName = await JsRuntime.InvokeAsync( + "localStorage.getItem", + "Abp.SelectedLanguage" + ); + + _otherLanguages = await LanguageProvider.GetLanguagesAsync(); + + if (!_otherLanguages.Any()) + { + return; + } + + if (!selectedLanguageName.IsNullOrWhiteSpace()) + { + _currentLanguage = _otherLanguages.FirstOrDefault(l => l.UiCultureName == selectedLanguageName); + } + + if (_currentLanguage == null) + { + _currentLanguage = _otherLanguages.FirstOrDefault(l => l.UiCultureName == CultureInfo.CurrentUICulture.Name); + } + + if (_currentLanguage == null) + { + _currentLanguage = _otherLanguages.FirstOrDefault(); + } + + _otherLanguages = _otherLanguages.Where(l => l != _currentLanguage).ToImmutableList(); + } + + protected virtual async Task ChangeLanguageAsync(LanguageInfo language) + { + await JsRuntime.InvokeVoidAsync( + "localStorage.setItem", + "Abp.SelectedLanguage", language.UiCultureName + ); + + await JsRuntime.InvokeVoidAsync( + "localStorage.setItem", + "Abp.IsRtl", CultureInfo.GetCultureInfo(language.UiCultureName).TextInfo.IsRightToLeft + ); + + await JsRuntime.InvokeVoidAsync("location.reload"); + } +} diff --git a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LoginDisplay.razor b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LoginDisplay.razor new file mode 100644 index 0000000..6d7d865 --- /dev/null +++ b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LoginDisplay.razor @@ -0,0 +1,46 @@ +@using global::Localization.Resources.AbpUi +@using Microsoft.Extensions.Localization +@* @using Microsoft.AspNetCore.Components.Authorization *@ +@using Microsoft.JSInterop +@inherits Volo.Abp.AspNetCore.Components.AbpComponentBase +@inject IJSRuntime JsRuntime +@inject NavigationManager Navigation +@inject IStringLocalizer UiLocalizer + + + + + + + @if (Menu != null) + { + @foreach (var menuItem in Menu.Items) + { + + @menuItem.DisplayName + + } + } + + + @UiLocalizer["Logout"] + + + + + @* @if (CurrentTenant.Name != null) *@ + @* { *@ + @* @CurrentTenant.Name\@CurrentUser.UserName *@ + @* } *@ + @* else *@ + @* { *@ + @* @CurrentUser.UserName *@ + @* } *@ + @* *@ + + + + + @UiLocalizer["Login"] + + diff --git a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LoginDisplay.razor.cs b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LoginDisplay.razor.cs new file mode 100644 index 0000000..e1e6487 --- /dev/null +++ b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/LoginDisplay.razor.cs @@ -0,0 +1,76 @@ +using System; +using System.Threading.Tasks; +using JetBrains.Annotations; +using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Authorization; +using Microsoft.AspNetCore.Components.Routing; +using Microsoft.AspNetCore.Components.WebAssembly.Authentication; +using Microsoft.JSInterop; +using Volo.Abp.UI.Navigation; + +namespace Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.Themes.AntDesignTheme; + +public partial class LoginDisplay : IDisposable +{ + [Inject] + protected IMenuManager MenuManager { get; set; } + + [Inject] + public AuthenticationStateProvider AuthenticationStateProvider { get; set; } + + [CanBeNull] + protected SignOutSessionStateManager SignOutManager; + + protected ApplicationMenu Menu { get; set; } + + protected override async Task OnInitializedAsync() + { + Menu = await MenuManager.GetAsync(StandardMenus.User); + + Navigation.LocationChanged += OnLocationChanged; + + LazyGetService(ref SignOutManager); + + AuthenticationStateProvider.AuthenticationStateChanged += + AuthenticationStateProviderOnAuthenticationStateChanged; + } + + protected virtual void OnLocationChanged(object sender, LocationChangedEventArgs e) + { + InvokeAsync(StateHasChanged); + } + + private async void AuthenticationStateProviderOnAuthenticationStateChanged(Task task) + { + Menu = await MenuManager.GetAsync(StandardMenus.User); + await InvokeAsync(StateHasChanged); + } + + public void Dispose() + { + Navigation.LocationChanged -= OnLocationChanged; + AuthenticationStateProvider.AuthenticationStateChanged -= + AuthenticationStateProviderOnAuthenticationStateChanged; + } + + private async Task NavigateToAsync(string uri, string target = null) + { + if (target == "_blank") + { + await JsRuntime.InvokeVoidAsync("open", uri, target); + } + else + { + Navigation.NavigateTo(uri); + } + } + + private async Task BeginSignOut() + { + if (SignOutManager != null) + { + await SignOutManager.SetSignOutState(); + await NavigateToAsync("authentication/logout"); + } + } +} diff --git a/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/_Imports.razor b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/_Imports.razor new file mode 100644 index 0000000..c2316af --- /dev/null +++ b/modules/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/_Imports.razor @@ -0,0 +1,2 @@ +@using Microsoft.AspNetCore.Components.Web +@using AntDesign diff --git a/src/Lsw.Abp.AntDesignUI/AntDesignUiNotificationService.cs b/src/Lsw.Abp.AntDesignUI/AntDesignUiNotificationService.cs index fe6a3d9..165baa8 100644 --- a/src/Lsw.Abp.AntDesignUI/AntDesignUiNotificationService.cs +++ b/src/Lsw.Abp.AntDesignUI/AntDesignUiNotificationService.cs @@ -13,7 +13,7 @@ namespace Lsw.Abp.AntDesignUI; public class AntDesignUiNotificationService: IUiNotificationService, IScopedDependency { [Inject] - protected NotificationService NoticeService { get; set; } + public NotificationService NoticeService { get; set; } private readonly IStringLocalizer _localizer; diff --git a/src/Lsw.Abp.AntDesignUI/Components/EntityAction.razor.cs b/src/Lsw.Abp.AntDesignUI/Components/EntityAction.razor.cs index 3e2de69..dd43c7d 100644 --- a/src/Lsw.Abp.AntDesignUI/Components/EntityAction.razor.cs +++ b/src/Lsw.Abp.AntDesignUI/Components/EntityAction.razor.cs @@ -42,10 +42,10 @@ public partial class EntityAction : ComponentBase public EntityActions ParentActions { get; set; } [Inject] - protected IAuthorizationService AuthorizationService { get; set; } + public IAuthorizationService AuthorizationService { get; set; } [Inject] - protected IUiMessageService UiMessageService { get; set; } + public IUiMessageService UiMessageService { get; set; } protected override async Task OnInitializedAsync() { diff --git a/src/Lsw.Abp.AntDesignUI/Components/PageAlert.razor b/src/Lsw.Abp.AntDesignUI/Components/PageAlert.razor index 1b63288..b00150f 100644 --- a/src/Lsw.Abp.AntDesignUI/Components/PageAlert.razor +++ b/src/Lsw.Abp.AntDesignUI/Components/PageAlert.razor @@ -16,10 +16,10 @@ private readonly List _messages = new(); [Inject] - protected IAlertManager AlertManager { get; set; } + public IAlertManager AlertManager { get; set; } [Inject] - protected NavigationManager NavigationManager { get; set; } + public NavigationManager NavigationManager { get; set; } protected override void OnInitialized() { diff --git a/src/Lsw.Abp.AntDesignUI/Components/ToolbarButton.razor b/src/Lsw.Abp.AntDesignUI/Components/ToolbarButton.razor index 6a36e84..62591eb 100644 --- a/src/Lsw.Abp.AntDesignUI/Components/ToolbarButton.razor +++ b/src/Lsw.Abp.AntDesignUI/Components/ToolbarButton.razor @@ -1,4 +1,4 @@ -
- + diff --git a/test/AntDesignUIApp/wwwroot/logo.svg b/test/AntDesignUIApp/wwwroot/logo.svg new file mode 100644 index 0000000..e9f8c2a --- /dev/null +++ b/test/AntDesignUIApp/wwwroot/logo.svg @@ -0,0 +1,43 @@ + + + + Group 28 Copy 5 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file