Files
2022-12-12 18:11:44 +01:00

196 lines
7.9 KiB
Plaintext

@using GWMS.UI.Components
@using Microsoft.AspNetCore.Components.Authorization
@inject AuthenticationStateProvider AuthenticationStateProvider
<div class="top-row pl-3 navbar navbar-dark">
<div class="text-nowrap">
@if (showText)
{
<a class="navbar-brand" @onclick="() => ToggleCompress()" title="Comprimi">
<img src="./img/EgalwareLogo.svg" class="img-fluid" width="32" />
@*<i class="fas fa-2x fa-chevron-left"></i>*@
<span class="text-light">
MAPO.GWMS <i class="fas fa-caret-square-left"></i>
</span>
</a>
}
else
{
<a class="navbar-brand" @onclick="() => ToggleCompress()" title="Comprimi">
<img src="./img/EgalwareLogo.svg" class="img-fluid" width="32" />
@*<i class="fas fa-2x fa-chevron-right"></i>*@
<i class="fas fa-caret-square-right"></i>
</a>
}
</div>
<button class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<ul class="nav flex-column">
<li class="nav-item px-3" title="Home">
<NavLink class="nav-link" href="Home" Match="NavLinkMatch.All">
<span class="fas fa-2x fa-home pr-2" aria-hidden="true"></span>
<span class="@hideText">Home</span>
</NavLink>
</li>
<AuthorizeView>
<NotAuthorized>
<li class="nav-item px-3" title="Login">
<NavLink class="nav-link" href="Identity/Account/LogIn">
<i class="fas fa-2x fa-user-alt pr-2"></i>Non Autenticato
</NavLink>
</li>
</NotAuthorized>
</AuthorizeView>
<AuthorizeView Roles="SuperAdmin, Admin, User">
<Authorized>
<li class="nav-item px-3" title="Stato Impianti">
<NavLink class="nav-link" href="PlantStatus">
<i class="fas fa-2x fa-tachometer-alt pr-2"></i>
<span class="@hideText">Stato Impianti</span>
</NavLink>
</li>
<li class="nav-item px-3" title="Storico Impianto">
<NavLink class="nav-link" href="PlantAnalisys">
<i class="fas fa-2x fa-history pr-2"></i>
<span class="@hideText">Storico Impianto</span>
</NavLink>
</li>
<li class="nav-item px-3" title="Storico Allarmi">
<NavLink class="nav-link" href="AlarmsLog">
<i class="fas fa-2x fa-history pr-2"></i>
<span class="@hideText">Storico Allarmi</span>
</NavLink>
</li>
<li class="nav-item px-3" title="Parametri Impianto">
<NavLink class="nav-link" href="PlantParameters">
<i class="fas fa-2x fa-folder-open pr-2"></i>
<span class="@hideText">Parametri Impianto</span>
</NavLink>
</li>
<li class="nav-item px-3" title="Storico Ordini">
<NavLink class="nav-link" href="Orders">
<i class="fas fa-2x fa-file-invoice pr-2" aria-hidden="true"></i>
<span class="@hideText">Storico Ordini</span>
</NavLink>
</li>
<li class="nav-item px-3" title="Scheda Stazione">
<NavLink class="nav-link" href="GasStation">
<i class="fas fa-2x fa-gas-pump pr-2" aria-hidden="true"></i>
<span class="@hideText">Scheda Stazione</span>
</NavLink>
</li>
</Authorized>
</AuthorizeView>
<AuthorizeView Roles="SuperAdmin, Admin, ExtUser">
<Authorized>
<li class="nav-item px-3" title="Scheda Fornitore">
<NavLink class="nav-link" href="Suppliers">
<i class="fas fa-2x fa-industry pr-2" aria-hidden="true"></i>
<span class="@hideText">Scheda Fornitore</span>
</NavLink>
</li>
</Authorized>
</AuthorizeView>
<AuthorizeView Roles="SuperAdmin, Admin, ExtTransp">
<Authorized>
<li class="nav-item px-3" title="Scheda Trasportatore">
<NavLink class="nav-link" href="Transporters">
<i class="fas fa-2x fa-truck-moving pr-2" aria-hidden="true"></i>
<span class="@hideText">Scheda Trasportatore</span>
</NavLink>
</li>
</Authorized>
</AuthorizeView>
<AuthorizeView Roles="SuperAdmin, Admin">
<Authorized>
<li class="nav-item px-3" title="Planner Consegne">
<NavLink class="nav-link" href="WeekPlan">
<i class="fas fa-2x fa-calendar pr-2" aria-hidden="true"></i>
<span class="@hideText">Planner Consegne</span>
</NavLink>
</li>
<li class="nav-item px-3" title="Setup Impianti">
<NavLink class="nav-link" href="PlantSetup">
<i class="fas fa-2x fa-wrench pr-2" aria-hidden="true"></i>
<span class="@hideText">Setup Impianti</span>
</NavLink>
</li>
<li class="nav-item px-3" title="Admin Utenti">
<NavLink class="nav-link" href="UserAdmin">
<i class="fas fa-2x fa-users pr-2" aria-hidden="true"></i>
<span class="@hideText">Admin Utenti</span>
</NavLink>
</li>
<li class="nav-item px-3" title="Reset Cache">
<NavLink class="nav-link" href="ResetCache">
<i class="fas fa-2x fa-exclamation-triangle pr-2"></i>
<span class="@hideText">Reset Cache</span>
</NavLink>
</li>
</Authorized>
</AuthorizeView>
@*<li class="nav-item px-3" title="Utenti">
<NavLink class="nav-link" href="UserManager">
<i class="fas fa-2x fa-users pr-2" aria-hidden="true"></i>
<span class="@hideText">Utenti</span>
</NavLink>
</li>*@
@*<li class="nav-item px-3" title="Job Scheduler">
<NavLink class="nav-link" href="Scheduler">
<i class="fas fa-2x fa-calendar-alt pr-2" aria-hidden="true"></i>
<span class="@hideText">Job Scheduler</span>
</NavLink>
</li>*@
</ul>
</div>
@code {
[CascadingParameter]
private Task<AuthenticationState> AuthenticationStateTask { get; set; }
private bool collapseNavMenu = true;
private string userName = "";
private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;
protected override async Task OnInitializedAsync()
{
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
var user = authState.User;
if (user.Identity.IsAuthenticated)
{
userName = $"{user.Identity.Name}";
}
else
{
userName = "Non Autenticato";
}
}
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
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; }
}