From 6896319bf02579d97b1ad31e92138e2a50e4fce2 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 9 Dec 2020 10:03:07 +0300 Subject: [PATCH 01/13] feat: add default expand template to tree component --- .../src/lib/components/tree.component.html | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html index b98aa7e4ff..c3147194dd 100644 --- a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html +++ b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html @@ -38,3 +38,39 @@ + + + + + + + + + + + + + + + + From 38410fe906d68a36b0fa261f543d1fce1738b382 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 9 Dec 2020 10:05:05 +0300 Subject: [PATCH 02/13] feat(components): improve node template --- .../src/lib/components/tree.component.html | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html index c3147194dd..c99d9e364c 100644 --- a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html +++ b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html @@ -8,6 +8,7 @@ [nzTreeTemplate]="treeTemplate" [nzExpandedKeys]="expandedKeys" [nzExpandedIcon]="expandedIconTemplate?.template" + [nzExpandedIcon]="expandedIconTemplate?.template || defaultIconTemplate" (nzExpandChange)="onExpandedKeysChange($event)" (nzCheckBoxChange)="onCheckboxChange($event)" (nzOnDrop)="onDrop($event)" @@ -19,16 +20,17 @@ [title]="node.title" (click)="onSelectedNodeChange(node)" > - + - - {{ node.title }} - + +
+ +
@@ -36,6 +38,9 @@
+ + {{ node.title }} +
From 75dba7a0ad3004271203fa1db853384bc6ee7ba2 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 9 Dec 2020 10:06:12 +0300 Subject: [PATCH 03/13] feat(components): add disable animation option to tree.component set nzNoAnimation default value to true --- .../components/tree/src/lib/components/tree.component.html | 1 + .../components/tree/src/lib/components/tree.component.ts | 1 + .../packages/components/tree/src/lib/tree.module.ts | 7 ++++--- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html index c99d9e364c..182d4a1ff9 100644 --- a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html +++ b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html @@ -12,6 +12,7 @@ (nzExpandChange)="onExpandedKeysChange($event)" (nzCheckBoxChange)="onCheckboxChange($event)" (nzOnDrop)="onDrop($event)" + [nzNoAnimation]="noAnimation" >
(); @Output() readonly selectedNodeChange = new EventEmitter(); @Output() readonly dropOver = new EventEmitter(); + @Input() noAnimation = true; @Input() draggable: boolean; @Input() checkable: boolean; @Input() checkStrictly: boolean; diff --git a/npm/ng-packs/packages/components/tree/src/lib/tree.module.ts b/npm/ng-packs/packages/components/tree/src/lib/tree.module.ts index b645a69925..2013c37588 100644 --- a/npm/ng-packs/packages/components/tree/src/lib/tree.module.ts +++ b/npm/ng-packs/packages/components/tree/src/lib/tree.module.ts @@ -1,17 +1,18 @@ -import { CommonModule } from '@angular/common'; +import { CoreModule } from '@abp/ng.core'; import { NgModule } from '@angular/core'; import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation'; import { NzTreeModule } from 'ng-zorro-antd/tree'; import { TreeComponent } from './components/tree.component'; -import { TreeNodeTemplateDirective } from './templates/tree-node-template.directive'; import { ExpandedIconTemplateDirective } from './templates/expanded-icon-template.directive'; +import { TreeNodeTemplateDirective } from './templates/tree-node-template.directive'; const templates = [TreeNodeTemplateDirective, ExpandedIconTemplateDirective]; const exported = [...templates, TreeComponent]; @NgModule({ - imports: [CommonModule, NzTreeModule, NgbDropdownModule], + imports: [CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule], exports: [...exported], declarations: [...exported], }) From c0d1d1adc012daaa6b103bd6668616e15df0149a Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 9 Dec 2020 10:06:51 +0300 Subject: [PATCH 04/13] style: improve tree node dropdown --- .../src/lib/components/tree.component.html | 25 ++++++++++++++----- .../tree/src/lib/components/tree.component.ts | 7 ++++++ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html index 182d4a1ff9..cf2619b19a 100644 --- a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html +++ b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html @@ -7,7 +7,6 @@ [nzData]="nodes" [nzTreeTemplate]="treeTemplate" [nzExpandedKeys]="expandedKeys" - [nzExpandedIcon]="expandedIconTemplate?.template" [nzExpandedIcon]="expandedIconTemplate?.template || defaultIconTemplate" (nzExpandChange)="onExpandedKeysChange($event)" (nzCheckBoxChange)="onCheckboxChange($event)" @@ -33,12 +32,26 @@ >
-
- -
- +
+ +
+ +
-
+ + {{ node.title }} diff --git a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts index e4fda04736..3f6179a5b2 100644 --- a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts +++ b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts @@ -11,6 +11,7 @@ import { NzFormatEmitEvent, NzFormatBeforeDropEvent } from 'ng-zorro-antd/tree'; import { of } from 'rxjs'; import { TreeNodeTemplateDirective } from '../templates/tree-node-template.directive'; import { ExpandedIconTemplateDirective } from '../templates/expanded-icon-template.directive'; +import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; export type DropEvent = NzFormatEmitEvent & { pos: number }; @@ -26,6 +27,8 @@ export type DropEvent = NzFormatEmitEvent & { pos: number }; export class TreeComponent { dropPosition: number; + dropdowns = {} as { [key: string]: NgbDropdown }; + @ContentChild('menu') menu: TemplateRef; @ContentChild(TreeNodeTemplateDirective) customNodeTemplate: TreeNodeTemplateDirective; @ContentChild(ExpandedIconTemplateDirective) expandedIconTemplate: ExpandedIconTemplateDirective; @@ -69,4 +72,8 @@ export class TreeComponent { this.dropOver.emit(event); } + + initDropdown(key: string, dropdown: NgbDropdown) { + this.dropdowns[key] = dropdown; + } } From 8c8cd24ff66cd8de790aeab17a34b88191409be3 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 9 Dec 2020 10:07:07 +0300 Subject: [PATCH 05/13] feat: add context menu to abp-tree component --- .../components/tree/src/lib/components/tree.component.html | 1 + 1 file changed, 1 insertion(+) diff --git a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html index cf2619b19a..4f4aaf472d 100644 --- a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html +++ b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html @@ -12,6 +12,7 @@ (nzCheckBoxChange)="onCheckboxChange($event)" (nzOnDrop)="onDrop($event)" [nzNoAnimation]="noAnimation" + (nzContextMenu)="dropdowns[$event.node?.key]?.toggle()" >
Date: Wed, 9 Dec 2020 10:07:24 +0300 Subject: [PATCH 06/13] chore: add a peer dependency --- npm/ng-packs/packages/components/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/npm/ng-packs/packages/components/package.json b/npm/ng-packs/packages/components/package.json index 3d4d25dd56..da5038f1f2 100644 --- a/npm/ng-packs/packages/components/package.json +++ b/npm/ng-packs/packages/components/package.json @@ -8,6 +8,7 @@ }, "peerDependencies": { "@abp/ng.core": ">=4.0.0", + "@abp/ng.theme.shared": ">=4.0.0", "@ng-bootstrap/ng-bootstrap": ">=6.0.0" }, "dependencies": { From ab4dfe0b5faf2d50195f668e0fd1d97bd1604e4e Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 9 Dec 2020 10:07:40 +0300 Subject: [PATCH 07/13] chore: remove unnecessary styles --- .../tree/src/lib/components/tree.component.scss | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.scss b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.scss index 113996455f..07ca018f0d 100644 --- a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.scss +++ b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.scss @@ -27,18 +27,6 @@ cursor: pointer; padding-left: 8px; border: 1px solid transparent; - - &:hover { - background-color: transparent; - border: 1px solid var(--primary); - color: var(--text-color); - } - - &.selected { - background-color: transparent; - color: var(--white); - background-color: var(--primary); - } } .ellipsis { From cc7480f6dfa4a144b1f53ddfca874c1ac11ae95b Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 10 Dec 2020 16:07:06 +0800 Subject: [PATCH 08/13] Add AbpAutofacConstructorFinder --- .../AutofacRegistration.cs | 3 ++ .../Autofac/AbpAutofacConstructorFinder.cs | 43 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 framework/src/Volo.Abp.Autofac/Volo/Abp/Autofac/AbpAutofacConstructorFinder.cs diff --git a/framework/src/Volo.Abp.Autofac/Autofac/Extensions/DependencyInjection/AutofacRegistration.cs b/framework/src/Volo.Abp.Autofac/Autofac/Extensions/DependencyInjection/AutofacRegistration.cs index 024fc3a258..e0f7ec50ad 100644 --- a/framework/src/Volo.Abp.Autofac/Autofac/Extensions/DependencyInjection/AutofacRegistration.cs +++ b/framework/src/Volo.Abp.Autofac/Autofac/Extensions/DependencyInjection/AutofacRegistration.cs @@ -27,6 +27,7 @@ using System; using System.Reflection; using Autofac.Builder; using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Autofac; using Volo.Abp.Modularity; namespace Autofac.Extensions.DependencyInjection @@ -116,6 +117,7 @@ namespace Autofac.Extensions.DependencyInjection .RegisterGeneric(service.ImplementationType) .As(service.ServiceType) .ConfigureLifecycle(service.Lifetime) + .FindConstructorsWith(new AbpAutofacConstructorFinder()) .ConfigureAbpConventions(moduleContainer, registrationActionList); } else @@ -124,6 +126,7 @@ namespace Autofac.Extensions.DependencyInjection .RegisterType(service.ImplementationType) .As(service.ServiceType) .ConfigureLifecycle(service.Lifetime) + .FindConstructorsWith(new AbpAutofacConstructorFinder()) .ConfigureAbpConventions(moduleContainer, registrationActionList); } } diff --git a/framework/src/Volo.Abp.Autofac/Volo/Abp/Autofac/AbpAutofacConstructorFinder.cs b/framework/src/Volo.Abp.Autofac/Volo/Abp/Autofac/AbpAutofacConstructorFinder.cs new file mode 100644 index 0000000000..a9d0b736a2 --- /dev/null +++ b/framework/src/Volo.Abp.Autofac/Volo/Abp/Autofac/AbpAutofacConstructorFinder.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Concurrent; +using System.Reflection; +using Autofac.Core.Activators.Reflection; + +namespace Volo.Abp.Autofac +{ + public class AbpAutofacConstructorFinder : IConstructorFinder + { + private const BindingFlags DeclaredOnlyPublicFlags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly; //Remove static constructor, BindingFlags.Static + + private readonly Func _finder; + + private static readonly ConcurrentDictionary DefaultPublicConstructorsCache = new ConcurrentDictionary(); + + public AbpAutofacConstructorFinder() + : this(GetDefaultPublicConstructors) + { + } + + public AbpAutofacConstructorFinder(Func finder) + { + _finder = finder ?? throw new ArgumentNullException(nameof(finder)); + } + + public ConstructorInfo[] FindConstructors(Type targetType) + { + return _finder(targetType); + } + + private static ConstructorInfo[] GetDefaultPublicConstructors(Type type) + { + var retval = DefaultPublicConstructorsCache.GetOrAdd(type, t => t.GetConstructors(DeclaredOnlyPublicFlags)); + + if (retval.Length == 0) + { + throw new NoConstructorsFoundException(type); + } + + return retval; + } + } +} From 039324a88f8c6d77b96aa2ea627b2f50c21e04c1 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Thu, 10 Dec 2020 10:08:03 +0100 Subject: [PATCH 09/13] Default button Save text from resource --- .../Components/SubmitButton.razor | 9 ++++++++- .../Components/SubmitButton.razor.cs | 11 +++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor b/framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor index 97194720fe..140aa6502e 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor +++ b/framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor @@ -1,3 +1,10 @@  diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor.cs b/framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor.cs index b4a7e13afd..95cbdedd20 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor.cs @@ -1,7 +1,9 @@ using System; using System.Threading.Tasks; using Blazorise; +using Localization.Resources.AbpUi; using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Localization; namespace Volo.Abp.BlazoriseUI.Components { @@ -27,18 +29,27 @@ namespace Volo.Abp.BlazoriseUI.Components [Parameter] public bool? Disabled { get; set; } + [Parameter] + public string SaveResourceKey { get; set; } = "Save"; + [Parameter] public EventCallback Clicked { get; set; } [Parameter] public RenderFragment ChildContent { get; set; } + [Inject] + protected IStringLocalizer StringLocalizer { get; set; } + protected bool IsDisabled => Disabled == true || Submiting; protected bool IsLoading => Submiting; + protected string SaveString + => StringLocalizer[SaveResourceKey]; + protected virtual async Task OnClickedHandler() { try From c89c2db3028bbe56790a224215e8ba56fa801ea8 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Thu, 10 Dec 2020 10:26:33 +0100 Subject: [PATCH 10/13] Removed Save text from SubmitButton content --- .../Pages/Identity/RoleManagement.razor | 4 ++-- .../Pages/Identity/UserManagement.razor | 4 ++-- .../Pages/TenantManagement/TenantManagement.razor | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor index 8444519e17..f20f4165e8 100644 --- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor +++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor @@ -104,7 +104,7 @@ - @L["Save"] + @@ -142,7 +142,7 @@ - @L["Save"] + diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor index 3cad11d634..a371d4a646 100644 --- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor +++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor @@ -176,7 +176,7 @@ - @L["Save"] + @@ -287,7 +287,7 @@ - @L["Save"] + diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor index 2918d16b44..f1ced268ca 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor @@ -114,7 +114,7 @@ - @L["Save"] + @@ -148,7 +148,7 @@ - @L["Save"] + @@ -187,7 +187,7 @@ - @L["Save"] + From 0402423b64407cde0979d69d53fb2164c3b4dbe8 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Thu, 10 Dec 2020 14:32:47 +0300 Subject: [PATCH 11/13] applied on Identity Users --- .../AbpIdentityWebModule.cs | 18 ++++++++++++++++++ .../Pages/Identity/Users/Index.cshtml | 6 ++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs index ce26e91e20..cc29ee26dd 100644 --- a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs +++ b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs @@ -2,9 +2,11 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.PageToolbars; using Volo.Abp.AutoMapper; using Volo.Abp.Identity.Localization; using Volo.Abp.Identity.Web.Navigation; +using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectExtending.Modularity; @@ -64,6 +66,22 @@ namespace Volo.Abp.Identity.Web options.Conventions.AuthorizePage("/Identity/Roles/CreateModal", IdentityPermissions.Roles.Create); options.Conventions.AuthorizePage("/Identity/Roles/EditModal", IdentityPermissions.Roles.Update); }); + + + Configure(options => + { + options.Configure( + toolbar => + { + toolbar.AddButton( + LocalizableString.Create("NewUser"), + icon: "plus", + name: "CreateUser", + requiredPolicyName: IdentityPermissions.Users.Create + ); + } + ); + }); } public override void PostConfigureServices(ServiceConfigurationContext context) diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/Index.cshtml b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/Index.cshtml index ee9192d58f..5904cab2fa 100644 --- a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/Index.cshtml +++ b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/Index.cshtml @@ -2,6 +2,7 @@ @using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Mvc.Localization @using Volo.Abp.AspNetCore.Mvc.UI.Layout +@using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Pages.Shared.Components.AbpPageToolbar @using Volo.Abp.Identity @using Volo.Abp.Identity.Localization @using Volo.Abp.Identity.Web.Navigation @@ -34,10 +35,7 @@ @L["Users"] - @if (await Authorization.IsGrantedAsync(IdentityPermissions.Users.Create)) - { - - } + @await Component.InvokeAsync(typeof(AbpPageToolbarViewComponent), new { pageName = typeof(IndexModel).FullName }) From bc7eb4296f6060635957c844c16f20255942b2ec Mon Sep 17 00:00:00 2001 From: Ahmet Date: Thu, 10 Dec 2020 14:35:41 +0300 Subject: [PATCH 12/13] toolbar applied on Identity Roles --- .../Volo.Abp.Identity.Web/AbpIdentityWebModule.cs | 12 ++++++++++++ .../Pages/Identity/Roles/Index.cshtml | 6 ++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs index cc29ee26dd..511455bab3 100644 --- a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs +++ b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs @@ -81,6 +81,18 @@ namespace Volo.Abp.Identity.Web ); } ); + + options.Configure( + toolbar => + { + toolbar.AddButton( + LocalizableString.Create("NewRole"), + icon: "plus", + name: "CreateRole", + requiredPolicyName: IdentityPermissions.Roles.Create + ); + } + ); }); } diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/Index.cshtml b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/Index.cshtml index 734fc40fe5..30e42694e6 100644 --- a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/Index.cshtml +++ b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/Index.cshtml @@ -2,6 +2,7 @@ @using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Mvc.Localization @using Volo.Abp.AspNetCore.Mvc.UI.Layout +@using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Pages.Shared.Components.AbpPageToolbar @using Volo.Abp.Identity @using Volo.Abp.Identity.Localization @using Volo.Abp.Identity.Web.Navigation @@ -33,10 +34,7 @@ @L["Roles"] - @if (await Authorization.IsGrantedAsync(IdentityPermissions.Roles.Create)) - { - - } + @await Component.InvokeAsync(typeof(AbpPageToolbarViewComponent), new { pageName = typeof(IndexModel).FullName }) From 7438f3b8336c7366044505c66e87d3f3894295db Mon Sep 17 00:00:00 2001 From: Ahmet Date: Thu, 10 Dec 2020 14:43:33 +0300 Subject: [PATCH 13/13] toolbar applied on TenantManagement --- .../AbpTenantManagementWebModule.cs | 24 +++++++++++++++++++ .../TenantManagement/Tenants/Index.cshtml | 10 ++------ 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/AbpTenantManagementWebModule.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/AbpTenantManagementWebModule.cs index e993ea2c63..e03a7ec2a2 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/AbpTenantManagementWebModule.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/AbpTenantManagementWebModule.cs @@ -2,8 +2,10 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.PageToolbars; using Volo.Abp.AutoMapper; using Volo.Abp.FeatureManagement; +using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectExtending.Modularity; @@ -61,6 +63,28 @@ namespace Volo.Abp.TenantManagement.Web options.Conventions.AuthorizePage("/TenantManagement/Tenants/EditModal", TenantManagementPermissions.Tenants.Update); options.Conventions.AuthorizePage("/TenantManagement/Tenants/ConnectionStrings", TenantManagementPermissions.Tenants.ManageConnectionStrings); }); + + Configure(options => + { + options.Configure( + toolbar => + { + toolbar.AddButton( + LocalizableString.Create("ManageHostFeatures"), + icon: "cog", + name: "ManageHostFeatures", + requiredPolicyName: FeatureManagementPermissions.ManageHostFeatures + ); + + toolbar.AddButton( + LocalizableString.Create("NewTenant"), + icon: "plus", + name: "CreateTenant", + requiredPolicyName: TenantManagementPermissions.Tenants.Create + ); + } + ); + }); } public override void PostConfigureServices(ServiceConfigurationContext context) diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml index bb972b02d8..67fd507bcc 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml @@ -2,6 +2,7 @@ @using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Mvc.Localization @using Volo.Abp.AspNetCore.Mvc.UI.Layout +@using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Pages.Shared.Components.AbpPageToolbar @using Volo.Abp.FeatureManagement @using Volo.Abp.TenantManagement @using Volo.Abp.TenantManagement.Localization @@ -30,14 +31,7 @@ @L["Tenants"] - @if (await Authorization.IsGrantedAsync(FeatureManagementPermissions.ManageHostFeatures)) - { - - } - @if (await Authorization.IsGrantedAsync(TenantManagementPermissions.Tenants.Create)) - { - - } + @await Component.InvokeAsync(typeof(AbpPageToolbarViewComponent), new { pageName = typeof(IndexModel).FullName })