Browse Source

microservice demo: added menu contributor

pull/748/head
Yunus Emre Kalkan 7 years ago
parent
commit
4dada1681f
  1. 3
      samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/en.json
  2. 19
      samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/ProductManagementMenuContributor.cs

3
samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/en.json

@ -1,6 +1,7 @@
{ {
"culture": "en", "culture": "en",
"texts": { "texts": {
"Menu:ProductManagement": "Product Management",
"Menu:Products": "Products"
} }
} }

19
samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/ProductManagementMenuContributor.cs

@ -1,4 +1,8 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization;
using ProductManagement.Localization;
using Volo.Abp.UI.Navigation; using Volo.Abp.UI.Navigation;
namespace ProductManagement namespace ProductManagement
@ -13,11 +17,20 @@ namespace ProductManagement
} }
} }
private Task ConfigureMainMenu(MenuConfigurationContext context) private async Task ConfigureMainMenu(MenuConfigurationContext context)
{ {
//Add main menu items. var authorizationService = context.ServiceProvider.GetRequiredService<IAuthorizationService>();
var l = context.ServiceProvider.GetRequiredService<IStringLocalizer<ProductManagementResource>>();
return Task.CompletedTask;
var rootMenuItem = new ApplicationMenuItem("ProductManagement", l["Menu:ProductManagement"]);
if (await authorizationService.IsGrantedAsync(ProductManagementPermissions.Products.Default))
{
rootMenuItem.AddItem(new ApplicationMenuItem("Products", l["Menu:Products"], "/ProductManagement/Products"));
}
context.Menu.AddItem(rootMenuItem);
} }
} }
} }
Loading…
Cancel
Save