8b73e7dca6
- update condizioni visibilità dataPager - update display lista valori setup - test debug locale
118 lines
5.7 KiB
Plaintext
118 lines
5.7 KiB
Plaintext
|
|
<div class="card shadow">
|
|
<div class="card-header">
|
|
<div class="d-flex justify-content-between">
|
|
<div class="p-0 d-flex">
|
|
<div class="px-0 py-0">
|
|
<div class="mb-0 fw-bold text-uppercase">App Control Center</div>
|
|
<small class="small mb-0"><i class="fa-solid fa-computer"></i> @ComputerName | <i class="fa-solid fa-user"></i> @($"{DomainName}\\{UserName}")</small>
|
|
</div>
|
|
@if (RemoteCallActive)
|
|
{
|
|
<div class="px-2">
|
|
<i class="fa-solid fa-cloud-arrow-down fs-4 text-success"></i>
|
|
</div>
|
|
}
|
|
@if (isUpdating)
|
|
{
|
|
<div class="px-2">
|
|
<i class="fa-solid fa-spinner fa-spin fs-4 text-success"></i> <span class="small px-1">updating</span>
|
|
</div>
|
|
}
|
|
<ProgressDisplay RefreshInterval="100" Title="@UpdateMsg" MaxVal="@maxVal" CurrVal="@currVal" NextVal="@nextVal" ExpTimeMSec="@expTimeMSec" DisplaySize="ProgressDisplay.ModalSize.Medium" ModalCss="card alert-primary" SlowLimit="0.4"></ProgressDisplay>
|
|
</div>
|
|
<div class="p-0 d-flex small">
|
|
<div class="px-0 input-group input-group-sm">
|
|
<span class="input-group-text py-0">
|
|
<span class="form-check form-switch">
|
|
<label class="form-check-label">Only Updates</label>
|
|
<input class="form-check-input" type="checkbox" @bind="@ShowOnlyUpdate">
|
|
</span>
|
|
</span>
|
|
<button class="btn btn-sm btn-outline-success" @onclick="ForceCheck" title="Forza Verifica Immediata">Check Now <i class="fa-solid fa-rotate"></i></button>
|
|
<button class="btn btn-sm btn-outline-primary" @onclick="ToggleSetup" title="Setup Controlli"><i class="fa-solid fa-angles-left"></i></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body px-2">
|
|
<table class="table table-striped table-sm text-start shadow border">
|
|
<thead>
|
|
<tr class="bg-dark bg-gradient text-light">
|
|
<th>Application</th>
|
|
<th>Installed</th>
|
|
<th>Available</th>
|
|
<th class="text-end">Note</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@if (ListRecords == null || ListRecords.Count == 0)
|
|
{
|
|
<tr>
|
|
<td colspan="5">
|
|
@if (isLoading)
|
|
{
|
|
<EgwCoreLib.Razor.LoadingData DisplaySize="EgwCoreLib.Razor.LoadingData.CtrlSize.Small"></EgwCoreLib.Razor.LoadingData>
|
|
}
|
|
else
|
|
{
|
|
<div class="alert alert-warning">Nessun aggiornamento disponibile!</div>
|
|
}
|
|
</td>
|
|
</tr>
|
|
}
|
|
else
|
|
{
|
|
@foreach (var item in ListRecords)
|
|
{
|
|
<tr>
|
|
<td class="d-flex justify-content-between">
|
|
<div class="px-1">
|
|
@item.CodApp
|
|
</div>
|
|
@if (item.HasUpdate)
|
|
{
|
|
<div class="px-1">
|
|
@if (item.CanInstall)
|
|
{
|
|
<button class="btn btn-sm @UpdateCss py-0 px-1" @onclick="() => DoUpdate(item)" title="Esegui Update"><i class="fa-solid fa-download"></i></button>
|
|
}
|
|
else
|
|
{
|
|
@if (item.RelTagsLast != null && item.RelTagsLast.Contains("CRITICAL"))
|
|
{
|
|
<i class="fa-solid fa-circle text-danger mx-2"></i>
|
|
}
|
|
else
|
|
{
|
|
<i class="fa-solid fa-circle text-warning mx-2"></i>
|
|
}
|
|
}
|
|
</div>
|
|
}
|
|
</td>
|
|
<td>
|
|
@item.VersNumCurr
|
|
@if (item.VersNumCurr == "0.0.0.0")
|
|
{
|
|
<i class="fa-solid fa-triangle-exclamation text-warning mx-2"></i>
|
|
}
|
|
</td>
|
|
<td>@item.VersNumLast</td>
|
|
<td class="text-end">@item.RelTagsLast</td>
|
|
</tr>
|
|
}
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="card-footer py-0 align-middle">
|
|
@if (totalCount > numRecord)
|
|
{
|
|
<EgwCoreLib.Razor.DataPager PageSize="@numRecord" currPage="@currPage" numRecordChanged="SetNumRec" numPageChanged="SetPage" totalCount="@totalCount" showLoading="@isLoading"></EgwCoreLib.Razor.DataPager>
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
|