WIP: RapidTravel, ModalService
This commit is contained in:
20
src/GuiApp/Avalonia/FileTime.GuiApp/Services/ModalService.cs
Normal file
20
src/GuiApp/Avalonia/FileTime.GuiApp/Services/ModalService.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using DynamicData;
|
||||
using FileTime.App.Core.Services;
|
||||
using FileTime.App.Core.ViewModels;
|
||||
|
||||
namespace FileTime.GuiApp.Services;
|
||||
|
||||
public class ModalService : IModalService
|
||||
{
|
||||
private readonly SourceList<IModalViewModelBase> _openModals = new();
|
||||
public IObservable<IChangeSet<IModalViewModelBase>> OpenModals { get; }
|
||||
|
||||
public ModalService()
|
||||
{
|
||||
OpenModals = _openModals.Connect();
|
||||
}
|
||||
|
||||
public void OpenModal(IModalViewModelBase modalToOpen) => _openModals.Add(modalToOpen);
|
||||
|
||||
public void CloseModal(IModalViewModelBase modalToClose) => _openModals.Remove(modalToClose);
|
||||
}
|
||||
Reference in New Issue
Block a user