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>
This commit is contained in:
2026-09-17 12:45:47 +02:00
parent ca0aaf69b5
commit 7099f02b60
5 changed files with 33 additions and 7 deletions
@@ -9,7 +9,11 @@
<MudThemeProvider Theme="_theme" IsDarkMode="false"/> <MudThemeProvider Theme="_theme" IsDarkMode="false"/>
<MudPopoverProvider/> <MudPopoverProvider/>
<MudDialogProvider CloseButton="false" NoHeader="true" BackdropClick="false"/> @* NoHeader NON va messo qui: e' il valore predefinito di tutti i dialog e
sopprimerebbe il titolo dei MudMessageBox, che lo rendono nella testata.
Le schermate a tutto schermo (form scheda, scelta punto vendita) lo
chiedono gia' per conto loro nelle DialogOptions. *@
<MudDialogProvider CloseButton="false" BackdropClick="false"/>
<MudSnackbarProvider/> <MudSnackbarProvider/>
<ConnectionState IsNetworkAvailable="IsNetworkAvailable" ServicesIsDown="ServicesIsDown" ShowWarning="ShowWarning"/> <ConnectionState IsNetworkAvailable="IsNetworkAvailable" ServicesIsDown="ServicesIsDown" ShowWarning="ShowWarning"/>
+2 -1
View File
@@ -84,7 +84,8 @@
</div> </div>
<SpinnerOverlay VisibleOverlay="VisibleOverlay" Message="@_progressMessage"/> <SpinnerOverlay VisibleOverlay="VisibleOverlay" Message="@_progressMessage"/>
<ConfirmMessageBox @ref="_logoutBox" NoText="Annulla" YesText="Esci" YesColor="Color.Error" <ConfirmMessageBox @ref="_logoutBox" Title="Uscire dall'account?" NoText="Annulla"
YesText="Esci" YesColor="Color.Error"
Message="Uscendo servirà di nuovo la connessione per rientrare. Le ispezioni salvate sul dispositivo restano al loro posto."/> Message="Uscendo servirà di nuovo la connessione per rientrare. Le ispezioni salvate sul dispositivo restano al loro posto."/>
@code { @code {
@@ -82,7 +82,8 @@
} }
</div> </div>
<ConfirmMessageBox @ref="_messageBox" NoText="Annulla" YesText="Elimina" YesColor="Color.Error" <ConfirmMessageBox @ref="_messageBox" Title="Eliminare la scheda?" NoText="Annulla"
YesText="Elimina" YesColor="Color.Error"
Message="La scheda verrà eliminata dal dispositivo e, se già inviata, anche dal server. L'operazione non è reversibile."/> Message="La scheda verrà eliminata dal dispositivo e, se già inviata, anche dal server. L'operazione non è reversibile."/>
@code{ @code{
@@ -1,4 +1,9 @@
<MudMessageBox @ref="_confirmDelete" Title="Attenzione!" CancelText="@NoText"> @* 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> <MessageContent>
@Message @Message
</MessageContent> </MessageContent>
@@ -11,6 +16,7 @@
@code @code
{ {
[Parameter] public string Title { get; set; } = "Attenzione";
[Parameter] public string Message { get; set; } = string.Empty; [Parameter] public string Message { get; set; } = string.Empty;
[Parameter] public string YesText { get; set; } = string.Empty; [Parameter] public string YesText { get; set; } = string.Empty;
[Parameter] public string NoText { get; set; } = "Annulla"; [Parameter] public string NoText { get; set; } = "Annulla";
@@ -336,13 +336,27 @@
overflow-x: hidden; overflow-x: hidden;
} }
/* Le scelte stanno in fondo, allineate a destra, con la conferma per ultima.
Su schermo stretto le etichette lunghe ("Salva come bozza") andrebbero a
sbattere: in quel caso la riga diventa una colonna a piena larghezza invece
di comprimere i bersagli. */
.mud-dialog-actions { .mud-dialog-actions {
display: flex; display: flex;
gap: var(--space-sm); flex-wrap: wrap;
justify-content: flex-end;
gap: var(--space-xs);
padding: var(--space-lg); padding: var(--space-lg);
} }
.mud-dialog-actions > * { flex: 1 1 0; margin: 0 !important; } .mud-dialog-actions > * {
margin: 0 !important;
min-height: var(--touch-min);
}
@media (max-width: 380px) {
.mud-dialog-actions { flex-direction: column-reverse; }
.mud-dialog-actions > * { width: 100%; }
}
/* Il form scheda e' a schermo pieno: e' una schermata, non un riquadro. */ /* Il form scheda e' a schermo pieno: e' una schermata, non un riquadro. */
.mud-dialog.customDialog-form { .mud-dialog.customDialog-form {