Files
lux/Lux.UI/Components/Compo/Config/ProfileMan.razor
T
2026-06-05 12:25:03 +02:00

131 lines
6.7 KiB
Plaintext

@inherits BaseComp
<div class="card shadow">
<div class="card-header text-bg-secondary">
<div class="d-flex justify-content-between">
<div class="px-0 d-flex">
<div class="px-0">
<h5>@Traduci("config_tipiProfilo")</h5>
</div>
<div class="px-2">
<button class="btn btn-sm btn-primary" title="@Traduci("aggiorna") @Traduci("config_tipiProfilo")" @onclick="DoReqUpdate">@Traduci("profilo") <i class="fa-solid fa-arrow-rotate-right"></i></button>
</div>
<div class="px-2">
<button class="btn btn-sm @cssBtnThresh" title="@Traduci("aggiorna") @Traduci("config_soglie")" @onclick="DoReqUpdateThresh">@Traduci("config_soglie") <i class="fa-solid fa-arrow-rotate-right"></i></button>
</div>
</div>
<div class="px-0">
<div class="px-0 d-flex justify-content-between">
<div class="px-1">
<div class="input-group input-group-sm" title="@Traduci("ricerca")">
<span class="input-group-text"><i class="fas fa-search"></i></span>
<input type="text" class="form-control" @bind="@SearchVal">
<button class="btn @btnResetCss" @onclick="ResetSearch"><i class="fas fa-ban"></i></button>
</div>
</div>
</div>
</div>
</div>
<div class="row small px-2">
@Traduci("config_noModificabile")
</div>
</div>
<div class="card-body p-1">
@if (isLoading || ListRecords == null)
{
<LoadingData></LoadingData>
}
else if (totalCount == 0)
{
<div class="alert alert-info text-center display-6">@Traduci("noRecord")</div>
}
else
{
<table class="table table-sm table-striped">
<thead>
<tr>
<th class="text-nowrap text-center">
<button class="btn btn-sm btn-primary" title="@Traduci("reset")" @onclick="DoReset"><i class="fa-solid fa-arrow-rotate-right"></i></button>
</th>
<th class="text-nowrap">@Traduci("cod")</th>
<th class="text-nowrap">@Traduci("descrizione")</th>
<th class="text-nowrap text-end">@Traduci("config_soglie")</th>
<th class="text-nowrap text-end">@Traduci("data")</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var item in ListRecords)
{
<tr class="@checkSel(item)">
<td class="text-nowrap text-center">
@if (EditRecord != null && EditRecord.Code == item.Code)
{
<button class="btn btn-sm btn-success" title="@Traduci("salva")" @onclick="() => DoSave(item)"><i class="fa-solid fa-floppy-disk"></i></button>
}
else
{
<button class="btn btn-sm btn-info" title="@Traduci("modifica")" @onclick="() => DoEdit(item)"><i class="fa-solid fa-pencil"></i></button>
}
</td>
<td class="">@item.Code</td>
<td class="">
@if (EditRecord != null && EditRecord.Code == item.Code)
{
<input type="text" class="form-control form-control-sm" @bind="@item.Description" />
}
else
{
@item.Description
}
</td>
<td class="text-end"><button class="btn btn-sm btn-info" title="@Traduci("apri")" @onclick="() => ShowThresh(item)">@item.ThresholdList.Count <i class="fa-solid fa-up-right-from-square"></i></button></td>
<td class="text-end"><button class="btn btn-sm btn-info" title="@Traduci("apri")" @onclick="() => ShowData(item)">@item.ProfileDataDict.Count <i class="fa-solid fa-up-right-from-square"></i></button></td>
<td>
@if (EditRecord != null && EditRecord.Code == item.Code)
{
<button class="btn btn-sm btn-warning" title="@Traduci("annulla")" @onclick="DoReset"><i class="fa-solid fa-ban"></i></button>
}
else
{
if(item.ThresholdList.Count==0 && item.ProfileDataDict.Count==0)
{
<button class="btn btn-sm btn-danger" title="@Traduci("elimina")" @onclick="() => DoDelete(item)"><i class="fa-solid fa-trash"></i></button>
}
@* else
{
<button class="btn btn-sm btn-secondary disabled"><i class="fa-solid fa-trash"></i></button>
} *@
}
</td>
</tr>
}
</tbody>
@if (totalCount >= numRecord)
{
<tfoot>
<tr>
<td colspan="15">
<EgwCoreLib.Razor.DataPager currPage="@currPage" PageSize="@numRecord" totalCount="@totalCount" numPageChanged="SavePage" numRecordChanged="SaveNumRec"></EgwCoreLib.Razor.DataPager>
</td>
</tr>
</tfoot>
}
</table>
}
</div>
</div>
@if (!string.IsNullOrEmpty(DetReq) && currDispl != null)
{
if (DetReq == "Threshold")
{
<ProfThreshDetail AllRecords="currDispl.ThresholdList" EC_ReqClose="DoCloseDetail"></ProfThreshDetail>
}
else if (DetReq == "Data")
{
<ProfDataDetail AllRecords="currDispl.ProfileDataDict" EC_ReqClose="DoCloseDetail"></ProfDataDetail>
}
}
<BootstrapModal @ref=Modal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>