From 3a6cd161c95bd15e2e49f673669a923223aab1d4 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 7 Feb 2024 16:21:24 +0800 Subject: [PATCH] Update `AbpStyles` and `AbpScripts` to support `WebAssembly` assets. --- .../Bundling/AbpScripts.razor | 13 +++++++++++-- .../Bundling/AbpStyles.razor | 14 +++++++++++--- .../WebAssemblyComponentBundleManager.cs | 4 ++-- .../Cli/Commands/ProjectCreationCommandBase.cs | 4 ++++ ...panyName.MyProjectName.Blazor.Client.csproj | 2 +- ...e.MyProjectName.Blazor.WebApp.Client.csproj | 2 +- ...jectName.Blazor.WebApp.Tiered.Client.csproj | 2 +- .../Components/App.razor | 17 +++++++++++++++-- ...e.MyProjectName.Blazor.WebApp.Tiered.csproj | 4 ++-- .../Components/App.razor | 18 ++++++++++++++++-- ...panyName.MyProjectName.Blazor.WebApp.csproj | 4 ++-- 11 files changed, 66 insertions(+), 18 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpScripts.razor b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpScripts.razor index 36b66fa8e8..f9fb5a51e9 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpScripts.razor +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpScripts.razor @@ -10,17 +10,26 @@ } @code { - private IReadOnlyList? ScriptFiles { get; set; } + [Parameter] + public List? WebAssemblyScriptFiles { get; set; } [Parameter] public string? BundleName { get; set; } + private List? ScriptFiles { get; set; } + protected override async Task OnInitializedAsync() { + if (OperatingSystem.IsBrowser() && WebAssemblyScriptFiles != null) + { + ScriptFiles = WebAssemblyScriptFiles; + return; + } + if (BundleName == null) { throw new AbpException("The BundleName parameter of the AbpScripts component can not be null!"); } - ScriptFiles = await BundleManager.GetScriptBundleFilesAsync(BundleName!); + ScriptFiles = (await BundleManager.GetScriptBundleFilesAsync(BundleName!)).ToList(); } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor index cc98f0cf84..1b895ea894 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor @@ -10,18 +10,26 @@ } @code { - private IReadOnlyList? StyleFiles { get; set; } + [Parameter] + public List? WebAssemblyStyleFiles { get; set; } [Parameter] public string? BundleName { get; set; } + private List? StyleFiles { get; set; } + protected override async Task OnInitializedAsync() { + if (OperatingSystem.IsBrowser() && WebAssemblyStyleFiles != null) + { + StyleFiles = WebAssemblyStyleFiles; + return; + } + if (BundleName == null) { throw new AbpException("The BundleName parameter of the AbpStyles component can not be null!"); } - - StyleFiles = await BundleManager.GetStyleBundleFilesAsync(BundleName!); + StyleFiles = (await BundleManager.GetStyleBundleFilesAsync(BundleName!)).ToList(); } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/WebAssemblyComponentBundleManager.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/WebAssemblyComponentBundleManager.cs index 37764d92c7..db3434b1b1 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/WebAssemblyComponentBundleManager.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/WebAssemblyComponentBundleManager.cs @@ -9,11 +9,11 @@ public class WebAssemblyComponentBundleManager : IComponentBundleManager, ITrans { public virtual Task> GetStyleBundleFilesAsync(string bundleName) { - return Task.FromResult>(new List {"global.css", "main.css"}); + return Task.FromResult>(new List()); } public virtual Task> GetScriptBundleFilesAsync(string bundleName) { - return Task.FromResult>(new List {"global.js"}); + return Task.FromResult>(new List()); } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs index 6466b3616f..91c45be2d3 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs @@ -462,6 +462,10 @@ public abstract class ProjectCreationCommandBase { path = Path.Combine(path, "host"); searchPattern = "*.Blazor.Host.csproj"; + if (Directory.GetFiles(path, "*.Blazor.Host.Client.csproj", SearchOption.AllDirectories).Any()) + { + searchPattern = "*.Blazor.Host.Client.csproj"; + } } else if (MicroserviceTemplateBase.IsMicroserviceTemplate(projectArgs.TemplateName)) { diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj index 0c426d1fdc..561d40337f 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj @@ -24,7 +24,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj index fe2cc4d16f..fbf85ef244 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj @@ -25,7 +25,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj index cfb42af11f..1a23d28fb2 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj @@ -25,7 +25,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/Components/App.razor b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/Components/App.razor index 204cd3bb6a..5eb109de33 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/Components/App.razor +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/Components/App.razor @@ -20,7 +20,7 @@ MyCompanyName.MyProjectName.Blazor.Server - + @@ -29,7 +29,7 @@ - + @@ -50,6 +50,19 @@ @code{ + private List GlobalStyles => + [ + "global.css", + "main.css", + "blazor-global-styles.css" + ]; + + private List GlobalScripts => + [ + "global.js", + "global.js" + ]; + [CascadingParameter] private HttpContext HttpContext { get; set; } = default!; diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj index 97cccb6ba1..5452b5cde9 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj @@ -32,8 +32,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/Components/App.razor b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/Components/App.razor index 63082fc338..a6a740f149 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/Components/App.razor +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/Components/App.razor @@ -17,7 +17,7 @@ MyCompanyName.MyProjectName.Blazor.Server - + @@ -26,7 +26,7 @@ - + @@ -45,3 +45,17 @@ +@code{ + private List GlobalStyles => + [ + "global.css", + "main.css", + "blazor-global-styles.css" + ]; + + private List GlobalScripts => + [ + "global.js", + "global.js" + ]; +} diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj index ae57f73375..aedabfce5c 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj @@ -30,8 +30,8 @@ - - + +