using MudBlazor; using SteUp.Shared.Components.SingleElements.Modal; using SteUp.Shared.Components.SingleElements.Modal.ExceptionModal; using SteUp.Shared.Core.Dto; using SteUp.Shared.Core.Entities; namespace SteUp.Shared.Core.Helpers; public static class ModalHelper { extension(IDialogService dialog) { public async Task OpenSelectShop() { var modal = await dialog.ShowAsync( "ModalSelectShop", new DialogParameters(), new DialogOptions { FullScreen = false, CloseButton = false, NoHeader = true, BackdropClick = true } ); return await modal.Result; } public async Task OpenFormScheda(string codMdep, DateTime data, bool isNew = false, Scheda? scheda = null, bool readOnly = false) { scheda = isNew && scheda == null ? new Scheda() : scheda; var modal = await dialog.ShowAsync( "ModalFormScheda", new DialogParameters { { x => x.CodMdep, codMdep }, { x => x.Data, data }, { x => x.IsNew, isNew }, { x => x.ReadOnly, readOnly }, { x => x.Scheda, scheda } }, new DialogOptions { FullScreen = true, CloseButton = false, NoHeader = true } ); return await modal.Result; } public async Task OpenAddAttached() { var modal = await dialog.ShowAsync( "Add attached", new DialogParameters(), new DialogOptions { FullScreen = false, CloseButton = false, NoHeader = true, BackdropClick = false } ); return await modal.Result; } public async Task OpenSuggestActivityDescription(List? activityTypers) { var modal = await dialog.ShowAsync( "Suggest activity description", new DialogParameters { { x => x.ActivityTypers, activityTypers } }, new DialogOptions { FullScreen = false, CloseButton = false, NoHeader = true, BackdropClick = true } ); return await modal.Result; } public async Task OpenSelectArt(List? articoli) { var modal = await dialog.ShowAsync( "ModalSelectArt", new DialogParameters { { x => x.Articoli, articoli } }, new DialogOptions { FullScreen = false, CloseButton = false, NoHeader = true, BackdropClick = true, FullWidth = true, MaxWidth = MaxWidth.ExtraLarge } ); return await modal.Result; } public async Task ShowError(string message) { var modal = await dialog.ShowAsync( "ModalError", new DialogParameters { { x => x.ErrorMessage, message } }, new DialogOptions { FullScreen = false, CloseButton = false, NoHeader = true, BackdropClick = true, FullWidth = true, MaxWidth = MaxWidth.ExtraLarge } ); await modal.Result; } public async Task ShowWarning(string message) { var modal = await dialog.ShowAsync( "ModalError", new DialogParameters { { x => x.ErrorMessage, message }, { x => x.IsWarning, true } }, new DialogOptions { FullScreen = false, CloseButton = false, NoHeader = true, BackdropClick = true, FullWidth = true, MaxWidth = MaxWidth.ExtraLarge } ); await modal.Result; } } }