From d5abc3f91b7312fddada68cdd60e106f2cdcd149 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 9 Feb 2026 16:42:48 +0800 Subject: [PATCH] Add MudBlazor theming support with bundling configuration and contributors --- framework/Volo.Abp.slnx | 2 + ...auiBlazorThemingMudBlazorBundlingModule.cs | 34 +++++++++++++++++ .../FodyWeavers.xml | 3 ++ .../FodyWeavers.xsd | 30 +++++++++++++++ .../MauiBlazorMudBlazorScriptContributor.cs | 1 - .../MauiBlazorMudBlazorStandardBundles.cs | 14 +++++++ .../MauiBlazorMudBlazorStyleContributor.cs | 3 +- ...uiBlazor.Theming.MudBlazor.Bundling.csproj | 16 ++++++++ ...ponentsMauiBlazorThemingMudBlazorModule.cs | 7 ++-- ...onents.MauiBlazor.Theming.MudBlazor.csproj | 2 +- .../BlazorServerMudBlazorStyleContributor.cs | 2 +- ...bAssemblyThemingMudBlazorBundlingModule.cs | 37 +++++++++++++++++++ ...orWebAssemblyMudBlazorScriptContributor.cs | 1 - ...azorWebAssemblyMudBlazorStandardBundles.cs | 14 +++++++ ...zorWebAssemblyMudBlazorStyleContributor.cs | 3 +- .../FodyWeavers.xml | 3 ++ .../FodyWeavers.xsd | 30 +++++++++++++++ ...Assembly.Theming.MudBlazor.Bundling.csproj | 16 ++++++++ ...onentsWebAssemblyThemingMudBlazorModule.cs | 7 ++-- ...nents.WebAssembly.Theming.MudBlazor.csproj | 2 +- ...semblyMudBlazorBasicThemeBundlingModule.cs | 8 ++-- .../MyProjectNameBlazorModule.cs | 2 - 22 files changed, 213 insertions(+), 24 deletions(-) create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorBundlingModule.cs create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/FodyWeavers.xml create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/FodyWeavers.xsd rename framework/src/{Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Bundling => Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling}/MauiBlazorMudBlazorScriptContributor.cs (91%) create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorStandardBundles.cs rename framework/src/{Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Bundling => Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling}/MauiBlazorMudBlazorStyleContributor.cs (77%) create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling.csproj create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorBundlingModule.cs rename framework/src/{Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Bundling => Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling}/BlazorWebAssemblyMudBlazorScriptContributor.cs (93%) create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorStandardBundles.cs rename framework/src/{Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Bundling => Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling}/BlazorWebAssemblyMudBlazorStyleContributor.cs (77%) create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/FodyWeavers.xml create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/FodyWeavers.xsd create mode 100644 framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling.csproj diff --git a/framework/Volo.Abp.slnx b/framework/Volo.Abp.slnx index bf85f78902..cb15af402f 100644 --- a/framework/Volo.Abp.slnx +++ b/framework/Volo.Abp.slnx @@ -10,6 +10,7 @@ + @@ -20,6 +21,7 @@ + diff --git a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorBundlingModule.cs b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorBundlingModule.cs new file mode 100644 index 0000000000..f803cd8985 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorBundlingModule.cs @@ -0,0 +1,34 @@ +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; +using Volo.Abp.Modularity; + +namespace Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling; + +[DependsOn( + typeof(AbpAspNetCoreMvcUiBundlingAbstractionsModule) +)] +public class AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorBundlingModule : AbpModule +{ + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.GlobalAssets.Enabled = true; + options.GlobalAssets.GlobalStyleBundleName = MauiBlazorMudBlazorStandardBundles.Styles.Global; + options.GlobalAssets.GlobalScriptBundleName = MauiBlazorMudBlazorStandardBundles.Scripts.Global; + + options + .StyleBundles + .Add(MauiBlazorMudBlazorStandardBundles.Styles.Global, bundle => + { + bundle.AddContributors(typeof(MauiBlazorMudBlazorStyleContributor)); + }); + + options + .ScriptBundles + .Add(MauiBlazorMudBlazorStandardBundles.Scripts.Global, bundle => + { + bundle.AddContributors(typeof(MauiBlazorMudBlazorScriptContributor)); + }); + }); + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/FodyWeavers.xml b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/FodyWeavers.xml new file mode 100644 index 0000000000..7e9f94ead6 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + diff --git a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/FodyWeavers.xsd b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/FodyWeavers.xsd new file mode 100644 index 0000000000..e6bb89a4a1 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/FodyWeavers.xsd @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + diff --git a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Bundling/MauiBlazorMudBlazorScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorScriptContributor.cs similarity index 91% rename from framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Bundling/MauiBlazorMudBlazorScriptContributor.cs rename to framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorScriptContributor.cs index 4fad7c2776..73bb95c5bd 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Bundling/MauiBlazorMudBlazorScriptContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorScriptContributor.cs @@ -7,7 +7,6 @@ public class MauiBlazorMudBlazorScriptContributor : BundleContributor { public override void ConfigureBundle(BundleConfigurationContext context) { - //TODO@MudBlazor: Do we need this script, check ? context.Files.AddIfNotContains("_content/MudBlazor/MudBlazor.min.js"); context.Files.AddIfNotContains("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/abp.js"); context.Files.AddIfNotContains("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/lang-utils.js"); diff --git a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorStandardBundles.cs b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorStandardBundles.cs new file mode 100644 index 0000000000..54a460d0c4 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorStandardBundles.cs @@ -0,0 +1,14 @@ +namespace Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling; + +public class MauiBlazorMudBlazorStandardBundles +{ + public static class Styles + { + public static string Global = "MauiBlazorMudBlazor.Global"; + } + + public static class Scripts + { + public static string Global = "MauiBlazorMudBlazor.Global"; + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Bundling/MauiBlazorMudBlazorStyleContributor.cs b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorStyleContributor.cs similarity index 77% rename from framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Bundling/MauiBlazorMudBlazorStyleContributor.cs rename to framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorStyleContributor.cs index 51bf12b672..5727956338 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Bundling/MauiBlazorMudBlazorStyleContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/MauiBlazorMudBlazorStyleContributor.cs @@ -7,8 +7,7 @@ public class MauiBlazorMudBlazorStyleContributor : BundleContributor { public override void ConfigureBundle(BundleConfigurationContext context) { - //TODO@MudBlazor: Do we need this public font ? - context.Files.AddIfNotContains("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"); + context.Files.AddIfNotContains(new BundleFile("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap", true)); context.Files.AddIfNotContains("_content/MudBlazor/MudBlazor.min.css"); context.Files.AddIfNotContains("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/css/abp.css"); context.Files.AddIfNotContains("_content/Volo.Abp.MudBlazorUI/volo.abp.mudblazorui.css"); diff --git a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling.csproj b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling.csproj new file mode 100644 index 0000000000..b33c5a2adf --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling.csproj @@ -0,0 +1,16 @@ + + + + + + + net10.0 + enable + Nullable + + + + + + + diff --git a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorModule.cs b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorModule.cs index f605eaaa37..58c9a7149c 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorModule.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorModule.cs @@ -1,4 +1,3 @@ -using Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.Bundling; using Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.Bundling; using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor; using Volo.Abp.AspNetCore.Components.MauiBlazor; @@ -8,7 +7,7 @@ using Volo.Abp.Modularity; namespace Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor; [DependsOn( - typeof(AbpAspNetCoreComponentsMauiBlazorThemingBundlingModule), + typeof(AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorBundlingModule), typeof(AbpAspNetCoreComponentsWebThemingMudBlazorModule), typeof(AbpAspNetCoreComponentsMauiBlazorModule) )] @@ -20,14 +19,14 @@ public class AbpAspNetCoreComponentsMauiBlazorThemingMudBlazorModule : AbpModule { options .StyleBundles - .Add(MauiBlazorStandardBundles.Styles.Global, bundle => + .Add(MauiBlazorMudBlazorStandardBundles.Styles.Global, bundle => { bundle.AddContributors(typeof(MauiBlazorMudBlazorStyleContributor)); }); options .ScriptBundles - .Add(MauiBlazorStandardBundles.Scripts.Global, bundle => + .Add(MauiBlazorMudBlazorStandardBundles.Scripts.Global, bundle => { bundle.AddContributors(typeof(MauiBlazorMudBlazorScriptContributor)); }); diff --git a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.csproj b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.csproj index 5e864b6e5d..5a24de82c0 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor/Volo.Abp.AspNetCore.Components.MauiBlazor.Theming.MudBlazor.csproj @@ -10,7 +10,7 @@ - + diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Server.Theming.MudBlazor/Bundling/BlazorServerMudBlazorStyleContributor.cs b/framework/src/Volo.Abp.AspNetCore.Components.Server.Theming.MudBlazor/Bundling/BlazorServerMudBlazorStyleContributor.cs index 6c61c0604c..1cd408331a 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Server.Theming.MudBlazor/Bundling/BlazorServerMudBlazorStyleContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.Server.Theming.MudBlazor/Bundling/BlazorServerMudBlazorStyleContributor.cs @@ -8,7 +8,7 @@ public class BlazorServerMudBlazorStyleContributor : BundleContributor public override void ConfigureBundle(BundleConfigurationContext context) { //TODO@MudBlazor: Do we need this public font ? - context.Files.AddIfNotContains("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"); + context.Files.AddIfNotContains(new BundleFile("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap", true)); context.Files.AddIfNotContains("/_content/MudBlazor/MudBlazor.min.css"); context.Files.AddIfNotContains("/_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/css/abp.css"); context.Files.AddIfNotContains("/_content/Volo.Abp.MudBlazorUI/volo.abp.mudblazorui.css"); diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorBundlingModule.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorBundlingModule.cs new file mode 100644 index 0000000000..aabe62e604 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorBundlingModule.cs @@ -0,0 +1,37 @@ +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; +using Volo.Abp.Modularity; + +namespace Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling; + +[DependsOn( + typeof(AbpAspNetCoreMvcUiBundlingAbstractionsModule) +)] +public class AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorBundlingModule : AbpModule +{ + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.GlobalAssets.Enabled = true; + options.GlobalAssets.GlobalStyleBundleName = BlazorWebAssemblyMudBlazorStandardBundles.Styles.Global; + options.GlobalAssets.GlobalScriptBundleName = BlazorWebAssemblyMudBlazorStandardBundles.Scripts.Global; + + options + .StyleBundles + .Add(BlazorWebAssemblyMudBlazorStandardBundles.Styles.Global, bundle => + { + bundle.AddContributors(typeof(BlazorWebAssemblyMudBlazorStyleContributor)); + }); + + options + .ScriptBundles + .Add(BlazorWebAssemblyMudBlazorStandardBundles.Scripts.Global, bundle => + { + bundle.AddContributors(typeof(BlazorWebAssemblyMudBlazorScriptContributor)); + }); + + options.MinificationIgnoredFiles.Add("_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js"); + }); + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Bundling/BlazorWebAssemblyMudBlazorScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorScriptContributor.cs similarity index 93% rename from framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Bundling/BlazorWebAssemblyMudBlazorScriptContributor.cs rename to framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorScriptContributor.cs index 20bb52cd75..246f32f15b 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Bundling/BlazorWebAssemblyMudBlazorScriptContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorScriptContributor.cs @@ -8,7 +8,6 @@ public class BlazorWebAssemblyMudBlazorScriptContributor : BundleContributor public override void ConfigureBundle(BundleConfigurationContext context) { context.Files.AddIfNotContains("_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js"); - //TODO@MudBlazor: Do we need this script, check ? context.Files.AddIfNotContains("_content/MudBlazor/MudBlazor.min.js"); context.Files.AddIfNotContains("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/abp.js"); context.Files.AddIfNotContains("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/lang-utils.js"); diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorStandardBundles.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorStandardBundles.cs new file mode 100644 index 0000000000..de5b72cc2e --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorStandardBundles.cs @@ -0,0 +1,14 @@ +namespace Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling; + +public class BlazorWebAssemblyMudBlazorStandardBundles +{ + public static class Styles + { + public static string Global = "BlazorWebAssemblyMudBlazor.Global"; + } + + public static class Scripts + { + public static string Global = "BlazorWebAssemblyMudBlazor.Global"; + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Bundling/BlazorWebAssemblyMudBlazorStyleContributor.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorStyleContributor.cs similarity index 77% rename from framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Bundling/BlazorWebAssemblyMudBlazorStyleContributor.cs rename to framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorStyleContributor.cs index a96b8157e9..a8b3ee51cf 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Bundling/BlazorWebAssemblyMudBlazorStyleContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/BlazorWebAssemblyMudBlazorStyleContributor.cs @@ -7,8 +7,7 @@ public class BlazorWebAssemblyMudBlazorStyleContributor : BundleContributor { public override void ConfigureBundle(BundleConfigurationContext context) { - //TODO@MudBlazor: Do we need this public font ? - context.Files.AddIfNotContains("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"); + context.Files.AddIfNotContains(new BundleFile("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap", true)); context.Files.AddIfNotContains("_content/MudBlazor/MudBlazor.min.css"); context.Files.AddIfNotContains("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/css/abp.css"); context.Files.AddIfNotContains("_content/Volo.Abp.MudBlazorUI/volo.abp.mudblazorui.css"); diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/FodyWeavers.xml b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/FodyWeavers.xml new file mode 100644 index 0000000000..7e9f94ead6 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/FodyWeavers.xsd b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/FodyWeavers.xsd new file mode 100644 index 0000000000..e6bb89a4a1 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/FodyWeavers.xsd @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling.csproj b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling.csproj new file mode 100644 index 0000000000..adb6c6260d --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling.csproj @@ -0,0 +1,16 @@ + + + + + + + net10.0 + enable + Nullable + + + + + + + diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorModule.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorModule.cs index 5c1b2186f9..6476687904 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorModule.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorModule.cs @@ -1,5 +1,4 @@ using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor; -using Volo.Abp.AspNetCore.Components.WebAssembly.Theming.Bundling; using Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling; using Volo.Abp.AspNetCore.Components.WebAssembly; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; @@ -8,7 +7,7 @@ using Volo.Abp.Modularity; namespace Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor; [DependsOn( - typeof(AbpAspNetCoreComponentsWebAssemblyThemingBundlingModule), + typeof(AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorBundlingModule), typeof(AbpAspNetCoreComponentsWebThemingMudBlazorModule), typeof(AbpAspNetCoreComponentsWebAssemblyModule) )] @@ -20,14 +19,14 @@ public class AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorModule : AbpModul { options .StyleBundles - .Add(BlazorWebAssemblyStandardBundles.Styles.Global, bundle => + .Add(BlazorWebAssemblyMudBlazorStandardBundles.Styles.Global, bundle => { bundle.AddContributors(typeof(BlazorWebAssemblyMudBlazorStyleContributor)); }); options .ScriptBundles - .Add(BlazorWebAssemblyStandardBundles.Scripts.Global, bundle => + .Add(BlazorWebAssemblyMudBlazorStandardBundles.Scripts.Global, bundle => { bundle.AddContributors(typeof(BlazorWebAssemblyMudBlazorScriptContributor)); }); diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.csproj b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.csproj index 30a499e478..1f830fa162 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor/Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.csproj @@ -10,7 +10,7 @@ - + diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.Bundling/AbpAspNetCoreComponentsWebAssemblyMudBlazorBasicThemeBundlingModule.cs b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.Bundling/AbpAspNetCoreComponentsWebAssemblyMudBlazorBasicThemeBundlingModule.cs index c3424e641e..730f3936fc 100644 --- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.Bundling/AbpAspNetCoreComponentsWebAssemblyMudBlazorBasicThemeBundlingModule.cs +++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.Bundling/AbpAspNetCoreComponentsWebAssemblyMudBlazorBasicThemeBundlingModule.cs @@ -1,13 +1,11 @@ -using Volo.Abp.AspNetCore.Components.WebAssembly.Theming.Bundling; -using Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor; +using Volo.Abp.AspNetCore.Components.WebAssembly.Theming.MudBlazor.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.Modularity; -using BlazorWebAssemblyStandardBundles = Volo.Abp.AspNetCore.Components.WebAssembly.Theming.Bundling.BlazorWebAssemblyStandardBundles; namespace Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.Bundling; [DependsOn( - typeof(AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorModule) + typeof(AbpAspNetCoreComponentsWebAssemblyThemingMudBlazorBundlingModule) )] public class AbpAspNetCoreComponentsWebAssemblyMudBlazorBasicThemeBundlingModule : AbpModule { @@ -15,7 +13,7 @@ public class AbpAspNetCoreComponentsWebAssemblyMudBlazorBasicThemeBundlingModule { Configure(options => { - var globalStyles = options.StyleBundles.Get(BlazorWebAssemblyStandardBundles.Styles.Global); + var globalStyles = options.StyleBundles.Get(BlazorWebAssemblyMudBlazorStandardBundles.Styles.Global); globalStyles.AddContributors(typeof(WebAssemblyMudBlazorBasicThemeBundleStyleContributor)); }); } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs index fd7ac7025f..feded4eff7 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs @@ -15,8 +15,6 @@ namespace MyCompanyName.MyProjectName.Blazor; [DependsOn( typeof(AbpAutofacModule), typeof(AbpAspNetCoreMvcUiBundlingModule), - //TODO@MudBlazor: Enable When LeptonXLite Theme Support MudBlazor is ready - // typeof(AbpAspNetCoreComponentsWebAssemblyLeptonXLiteThemeBundlingModule) typeof(AbpAspNetCoreComponentsWebAssemblyMudBlazorBasicThemeBundlingModule) )] public class MyProjectNameBlazorModule : AbpModule