using CommunityToolkit.Mvvm.ComponentModel; using Toolkit.Foundation; namespace Bitvault; public partial class ItemViewModel : ObservableCollection, INotificationHandler>, INotificationHandler> { [ObservableProperty] private bool archived; public ItemViewModel(IServiceProvider provider, IServiceFactory factory, IMediator mediator, IPublisher publisher, ISubscription subscriber, IDisposer disposer, IContentTemplate template, bool archived = false) : base(provider, factory, mediator, publisher, subscriber, disposer) { Template = template; Archived = archived; if (!Archived) { Publisher.Publish(Notify.As(Factory.Create(new List { Factory.Create(), Factory.Create(), }))); } else { Publisher.Publish(Notify.As(Factory.Create(new List { Factory.Create(), }))); } } public IContentTemplate Template { get; set; } public Task Handle(EditEventArgs args) { Publisher.Publish(Notify.As(Factory.Create(new List { Factory.Create(), Factory.Create(), }))); return Task.CompletedTask; } public Task Handle(CancelEventArgs args) { Publisher.Publish(Notify.As(Factory.Create(new List { Factory.Create(), Factory.Create(), }))); return Task.CompletedTask; } }