mirror of https://github.com/abpframework/abp.git
58 changed files with 129 additions and 40 deletions
@ -0,0 +1,13 @@ |
|||||
|
@inject IHtmlLocalizer<AbpFeatureManagementResource> L |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.FeatureManagement.Localization |
||||
|
@model Volo.Abp.FeatureManagement.Pages.FeatureManagement.Components.FeatureSettingGroup.FeatureSettingGroupViewComponent.FeatureSettingViewModel |
||||
|
|
||||
|
<abp-script src="/Pages/FeatureManagement/Components/FeatureSettingGroup/Default.js" /> |
||||
|
|
||||
|
<form id="FeatureSettingsForm"> |
||||
|
@if (Model.HasManageHostFeaturesPermission) |
||||
|
{ |
||||
|
<abp-button id="ManageHostFeatures" icon="cog" text="@L["ManageHostFeatures"].Value"/> |
||||
|
} |
||||
|
</form> |
||||
@ -0,0 +1,16 @@ |
|||||
|
(function($){ |
||||
|
|
||||
|
$(function(){ |
||||
|
var _featuresModal = new abp.ModalManager( |
||||
|
abp.appPath + 'FeatureManagement/FeatureManagementModal' |
||||
|
); |
||||
|
|
||||
|
$("#ManageHostFeatures").click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
_featuresModal.open({ |
||||
|
providerName: 'T' |
||||
|
}); |
||||
|
}); |
||||
|
}) |
||||
|
|
||||
|
})(jQuery); |
||||
@ -0,0 +1,31 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using Volo.Abp.AspNetCore.Mvc; |
||||
|
using Volo.Abp.Authorization.Permissions; |
||||
|
using Volo.Abp.Features; |
||||
|
|
||||
|
namespace Volo.Abp.FeatureManagement.Pages.FeatureManagement.Components.FeatureSettingGroup; |
||||
|
|
||||
|
public class FeatureSettingGroupViewComponent: AbpViewComponent |
||||
|
{ |
||||
|
protected IPermissionChecker PermissionChecker { get; } |
||||
|
|
||||
|
public FeatureSettingGroupViewComponent(IPermissionChecker permissionChecker) |
||||
|
{ |
||||
|
PermissionChecker = permissionChecker; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IViewComponentResult> InvokeAsync() |
||||
|
{ |
||||
|
var model = new FeatureSettingViewModel |
||||
|
{ |
||||
|
HasManageHostFeaturesPermission = await PermissionChecker.IsGrantedAsync(FeatureManagementPermissions.ManageHostFeatures) |
||||
|
}; |
||||
|
return View("~/Pages/FeatureManagement/Components/FeatureSettingGroup/Default.cshtml", model); |
||||
|
} |
||||
|
|
||||
|
public class FeatureSettingViewModel |
||||
|
{ |
||||
|
public bool HasManageHostFeaturesPermission { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,29 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.Extensions.DependencyInjection; |
||||
|
using Microsoft.Extensions.Localization; |
||||
|
using Volo.Abp.FeatureManagement.Localization; |
||||
|
using Volo.Abp.FeatureManagement.Pages.FeatureManagement.Components.FeatureSettingGroup; |
||||
|
using Volo.Abp.SettingManagement.Web.Pages.SettingManagement; |
||||
|
|
||||
|
namespace Volo.Abp.FeatureManagement.Settings; |
||||
|
|
||||
|
public class FeatureSettingManagementPageContributor : SettingPageContributorBase |
||||
|
{ |
||||
|
public FeatureSettingManagementPageContributor() |
||||
|
{ |
||||
|
RequiredPermissions(FeatureManagementPermissions.ManageHostFeatures); |
||||
|
} |
||||
|
|
||||
|
public override Task ConfigureAsync(SettingPageCreationContext context) |
||||
|
{ |
||||
|
var l = context.ServiceProvider.GetRequiredService<IStringLocalizer<AbpFeatureManagementResource>>(); |
||||
|
context.Groups.Add( |
||||
|
new SettingPageGroup( |
||||
|
"Volo.Abp.FeatureManagement", |
||||
|
l["Permission:FeatureManagement"], |
||||
|
typeof(FeatureSettingGroupViewComponent) |
||||
|
) |
||||
|
); |
||||
|
return Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue