90 lines
2.7 KiB
Plaintext
90 lines
2.7 KiB
Plaintext
@using MP.SPEC.Components
|
|
@using MP.SPEC.Data
|
|
@inject MpDataService MDService
|
|
|
|
<div class="top-row ps-2 navbar navbar-dark">
|
|
<div class="container-fluid px-0">
|
|
@if (!showText)
|
|
{
|
|
<a class="navbar-brand p-0" @onclick="() => ToggleCompress()">MS <i class="fas fa-caret-square-right"></i></a>
|
|
}
|
|
else
|
|
{
|
|
<a class="navbar-brand" @onclick="() => ToggleCompress()">MP.SPEC <i class="fas fa-caret-square-left"></i></a>
|
|
}
|
|
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
|
|
<nav class="flex-column">
|
|
<div class="nav-item px-2 col-12">
|
|
<NavLink class="nav-link px-2" href="" Match="NavLinkMatch.All">
|
|
<div class ="col-2">
|
|
<span class="fa-solid fa-house px-2" aria-hidden="true"></span>
|
|
</div>
|
|
<div>
|
|
<span class="@hideText">Home</span>
|
|
</div>
|
|
</NavLink>
|
|
</div>
|
|
@if (ElencoLink == null)
|
|
{
|
|
<LoadingData DisplaySize="LoadingData.CtrlSize.Small"></LoadingData>
|
|
}
|
|
else
|
|
{
|
|
foreach (var item in ElencoLink)
|
|
{
|
|
|
|
<div class="nav-item px-2 col-12">
|
|
<NavLink class="nav-link px-2" href="@item.NavigateUrl">
|
|
<div class="col-2">
|
|
<span class="@item.icona px-2" aria-hidden="true"></span>
|
|
</div>
|
|
<div>
|
|
<span class="@hideText">@item.Testo</span>
|
|
</div>
|
|
</NavLink>
|
|
</div>
|
|
}
|
|
}
|
|
</nav>
|
|
</div>
|
|
|
|
@code {
|
|
private bool collapseNavMenu = true;
|
|
public List<MP.Data.DatabaseModels.LinkMenu>? ElencoLink { get; set; }
|
|
|
|
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
|
|
|
|
private void ToggleNavMenu()
|
|
{
|
|
collapseNavMenu = !collapseNavMenu;
|
|
}
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
// recupero elenco JQM
|
|
ElencoLink = await MDService.ElencoLink();
|
|
await Task.Delay(1);
|
|
}
|
|
|
|
protected bool showText { get; set; } = true;
|
|
protected void ToggleCompress()
|
|
{
|
|
showText = !showText;
|
|
EC_compressUpdated.InvokeAsync(showText);
|
|
}
|
|
|
|
protected string hideText
|
|
{
|
|
get => showText ? "" : "invisible";
|
|
}
|
|
|
|
[Parameter]
|
|
public EventCallback<bool> EC_compressUpdated { get; set; }
|
|
}
|