Files
gpw_next/GPW.CORE.WRKLOG/Components/RegAtt.razor
T
2023-01-05 10:51:57 +01:00

93 lines
6.6 KiB
Plaintext

@using CORE.Data.DbModels
@using WRKLOG.Data
@inject GpwDataService GDataServ
@inject MessageService AppMServ
@inject IJSRuntime JSRuntime
<div class="py-0 small flex-fill @blockCss" style="width: @widthPerc">
<div class="d-flex">
@if (@CurrData.IdxFase > 0)
{
<div class="dropdown shadow-lg">
<button @onclick="() => Edit()" class="@buttonCss px-1 text-center border border-0 rounded-0 rounded-start btn btn-primary bg-opacity-75 btn-sm py-1 font-monospace2" style="font-size: 0.75rem;" disabled="@(IsClipboard)">
@if (@CurrData.OreTot > 1)
{
<div>@CurrData.Inizio.ToString("HH:mm")</div>
<div>@CurrData.Fine.ToString("HH:mm")</div>
<div class="badge bg-dark font-monospace">@($"{@CurrData.Durata.Hours}:{@CurrData.Durata.Minutes:00}")</div>
}
else
{
<div>@CurrData.Inizio.ToString("HH")</div>
<div>@CurrData.Inizio.ToString("mm")</div>
<div class="badge bg-dark font-monospace">@($"{CurrData.OreTot * 60:N0}'")</div>
}
</button>
@if (!IsClipboard && EnableActionMenu)
{
<div class="@cssDropContent border border-dark bg-dark text-light rounded p-2">
<div class="row">
<div class="col-12 pr-0">
<div class="text-light text-start"><b>@($"{CurrData.FasiNav?.ProgettoNav?.ClienteNav?.RagSociale}")</b> - <span class="textTrim max20Char" title="@CurrData.FasiNav?.ProgettoNav?.NomeProj">@($"{CurrData.FasiNav?.ProgettoNav?.NomeProj}")</span> | <span class="text-info text-start textTrim max20Char" title="@CurrData.FasiNav?.DescrizioneFase">@($"{CurrData.FasiNav?.DescrizioneFase}")</span></div>
<div class="text-warning text-start textTrim max30Char" title="@CurrData.Descrizione">@($"{CurrData.Descrizione}")</div>
</div>
</div>
@if (AppMServ.PayloadOk)
{
<div class="btn-group btn-group-sm w-100 py-2">
<button @onclick="() => Edit()" class="btn btn-sm btn-info"><i class="fas fa-pencil-alt"></i> Edit</button>
@if (!VetoInsert || CurrData.FasiNav != null && CurrData.FasiNav.Attivo)
{
<button @onclick="() => Clone()" class="btn btn-sm btn-primary"><i class="far fa-copy"></i> Copy</button>
}
else
{
<span class="btn btn-sm btn-secondary disabled"><i class="far fa-copy"></i> Copy</span>
}
<button @onclick="() => Delete()" class="btn btn-sm btn-danger"><i class="fas fa-trash-alt"></i> Delete</button>
</div>
<div class="btn-group btn-group-sm w-100 small">
<button @onclick="() => AddTime(false,-120)" class="btn btn-sm btn-warning">-2h</button>
<button @onclick="() => AddTime(false,-60)" class="btn btn-sm btn-warning">-1h</button>
<button @onclick="() => AddTime(false,-30)" class="btn btn-sm btn-warning">-30'</button>
<button @onclick="() => AddTime(false,-15)" class="btn btn-sm btn-warning">-15'</button>
<span class="bg-dark text-light py-2" style="font-size: 1.3em; width: 4em;">@CurrData.Inizio.ToString("HH:mm")</span>
<button @onclick="() => AddTime(false,15)" class="btn btn-sm btn-success">+15'</button>
<button @onclick="() => AddTime(false,30)" class="btn btn-sm btn-success">+30'</button>
<button @onclick="() => AddTime(false,60)" class="btn btn-sm btn-success">+1h</button>
<button @onclick="() => AddTime(false,120)" class="btn btn-sm btn-success ">+2h</button>
</div>
<div class="btn-group btn-group-sm w-100 small mt-2">
<button @onclick="() => AddTime(true,-120)" class="btn btn-sm btn-outline-warning">-2h</button>
<button @onclick="() => AddTime(true,-60)" class="btn btn-sm btn-outline-warning">-1h</button>
<button @onclick="() => AddTime(true,-30)" class="btn btn-sm btn-outline-warning">-30'</button>
<button @onclick="() => AddTime(true,-15)" class="btn btn-sm btn-outline-warning">-15'</button>
<span class="bg-dark text-light py-2" style="font-size: 1.3em; width: 4em;">@CurrData.Fine.ToString("HH:mm")</span>
<button @onclick="() => AddTime(true,15)" class="btn btn-sm btn-outline-success">+15'</button>
<button @onclick="() => AddTime(true,30)" class="btn btn-sm btn-outline-success">+30'</button>
<button @onclick="() => AddTime(true,60)" class="btn btn-sm btn-outline-success">+1h</button>
<button @onclick="() => AddTime(true,120)" class="btn btn-sm btn-outline-success">+2h</button>
</div>
}
</div>
}
</div>
<div class="px-1 py-0 text-start textTrim flex-fill shadow-lg">
<div class="text-dark" title="@CurrData.FasiNav?.ProgettoNav?.ClienteNav?.RagSociale - @CurrData.FasiNav?.ProgettoNav?.NomeProj"><b>@(trimLine($"{CurrData.FasiNav?.ProgettoNav?.ClienteNav?.RagSociale}", 60))</b>&nbsp;@(trimLine($"{CurrData.FasiNav?.ProgettoNav?.NomeProj}", 60))</div>
<div class="text-secondary" title="@CurrData.FasiNav?.DescrizioneFase">@(trimLine($"{CurrData.FasiNav?.DescrizioneFase}", 150))</div>
<div class="small" title="@CurrData.Descrizione">@(trimLine($"{CurrData.Descrizione}", 200))</div>
</div>
}
else
{
<div class="px-1 small textTrim py-2">
<AddRA IdxDip="@IdxDipSel" NewItemCreated="ReportSelect" InizioPer="@CurrData.Inizio" EnableAction="@EnableActionMenu"></AddRA>
</div>
}
</div>
</div>