Files
mapo-core/MP.Prog/Pages/Archive.razor
T
Samuele Locatelli d9fa23b17b PROG:
- Aggiunta preliminare gestione UserName
- verifica gestione auth windows
- update in prod
2024-10-22 12:06:25 +02:00

196 lines
11 KiB
Plaintext

@page "/Archive"
<div class="card shadow">
<div class="card-header table-primary">
<div class="d-flex justify-content-between">
<div class="px-0">
<h4>Elenco Programmi</h4>
<div class="form-group mb-0">
<button id="btnForceCheck" class="btn btn-warning btn-sm" @onclick="() => ForceCheck(30)" title="Analisi Modifiche ultimi 30gg">
<i class="fas fa-sync-alt"></i> Update (30gg) <i class="far fa-folder-open"></i>
</button>
</div>
</div>
<div class="px-0 text-end">
<div class="d-flex flex-row-reverse">
<div class="px-0">
<div class="input-group">
<span class="input-group-text">
<span class="fas fa-industry" aria-hidden="true"></span>
</span>
<select @bind="@SelIdxMacc" class="form-select form-select-sm">
@if (MacList != null)
{
foreach (var item in MacList)
{
<option value="@item.IdxMacchina">@item.Descrizione (@item.RuleName)</option>
}
}
</select>
<button id="btnReset" class="btn btn-info btn-sm" @onclick="() => ResetFilter()" title="Reset Filter"><span class="oi oi-loop-circular"></span></button>
</div>
</div>
<div class="px-1">
<div class="form-check form-switch small">
<input class="form-check-input" type="checkbox" role="switch" title="Solo Aperti / Mostra tutti" @bind-value="@OnlyMod" checked="@OnlyMod">
<label class="form-check-label">Mod</label>
</div>
</div>
<div class="px-1">
<div class="form-check form-switch small">
<input class="form-check-input" type="checkbox" role="switch" title="Solo Attivi / Mostra tutti" @bind-value="@OnlyActive" checked="@OnlyActive">
<label class="form-check-label">Attivi</label>
</div>
</div>
<div class="px-1">
<div class="form-check form-switch small">
<input class="form-check-input" type="checkbox" role="switch" title="Solo Senza Tag / Mostra tutti" @bind-value="@OnlyNoTag" checked="@OnlyNoTag">
<label class="form-check-label">No Tag</label>
</div>
</div>
</div>
<div class="d-flex mt-1">
<div class="px-0 text-truncate">
@if (!string.IsNullOrEmpty(SelFileName))
{
<span class="badge badge-secondary" title="@SelFileName">@TextReduce(SelFileName, 20)</span>
}
</div>
<div class="px-0 w-100">
<div class="input-group input-group-sm">
<span class="input-group-text">Tags</span>
<button type="button" class="btn btn-sm btn-primary" @onclick="() => OpenDialog()" title="Aggiunta Tag">
<i class="fas fa-search"></i>
</button>
<div class="form-control form-control-sm">
@if (!string.IsNullOrEmpty(SelTag))
{
<span class="badge text-bg-info">@SelTag</span>
}
else
{
<span> &nbsp; ... &nbsp; </span>
}
</div>
<div class="input-group-append">
<button type="button" class="btn btn-sm btn-secondary" @onclick="() => ResetTag()" title="Reset Tag">
<i class="fas fa-sync"></i>
</button>
</div>
</div>
@if (DeleteDialogOpen)
{
<TagSearch Title="Ricerca Tag" OnClose="@OnDialogClose"></TagSearch>
}
</div>
</div>
</div>
</div>
</div>
<div class="card-body p-1">
@if (currRecord != null)
{
<FileEditor currItem="@currRecord" DataReset="ResetData" DataUpdated="UpdateData" TagList="@TagList" MacList="@MacList"></FileEditor>
}
@if (ListRecords == null)
{
<EgwCoreLib.Razor.LoadingData></EgwCoreLib.Razor.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 table-responsive-lg">
<thead>
<tr>
<th></th>
<th>File</th>
<th>Rev / State / Size</th>
<th>Macchina</th>
<th>Tags</th>
<th class="text-end">Modificato</th>
@*<th>Controllo</th>*@
<th></th>
</tr>
</thead>
<tbody>
@foreach (var record in ListRecords)
{
<tr class="@checkSelect(record.FileId)">
<td class="text-nowrap">
@if (currRecord == null)
{
<button class="btn btn-sm btn-info" @onclick="() => Edit(record)" title="Edit record #@record.FileId">
<i class="oi oi-pencil"></i>
</button>
}
else
{
<button class="btn btn-sm btn-secondary disabled">
<i class="oi oi-pencil"></i>
</button>
}
</td>
<td>
<div class="@(cssActive(record.Active))">
<div>@record.Name</div>
<button class="btn btn-sm btn-outline-secondary px-1 py-0" @onclick="() => FilterPath(record.Path)" title="Filtra per FilePath">
<div class="small text-truncate">@record.Path</div>
</button>
</div>
</td>
<td>
<div class="d-flex justify-content-xl-between">
<div class="px-0">
@record.Rev
</div>
<div class="px-0">
<span title="@record.DiskStatus | Ultimo controllo: @record.LastCheck.ToString("yyyy.MM.dd HH:mm:ss")">
<span class="@(cssStatusByCod(record.DiskStatus))">
@record.DiskStatus
</span>
</span>
</div>
<div class="px-0">
@CalcSize(record.Size)
</div>
</div>
<div class="d-flex justify-content-xl-between small">
<div class="px-0"><i class="fas fa-user-alt"></i></div>
<div class="px-0">@record.UserAppr</div>
</div>
</td>
<td>
<div>@record.Macchina.Nome</div>
<div class="small">@record.Macchina.Descrizione</div>
</td>
<td style="max-width: 20rem;">
@foreach (var item in record.Tags)
{
<button class="btn btn-sm btn-outline-info px-1 py-0 me-1" @onclick="() => FilterTag(item.TagId)" title="Filtra Tag">
<div class="small">@item.TagId</div>
</button>
}
</td>
<td class="text-end">
<div>@record.LastMod.ToString("yyyy.MM.dd")</div>
<div class="small">@record.LastMod.ToString("ddd HH:mm.ss")</div>
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
}
</div>
<div class="card-footer py-0 px-1">
<EgwCoreLib.Razor.DataPager PageSize="numRecord" currPage="currPage" numRecordChanged="PagerReloadNum" numPageChanged="PagerReloadPage" totalCount="totalCount" showLoading="isLoading"></EgwCoreLib.Razor.DataPager>
</div>
</div>