Files
SteUP_Dotnet/SteUp.Shared/Components/SingleElements/MessageBox/ConfirmMessageBox.razor
T
MarcoE 7099f02b60 Ridai il titolo ai dialog di conferma
MudDialogProvider aveva NoHeader="true" come valore predefinito di tutti i
dialog. MudMessageBox rende il proprio titolo nella testata, quindi quel
valore lo sopprimeva ovunque: davanti a "Elimina" si leggeva solo il testo
delle conseguenze, senza la domanda.

Le schermate a tutto schermo (form scheda, scelta punto vendita, scelta
articoli) chiedono gia' NoHeader per conto loro nelle DialogOptions, quindi
toglierlo dal provider non le tocca.

I titoli ora dicono cosa sta per succedere invece del generico "Attenzione!":
"Eliminare la scheda?", "Uscire dall'account?", "Inviare le schede del
reparto?".

Le scelte in fondo al dialog si dispongono a destra e, sotto i 380 punti,
diventano una colonna a piena larghezza: con etichette lunghe come "Salva come
bozza" i bersagli non si comprimono.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 12:45:47 +02:00

33 lines
1.1 KiB
Plaintext

@* Conferma di un'azione. Il titolo dice cosa sta per succedere, il messaggio
che conseguenze ha: davanti a un'azione irreversibile la domanda deve
essere leggibile prima del testo, non dedotta da esso.
YesText -> true, NoText -> false, chiusura senza scelta -> null. *@
<MudMessageBox @ref="_confirmDelete" Title="@Title" CancelText="@NoText">
<MessageContent>
@Message
</MessageContent>
<YesButton>
<MudButton Size="Size.Small" Variant="Variant.Filled" Color="YesColor">
@YesText
</MudButton>
</YesButton>
</MudMessageBox>
@code
{
[Parameter] public string Title { get; set; } = "Attenzione";
[Parameter] public string Message { get; set; } = string.Empty;
[Parameter] public string YesText { get; set; } = string.Empty;
[Parameter] public string NoText { get; set; } = "Annulla";
[Parameter] public Color YesColor { get; set; } = Color.Primary;
private MudMessageBox? _confirmDelete;
public async Task<bool?> ShowAsync()
{
if (_confirmDelete == null) return null;
return await _confirmDelete.ShowAsync();
}
}