96 lines
2.8 KiB
Plaintext
96 lines
2.8 KiB
Plaintext
@inject ListSelectDataSrv MDataService
|
|
|
|
|
|
|
|
<div class="nav-scrollable">
|
|
<div class="bg-dark text-center py-2">
|
|
<i class="fa-solid fa-link"></i> <span class="fw-bold">Link diretti</span>
|
|
</div>
|
|
<nav class="flex-column">
|
|
|
|
@if (MenuItems != null && MenuItems.Count > 0)
|
|
{
|
|
foreach (var item in MenuItems)
|
|
{
|
|
<div class="nav-item px-2">
|
|
@if (@linkActive(item.NavigateUrl))
|
|
{
|
|
<NavLink class="nav-link px-2 active" @onclick="()=>SetPage(item.NavigateUrl)">
|
|
<i class="fa fa-lg @item.Icona pe-2" aria-hidden="true"></i> @item.Testo
|
|
</NavLink>
|
|
}
|
|
else
|
|
{
|
|
if (IsManual && item.Ordine > 20)
|
|
{
|
|
<NavLink class="nav-link px-2 disabled text-secondary">
|
|
<i class="fa fa-lg @item.Icona pe-2" aria-hidden="true"></i> @item.Testo
|
|
</NavLink>
|
|
|
|
}
|
|
else
|
|
{
|
|
<NavLink class="nav-link px-2" @onclick="()=>SetPage(item.NavigateUrl)">
|
|
<i class="fa fa-lg @item.Icona pe-2" aria-hidden="true"></i> @item.Testo
|
|
</NavLink>
|
|
}
|
|
}
|
|
</div>
|
|
}
|
|
}
|
|
|
|
</nav>
|
|
</div>
|
|
|
|
@code {
|
|
|
|
[Parameter]
|
|
public List<LinkMenuModel> MenuItems { get; set; } = new List<LinkMenuModel>();
|
|
|
|
[Inject]
|
|
protected MessageService MsgServ { get; set; } = null!;
|
|
|
|
[Inject]
|
|
protected SharedMemService MStor { get; set; } = null!;
|
|
|
|
[Inject]
|
|
protected NavigationManager NavMan { get; set; } = null!;
|
|
|
|
protected bool linkActive(string objUrl)
|
|
{
|
|
bool answ = false;
|
|
if (NavMan.Uri.Contains(objUrl))
|
|
{
|
|
answ = true;
|
|
}
|
|
return answ;
|
|
}
|
|
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
idxMaccSel = await MsgServ.IdxMaccGet();
|
|
if (!string.IsNullOrEmpty(idxMaccSel) && MStor.DictMacchManual.ContainsKey(idxMaccSel))
|
|
{
|
|
IsManual = MStor.DictMacchManual[idxMaccSel];
|
|
}
|
|
else
|
|
{
|
|
IsManual = false;
|
|
}
|
|
}
|
|
|
|
protected async Task SetPage(string tgtUrl)
|
|
{
|
|
if (tgtUrl.Contains("status-map"))
|
|
{
|
|
await MsgServ.IdxMaccSet("");
|
|
}
|
|
await MsgServ.LastOpenedPageSet(tgtUrl);
|
|
// navManager.NavigateTo(tgtUrl, true);
|
|
NavMan.NavigateTo(tgtUrl, false);
|
|
}
|
|
|
|
private string idxMaccSel = "";
|
|
private bool IsManual = false;
|
|
}
|