implement page toolbar in identity module

pull/7686/head
Ilkay Ilknur 5 years ago
parent 77381e8c6f
commit 06bfd14455

@ -6,26 +6,17 @@
@using Volo.Abp.PermissionManagement.Blazor.Components
@using Microsoft.Extensions.Localization
@using Volo.Abp.Identity.Localization
@using Volo.Abp.AspNetCore.Components.Extensibility
@using Volo.Abp.AspNetCore.Components.WebAssembly.Theming
@inject AbpBlazorMessageLocalizerHelper<IdentityResource> LH
@inherits AbpCrudPageBase<IIdentityRoleAppService, IdentityRoleDto, Guid, GetIdentityRolesInput, IdentityRoleCreateDto, IdentityRoleUpdateDto>
<Card>
<CardHeader>
@* ************************* PAGE HEADER ************************* *@
<Row Class="justify-content-between">
<Column ColumnSize="ColumnSize.IsAuto">
<Heading Size="HeadingSize.Is1">@L["Roles"]</Heading>
</Column>
<Column ColumnSize="ColumnSize.IsAuto">
@if (HasCreatePermission)
{
<Button Color="Color.Primary" Clicked="OpenCreateModalAsync">
<Icon Margin="Margin.Is1.FromRight" Name="IconName.Add"></Icon>@L["NewRole"]
</Button>
}
</Column>
</Row>
<Volo.Abp.AspNetCore.Components.WebAssembly.Theming.Layout.PageHeader Title="@L["Roles"]"
BreadcrumbItems="@BreadcrumbItems"
PageName="@typeof(RoleManagement).FullName">
</Volo.Abp.AspNetCore.Components.WebAssembly.Theming.Layout.PageHeader>
</CardHeader>
<CardBody>
@* ************************* DATA GRID ************************* *@

@ -5,9 +5,12 @@ using System.Threading.Tasks;
using Blazorise;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Components.Extensibility;
using Volo.Abp.AspNetCore.Components.Extensibility.EntityActions;
using Volo.Abp.AspNetCore.Components.Extensibility.TableColumns;
using Volo.Abp.AspNetCore.Components.WebAssembly.Theming.PageToolbars;
using Volo.Abp.BlazoriseUI;
using Volo.Abp.Identity.Localization;
using Volo.Abp.PermissionManagement.Blazor.Components;
@ -23,6 +26,9 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
protected bool HasManagePermissionsPermission { get; set; }
[Inject]
protected IOptions<AbpPageToolbarOptions> ToolbarOptions { get; set; }
public RoleManagement()
{
ObjectMapperContext = typeof(AbpIdentityBlazorModule);
@ -66,7 +72,7 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
}
});
return ValueTask.CompletedTask;
return base.SetEntityActionsAsync();
}
protected override ValueTask SetTableColumnsAsync()
@ -121,10 +127,10 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
}
},
});
return ValueTask.CompletedTask;
return base.SetTableColumnsAsync();
}
protected override async Task SetPermissionsAsync()
{
await base.SetPermissionsAsync();
@ -136,5 +142,21 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
{
return string.Format(L["RoleDeletionConfirmationMessage"], entity.Name);
}
protected override ValueTask SetBreadcrumbItemsAsync()
{
//BreadcrumbItems.Add(new BlazoriseUI.BreadcrumbItem(L["Roles"]));
return base.SetBreadcrumbItemsAsync();
}
protected override ValueTask SetToolbarItemsAsync()
{
ToolbarOptions.Value.Configure<RoleManagement>(toolbar =>
{
toolbar.AddButton(L["NewRole"], OpenCreateModalAsync, IconName.Add, requiredPolicyName: CreatePolicyName);
});
return base.SetToolbarItemsAsync();
}
}
}

@ -10,19 +10,10 @@
<Card>
<CardHeader>
@* ************************* PAGE HEADER ************************* *@
<Row Class="justify-content-between">
<Column ColumnSize="ColumnSize.IsAuto">
<h1>@L["Users"]</h1>
</Column>
<Column ColumnSize="ColumnSize.IsAuto">
@if (HasCreatePermission)
{
<Button Color="Color.Primary" Clicked="OpenCreateModalAsync">
<Icon Margin="Margin.Is1.FromRight" Name="IconName.Add"></Icon>@L["NewUser"]
</Button>
}
</Column>
</Row>
<Volo.Abp.AspNetCore.Components.WebAssembly.Theming.Layout.PageHeader Title="@L["Users"]"
BreadcrumbItems="@BreadcrumbItems"
PageName="@typeof(UserManagement).FullName">
</Volo.Abp.AspNetCore.Components.WebAssembly.Theming.Layout.PageHeader>
</CardHeader>
<CardBody>
@* ************************* DATA GRID ************************* *@

@ -5,9 +5,11 @@ using System.Threading.Tasks;
using Blazorise;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Components.Extensibility;
using Volo.Abp.AspNetCore.Components.Extensibility.EntityActions;
using Volo.Abp.AspNetCore.Components.Extensibility.TableColumns;
using Volo.Abp.AspNetCore.Components.WebAssembly.Theming.PageToolbars;
using Volo.Abp.Identity.Localization;
using Volo.Abp.PermissionManagement.Blazor.Components;
@ -28,13 +30,16 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
protected AssignedRoleViewModel[] EditUserRoles;
protected string ManagePermissionsPolicyName;
protected bool HasManagePermissionsPermission { get; set; }
protected string CreateModalSelectedTab = DefaultSelectedTab;
protected string EditModalSelectedTab = DefaultSelectedTab;
[Inject]
protected IOptions<AbpPageToolbarOptions> ToolbarOptions { get; set; }
public UserManagement()
{
ObjectMapperContext = typeof(AbpIdentityBlazorModule);
@ -52,7 +57,7 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
Roles = (await AppService.GetAssignableRolesAsync()).Items;
}
protected override async Task SetPermissionsAsync()
{
await base.SetPermissionsAsync();
@ -141,7 +146,7 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
}
});
return ValueTask.CompletedTask;
return base.SetEntityActionsAsync();
}
protected override ValueTask SetTableColumnsAsync()
@ -172,8 +177,24 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
Data = nameof(IdentityUserDto.PhoneNumber),
}
});
return ValueTask.CompletedTask;
return base.SetEntityActionsAsync();
}
protected override ValueTask SetBreadcrumbItemsAsync()
{
//BreadcrumbItems.Add(new(L["Users"]));
return base.SetBreadcrumbItemsAsync();
}
protected override ValueTask SetToolbarItemsAsync()
{
ToolbarOptions.Value.Configure<UserManagement>(toolbar =>
{
toolbar.AddButton(L["NewUser"], OpenCreateModalAsync, IconName.Add, requiredPolicyName: CreatePolicyName);
});
return base.SetToolbarItemsAsync();
}
}

Loading…
Cancel
Save