191 lines
12 KiB
Plaintext
191 lines
12 KiB
Plaintext
@page "/IobList"
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card shadow">
|
|
<div class="card-header text-center">
|
|
<div class="row">
|
|
<div class="col-4">
|
|
<div class="input-group">
|
|
<span class="input-group-text">Ricerca</span>
|
|
<input type="text" class="form-control" placeholder="alt-/" @bind="SearchValue" accesskey="/">
|
|
<button class="btn @BtnResetCss" @onclick="ResetSearch"><i class="fa-solid fa-rotate-right"></i></button>
|
|
</div>
|
|
</div>
|
|
<div class="col-4">
|
|
<h2>@Titolo</h2>
|
|
</div>
|
|
<div class="col-4">
|
|
<div class="d-flex justify-content-between">
|
|
<div class="input-group-text">
|
|
<span class="form-check form-switch small align-content-center">
|
|
<input class="form-check-input" type="checkbox" role="switch" title="Mostra / Nascondi Accessori/Extra (es PING e ENR)" @bind-value="@ShowExtra" checked="@ShowExtra">
|
|
<label class="form-check-label">IOB Extra</label>
|
|
</span>
|
|
</div>
|
|
@if (IsSuperAdmin)
|
|
{
|
|
<div class="input-group-text">
|
|
<span class="form-check form-switch small align-content-center me-1">
|
|
<input class="form-check-input" type="checkbox" role="switch" title="Mostra / Nascondi senza locazione" @bind-value="@ShowEmptyLoc" checked="@ShowEmptyLoc">
|
|
<label class="form-check-label">No Loc.</label>
|
|
</span>
|
|
@if (showEmptyLoc)
|
|
{
|
|
<span class="form-check form-switch small align-content-center">
|
|
<input class="form-check-input" type="checkbox" role="switch" title="Mostra / Nascondi multi (es Tavole)" @bind-value="@ShowMulti" checked="@ShowMulti">
|
|
<label class="form-check-label">Multi</label>
|
|
</span>
|
|
}
|
|
else
|
|
{
|
|
<span class="form-check form-switch small align-content-center">
|
|
<input class="form-check-input" type="checkbox" role="switch" title="Mostra / Nascondi multi (es Tavole)" @bind-value="@ShowMulti" checked="@ShowMulti" disabled>
|
|
<label class="form-check-label">Multi</label>
|
|
</span>
|
|
}
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="badge rounded-pill bg-dark px-4 py-2">
|
|
<div class="px-1">
|
|
<a class="text-light" href="https://www.egalware.com/" target="_blank">powered by EgalWare <img width="24" class="img-fluid" src="img/LogoEgalware.svg" /></a>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
@if (isLoading || ListRecords == null)
|
|
{
|
|
<LoadingData></LoadingData>
|
|
}
|
|
else if (totalCount == 0)
|
|
{
|
|
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<table class="table table-sm table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>IdxMacc <Sorter ParamName="IdxMacc" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Nome <Sorter ParamName="Nome" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
@if (IsSuperAdmin)
|
|
{
|
|
<th>Descr <Sorter ParamName="Descr" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
}
|
|
<th>OS <Sorter ParamName="OS" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th><i class="fa-solid fa-computer"></i> PC IOB <Sorter ParamName="IobName" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th><i class="fa-solid fa-laptop-code"></i> Adapter <Sorter ParamName="AdapName" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th class="text-end"><i class="fa-solid fa-network-wired"></i> CNC/PLC <Sorter ParamName="TargetIp" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th class="text-end">Conf</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var item in ListRecords)
|
|
{
|
|
<tr class="@checkSelect(item)">
|
|
<td class="fs-4 fw-bold">@item.IdxMacchina</td>
|
|
<td>
|
|
<div>
|
|
@item.Nome
|
|
</div>
|
|
<div class="small">
|
|
@item.CodMacchina
|
|
</div>
|
|
</td>
|
|
@if (IsSuperAdmin)
|
|
{
|
|
<td>
|
|
<div>
|
|
@item.Descrizione
|
|
</div>
|
|
<div class="small">
|
|
@item.Note
|
|
</div>
|
|
</td>
|
|
}
|
|
<td>@item.OS</td>
|
|
<td>
|
|
@if (!string.IsNullOrEmpty(item.IobName))
|
|
{
|
|
<div class="fw-bold">
|
|
@item.IobName
|
|
</div>
|
|
<div class="small d-flex justify-content-between">
|
|
<div class="px-0">
|
|
@item.IobIpv4
|
|
</div>
|
|
<div class="px-0">
|
|
@item.IobMac
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div>-</div>
|
|
}
|
|
</td>
|
|
<td>
|
|
@if (!string.IsNullOrEmpty(item.AdapName))
|
|
{
|
|
<div class="fw-bold">
|
|
@item.AdapName
|
|
</div>
|
|
<div class="small d-flex justify-content-between">
|
|
<div class="px-0">
|
|
<span><i class="fa-solid fa-arrow-right"></i> @item.AdapType</span>
|
|
</div>
|
|
<div class="px-0">
|
|
@item.AdapVers
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div>-</div>
|
|
}
|
|
</td>
|
|
<td class="text-end">
|
|
@if (!string.IsNullOrEmpty(item.TargetIp))
|
|
{
|
|
<b>@item.TargetIp</b>
|
|
<div class="small">
|
|
port: @item.TargetPort
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div>-</div>
|
|
}
|
|
</td>
|
|
<td class="text-end">
|
|
<a class="btn btn-primary btn-sm" target="_blank" href="@($"ConfDetail?idxMacc={item.IdxMacchina}")"><i class="fa-solid fa-gear"></i></a>
|
|
</td>
|
|
</tr>
|
|
}
|
|
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<td colspan="8">
|
|
<DataPager PageSize="numRecord" currPage="currPage" numRecordChanged="SetNumRec" numPageChanged="SetPage" totalCount="totalCount" showLoading="isLoading" />
|
|
</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
@* <div class="card-footer py-1">
|
|
</div> *@
|
|
</div>
|
|
</div>
|
|
</div>
|