Files
lux/Lux.UI/Components/Compo/WorkLoad/SingleRequest.razor
T
Annamaria Sassi 1ba9414b21 - Modificata modale con parti
- Modificata modale con scelta grezzi
- Modificata modale per bilanciamento
2026-07-03 10:48:31 +02:00

80 lines
2.3 KiB
Plaintext

<div class="@DimCss">
<div class="input-group">
<span class="input-group-text">@CurrReq.Key</span>
@if (enableModValue)
{
<input type="number" class="form-control text-end" @bind="@SetValue"/>
}
else
{
<input type="number" readonly class="form-control text-end bg-body-secondary" value="@FormattedValue" />
}
@* <InputPercent CssClass="form-control" Value="@((decimal)CurrReq.Value)" ValueChanged="SetPerc"></InputPercent> *@
@if (Mode == TimeEstim.SetMode.Balance)
{
<button class="btn btn-sm btn-outline-success" @onclick="() => SetPerc(0)">0%</button>
<button class="btn btn-sm btn-outline-success" @onclick="() => SetPerc((decimal)0.5)">50%</button>
<button class="btn btn-sm btn-outline-success" @onclick="() => SetPerc(1)">100%</button>
<button class="btn btn-sm btn-outline-success" @onclick="() => EnableMod()">Set</button>
}
else
{
<span class="input-group-text">%</span>
}
</div>
</div>
@code {
[Parameter]
public PercRequest CurrReq { get; set; } = null!;
[Parameter]
public TimeEstim.SetMode Mode { get; set; } = TimeEstim.SetMode.None;
/// <summary>
/// Event for update
/// </summary>
[Parameter]
public EventCallback<PercRequest> EC_Updated { get; set; }
public record PercRequest(string Key, double Value);
private bool enableModValue = false;
private string FormattedValue{
get
{
double ans = CurrReq.Value * 100;
return ans.ToString("F0", System.Globalization.CultureInfo.InvariantCulture) ?? "0";
}
}
private string DimCss => Mode == TimeEstim.SetMode.Balance ? "col-5" : "col-3";
private double SetValue
{
get
{
return CurrReq.Value * 100;
}
set
{
CurrReq = CurrReq with { Value = (double)value /100 };
_ = EC_Updated.InvokeAsync(CurrReq);
}
}
private async Task SetPerc(decimal reqValue)
{
CurrReq = CurrReq with { Value = (double)reqValue };
await EC_Updated.InvokeAsync(CurrReq);
}
private void EnableMod()
{
enableModValue = !enableModValue;
}
}