Files
mapo-core/MP.Prog/Pages/Archive.razor
T
Samuele Locatelli 8be3041eff MP-PROG:
- correzione update tags da lettura dati
2022-12-29 16:32:41 +01:00

208 lines
11 KiB
Plaintext

@page "/Archive"
@using MP.Prog.Components
<div class="card">
<div class="card-header table-primary">
<div class="row">
<div class="col-12 col-lg-4">
<div class="d-flex">
<div class="px-2">
<h3>Elenco Programmi</h3>
</div>
<div class="px-2">
<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>
</div>
<div class="col-12 col-lg-8 text-right">
<div class="d-flex flex-row-reverse">
<div class="px-2">
<div class="form-group mb-0">
<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-2">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<span class="fas fa-industry" aria-hidden="true"></span>
</span>
</div>
<select @bind="@SelIdxMacc" class="form-control form-control-sm">
@if (MacList != null)
{
foreach (var item in MacList)
{
<option value="@item.IdxMacchina">@item.Descrizione (@item.RuleName)</option>
}
}
</select>
</div>
</div>
<div class="px-2">
<div class="input-group input-group-sm">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="togModificati" title="Solo Aperti / Mostra tutti" @bind-value="@OnlyMod" checked="@OnlyMod" />
<label class="custom-control-label" for="togModificati"><sub>Mod</sub></label>
</div>
</div>
</div>
<div class="px-2">
<div class="input-group input-group-sm">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="togAttivi" title="Solo Attivi / Mostra tutti" @bind-value="@OnlyActive" checked="@OnlyActive" />
<label class="custom-control-label" for="togAttivi"><sub>Attivi</sub></label>
</div>
</div>
</div>
<div class="px-2">
<div class="input-group input-group-sm">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="togNoTag" title="Solo senza Tag / Mostra tutti" @bind-value="@OnlyNoTag" checked="@OnlyNoTag" />
<label class="custom-control-label" for="togNoTag"><sub>No Tag</sub></label>
</div>
</div>
</div>
<div class="px-2 text-truncate">
@if (!string.IsNullOrEmpty(SelFileName))
{
<span class="badge badge-secondary" title="@SelFileName">@TextReduce(SelFileName, 20)</span>
}
</div>
<div class="px-2">
<div class="input-group input-group-sm">
<div class="input-group-prepend">
<button type="button" class="btn btn-sm btn-primary" @onclick="() => OpenDialog()" title="Aggiunta Tag">
<i class="fas fa-search"></i>
</button>
<span class="input-group-text">Tags</span>
</div>
<div class="form-control form-control-sm">
@if (!string.IsNullOrEmpty(SelTag))
{
<span class="badge badge-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)
{
<MP.Prog.Components.TagSearch Title="Ricerca Tag" OnClose="@OnDialogClose"></MP.Prog.Components.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)
{
<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 table-responsive-lg">
<thead>
<tr>
<th></th>
<th>File</th>
<th>Rev</th>
<th>Size</th>
<th class="text-center">State</th>
<th>Macchina</th>
<th>Tags</th>
<th class="text-right">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>@record.Rev</div>
</td>
<td>
<div>@((((double)record.Size)/1024).ToString("N2")) k</div>
</td>
<td class="text-center">
<span title="@record.DiskStatus | Ultimo controllo: @record.LastCheck.ToString(" yyyy.MM.dd HH:mm:ss")">
<span class="@(cssStatusByCod(record.DiskStatus))">
@record.DiskStatus
</span>
</span>
</td>
<td>
<div>@record.Macchina.Nome</div>
<div class="small">@record.Macchina.Descrizione</div>
</td>
<td>
@foreach (var item in record.Tags)
{
<button class="btn btn-sm btn-outline-info px-1 py-0 mr-1" @onclick="() => FilterTag(item.TagId)" title="Filtra Tag">
<div class="small">@item.TagId</div>
</button>
}
</td>
<td class="text-right">
<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 p-1">
<DataPager PageSize="numRecord" currPage="currPage" numRecordChanged="PagerReloadNum" numPageChanged="PagerReloadPage" totalCount="totalCount" showLoading="isLoading" />
</div>
</div>