From 4b0de2ce7a56523f7d3c7771d8f44e5b2add350e Mon Sep 17 00:00:00 2001 From: Ahmet Date: Tue, 22 Sep 2020 16:48:23 +0300 Subject: [PATCH] Added Empty Blazor Module Template closes: #5521 --- .../MyCompanyName.MyProjectName.sln | 7 ++++ .../Menus/MyProjectNameMenuContributor.cs | 23 ++++++++++++ .../Menus/MyProjectNameMenus.cs | 11 ++++++ .../MyCompanyName.MyProjectName.Blazor.csproj | 18 ++++++++++ .../MyProjectNameBlazorAutoMapperProfile.cs | 14 ++++++++ .../MyProjectNameBlazorModule.cs | 36 +++++++++++++++++++ .../Pages/MyProjectName/Index.razor | 8 +++++ .../_Import.razor | 5 +++ 8 files changed, 122 insertions(+) create mode 100644 templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Menus/MyProjectNameMenuContributor.cs create mode 100644 templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Menus/MyProjectNameMenus.cs create mode 100644 templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj create mode 100644 templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorAutoMapperProfile.cs create mode 100644 templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs create mode 100644 templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/MyProjectName/Index.razor create mode 100644 templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/_Import.razor diff --git a/templates/module/aspnet-core/MyCompanyName.MyProjectName.sln b/templates/module/aspnet-core/MyCompanyName.MyProjectName.sln index ea7d59fe2c..f8a737dfdc 100644 --- a/templates/module/aspnet-core/MyCompanyName.MyProjectName.sln +++ b/templates/module/aspnet-core/MyCompanyName.MyProjectName.sln @@ -49,6 +49,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MyCompanyName.MyProjectName EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MyCompanyName.MyProjectName.Web.Unified", "host\MyCompanyName.MyProjectName.Web.Unified\MyCompanyName.MyProjectName.Web.Unified.csproj", "{3D872C41-E226-45C8-89C1-9D3DBD7C73F2}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyProjectName.Blazor", "src\MyCompanyName.MyProjectName.Blazor\MyCompanyName.MyProjectName.Blazor.csproj", "{827FCC18-A22B-4175-82CD-1233F6DEE8FB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -135,6 +137,10 @@ Global {3D872C41-E226-45C8-89C1-9D3DBD7C73F2}.Debug|Any CPU.Build.0 = Debug|Any CPU {3D872C41-E226-45C8-89C1-9D3DBD7C73F2}.Release|Any CPU.ActiveCfg = Release|Any CPU {3D872C41-E226-45C8-89C1-9D3DBD7C73F2}.Release|Any CPU.Build.0 = Release|Any CPU + {827FCC18-A22B-4175-82CD-1233F6DEE8FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {827FCC18-A22B-4175-82CD-1233F6DEE8FB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {827FCC18-A22B-4175-82CD-1233F6DEE8FB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {827FCC18-A22B-4175-82CD-1233F6DEE8FB}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -160,6 +166,7 @@ Global {690203F4-3CD5-4569-88D9-EE831EEA5F5F} = {E400416D-2895-4512-9D17-90681EEC7E0A} {F6AC8D4A-EDD7-4514-8E8A-5BCB019864DB} = {E400416D-2895-4512-9D17-90681EEC7E0A} {3D872C41-E226-45C8-89C1-9D3DBD7C73F2} = {E400416D-2895-4512-9D17-90681EEC7E0A} + {827FCC18-A22B-4175-82CD-1233F6DEE8FB} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {4324B3B4-B60B-4E3C-91D8-59576B4E26DD} diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Menus/MyProjectNameMenuContributor.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Menus/MyProjectNameMenuContributor.cs new file mode 100644 index 0000000000..11062a5e2a --- /dev/null +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Menus/MyProjectNameMenuContributor.cs @@ -0,0 +1,23 @@ +using System.Threading.Tasks; +using Volo.Abp.UI.Navigation; + +namespace MyCompanyName.MyProjectName.Blazor.Menus +{ + public class MyProjectNameMenuContributor : IMenuContributor + { + public async Task ConfigureMenuAsync(MenuConfigurationContext context) + { + if (context.Menu.Name == StandardMenus.Main) + { + await ConfigureMainMenu(context); + } + } + + private Task ConfigureMainMenu(MenuConfigurationContext context) + { + //Add main menu items. + + return Task.CompletedTask; + } + } +} \ No newline at end of file diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Menus/MyProjectNameMenus.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Menus/MyProjectNameMenus.cs new file mode 100644 index 0000000000..18d64be308 --- /dev/null +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Menus/MyProjectNameMenus.cs @@ -0,0 +1,11 @@ +namespace MyCompanyName.MyProjectName.Blazor.Menus +{ + public class MyProjectNameMenus + { + private const string Prefix = "MyProjectName"; + + //Add your menu items here... + //public const string Home = Prefix + ".MyNewMenuItem"; + + } +} \ No newline at end of file diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj new file mode 100644 index 0000000000..340e386e3a --- /dev/null +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj @@ -0,0 +1,18 @@ + + + + + + netstandard2.1 + 3.0 + + + + + + + + + + + diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorAutoMapperProfile.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorAutoMapperProfile.cs new file mode 100644 index 0000000000..b3cf8b84b6 --- /dev/null +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorAutoMapperProfile.cs @@ -0,0 +1,14 @@ +using AutoMapper; + +namespace MyCompanyName.MyProjectName.Blazor +{ + public class MyProjectNameBlazorAutoMapperProfile : Profile + { + public MyProjectNameBlazorAutoMapperProfile() + { + /* You can configure your AutoMapper mapping configuration here. + * Alternatively, you can split your mapping configurations + * into multiple profile classes for a better organization. */ + } + } +} \ No newline at end of file diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs new file mode 100644 index 0000000000..907e503e44 --- /dev/null +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs @@ -0,0 +1,36 @@ +using Microsoft.Extensions.DependencyInjection; +using MyCompanyName.MyProjectName.Blazor.Menus; +using Volo.Abp.AspNetCore.Components.WebAssembly.Theming.Routing; +using Volo.Abp.AutoMapper; +using Volo.Abp.Modularity; +using Volo.Abp.UI.Navigation; + +namespace MyCompanyName.MyProjectName.Blazor +{ + [DependsOn( + typeof(MyProjectNameHttpApiClientModule), + typeof(AbpAutoMapperModule) + )] + public class MyProjectNameBlazorModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddAutoMapperObjectMapper(); + + Configure(options => + { + options.AddProfile(validate: true); + }); + + Configure(options => + { + options.MenuContributors.Add(new MyProjectNameMenuContributor()); + }); + + Configure(options => + { + options.AdditionalAssemblies.Add(typeof(MyProjectNameBlazorModule).Assembly); + }); + } + } +} \ No newline at end of file diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/MyProjectName/Index.razor b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/MyProjectName/Index.razor new file mode 100644 index 0000000000..d54a229594 --- /dev/null +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/MyProjectName/Index.razor @@ -0,0 +1,8 @@ +@page "/MyProjectName" +@using Microsoft.Extensions.Localization +@using MyCompanyName.MyProjectName.Localization +@inject IStringLocalizer L +@{ +} +

MyProjectName

+

@L["SamplePageMessage"]

\ No newline at end of file diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/_Import.razor b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/_Import.razor new file mode 100644 index 0000000000..4685ac9893 --- /dev/null +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/_Import.razor @@ -0,0 +1,5 @@ +@using Microsoft.AspNetCore.Components.Web +@using Volo.Abp.AspNetCore.Components.WebAssembly +@using Volo.Abp.BlazoriseUI +@using Blazorise +@using Blazorise.DataGrid \ No newline at end of file