Files
Caspian.Elsa.Studio/src/framework/Elsa.Studio.Shared/Components/NavMenu.razor
T

35 lines
1.1 KiB
Plaintext

@using Elsa.Studio.Contracts
@using Elsa.Studio.Localization
@using Elsa.Studio.Models
@inject IMenuService MenuService;
@inject ILocalizer Localizer
<MudNavMenu Bordered="true" Color="Color.Primary" Rounded="true" Margin="Margin.Dense" Class="pa-2">
@foreach (var menuItemGroup in _menuItemsGroups.Values)
{
var menuItems = _menuItems.Where(x => x.GroupName == menuItemGroup.Name).ToList();
@if (menuItems.Any())
{
<MudText Typo="Typo.body2" Class="px-4 py-4 mud-text-secondary">@Localizer[menuItemGroup.Text]</MudText>
foreach (var menuItem in menuItems)
{
<NavMenuItem MenuItem="menuItem" />
}
}
}
</MudNavMenu>
@code
{
private IDictionary<string, MenuItemGroup> _menuItemsGroups = new Dictionary<string, MenuItemGroup>();
private IEnumerable<MenuItem> _menuItems = new List<MenuItem>();
/// <inheritdoc />
protected override async Task OnInitializedAsync()
{
_menuItemsGroups = (await MenuService.GetMenuItemGroupsAsync()).ToDictionary(x => x.Name);
_menuItems = await MenuService.GetMenuItemsAsync();
}
}