using CommunityToolkit.Mvvm.ComponentModel; using Toolkit.Foundation; namespace Bitvault; [Notification(typeof(CreateEventArgs), nameof(Section))] public partial class ItemSectionViewModel(IServiceProvider provider, IServiceFactory factory, IMediator mediator, IPublisher publisher, ISubscription subscriber, IDisposer disposer, IContentTemplate template, ISynchronizationCollection synchronization, string section) : ObservableCollection(provider, factory, mediator, publisher, subscriber, disposer), IHandler, (int, string)>, IIndexable { [ObservableProperty] private string section = section; public IContentTemplate Template { get; set; } = template; public int Index => synchronization.IndexOf(this); public Task<(int, string)> Handle(ConfirmEventArgs args, CancellationToken cancellationToken) => Task.FromResult((0, Section)); }