Med Popups och nytt system för släckning, men utan hantering av rätt popup

This commit is contained in:
2025-10-19 16:33:19 +02:00
parent a8ca07a1bf
commit 735788969a
6 changed files with 34 additions and 12 deletions

View File

@ -9,6 +9,7 @@ public partial class InfoPopupViewModel : ObservableObject, IQueryAttributable
{
private readonly IPopupService _popupService;
private readonly IPopupEventHub _popupEvent;
public string PopupId { get; } = Guid.NewGuid().ToString();
public event EventHandler ClosePopupRequested;
@ -30,7 +31,7 @@ public partial class InfoPopupViewModel : ObservableObject, IQueryAttributable
private async Task Cancel()
{
//await _popupService.ClosePopupAsync(Shell.Current);
_popupEvent.RaiseInfoPopupClose();
_popupEvent.RaiseInfoPopupClose(PopupId);
}
[RelayCommand(CanExecute = nameof(CanSave))]
@ -46,5 +47,4 @@ public partial class InfoPopupViewModel : ObservableObject, IQueryAttributable
Message = (string)query[nameof(InfoPopupViewModel.Message)];
Name = (string)query[nameof(InfoPopupViewModel.Name)];
}
}

View File

@ -35,12 +35,11 @@ public partial class ParticipantViewModel : BaseViewModel
ParticipantObject = new Participant();
ParticipantList = new ObservableCollection<Participant>();
IsSaveCommandEnabled = true;
_popupEvent.InfoPopupCloseRequested += infoPopupViewModel_ClosePopupRequested;
PopupVisad = false;
_popupEvent.InfoPopupCloseRequested += infoPopupViewModel_ClosePopupRequested;
}
#endregion
#endregion
#region Private Variables
[ObservableProperty]
@ -52,6 +51,7 @@ public partial class ParticipantViewModel : BaseViewModel
private readonly IPopupService _popupService;
private readonly IPopupEventHub _popupEvent;
private readonly InfoPopupViewModel _infoPopupViewModel;
private string _activePopupId;
#endregion
@ -176,8 +176,12 @@ public partial class ParticipantViewModel : BaseViewModel
// _popupService.ClosePopupAsync(Shell.Current).GetAwaiter().GetResult();
//}
private async void infoPopupViewModel_ClosePopupRequested(object? sender, EventArgs e)
private async void infoPopupViewModel_ClosePopupRequested(object? sender, PopupCloseEventArgs e)
{
if (e.PopupId != _activePopupId)
{
return;
}
PopupVisad = true;
await _popupService.ClosePopupAsync(Shell.Current);
}

View File

@ -60,6 +60,7 @@ public partial class RoundRunningViewModel : ObservableObject
private Collection<PlayerColumn> playerColumns;
[ObservableProperty]
private RoundBuilderElement builderObject;
private string _activePopupId;
public bool PopupVisad { get; set; }
@ -195,8 +196,12 @@ public partial class RoundRunningViewModel : ObservableObject
}
}
private async void infoPopupViewModel_ClosePopupRequested(object? sender, EventArgs e)
private async void infoPopupViewModel_ClosePopupRequested(object? sender, PopupCloseEventArgs e)
{
if (e.PopupId != _activePopupId)
{
return;
}
PopupVisad = true;
await _popupService.ClosePopupAsync(Shell.Current);
}