Added HandleMany

This commit is contained in:
TheXamlGuy
2024-06-02 20:45:31 +01:00
parent 228df9c741
commit e2ac3c6ccc
5 changed files with 34 additions and 4 deletions
+24
View File
@@ -0,0 +1,24 @@
using CommunityToolkit.Mvvm.ComponentModel;
using Toolkit.Foundation;
namespace Bitvault;
public partial class ItemEntryViewModel<TKey, TValue> :
Observable<TKey, TValue>
{
public ItemEntryViewModel(IServiceProvider provider,
IServiceFactory factory,
IMediator mediator,
IPublisher publisher,
ISubscription subscriber,
IDisposer disposer,
string type,
TKey? key = default,
TValue? value = default) : base(provider, factory, mediator, publisher, subscriber, disposer, key, value)
{
Type = type;
}
[ObservableProperty]
private string type;
}
@@ -8,7 +8,8 @@ public class ItemMaskedTextEntryViewModelHandler(IServiceFactory serviceFactory)
public Task<IItemEntryViewModel?> Handle(MaskedTextEntryConfiguration args, public Task<IItemEntryViewModel?> Handle(MaskedTextEntryConfiguration args,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
if (serviceFactory.Create<ItemMaskedTextEntryViewModel>(args.Label, args.Value ?? new object()) is ItemMaskedTextEntryViewModel viewModel) if (serviceFactory.Create<ItemMaskedTextEntryViewModel>(args.Label, args.Value ?? new object()) is
ItemMaskedTextEntryViewModel viewModel)
{ {
return Task.FromResult<IItemEntryViewModel?>(viewModel); return Task.FromResult<IItemEntryViewModel?>(viewModel);
} }
+3 -2
View File
@@ -8,6 +8,7 @@ public partial class ItemPasswordEntryViewModel(IServiceProvider provider,
IPublisher publisher, IPublisher publisher,
ISubscription subscriber, ISubscription subscriber,
IDisposer disposer, IDisposer disposer,
string type,
string? key = default, string? key = default,
object? value = default) : Observable<string, object?>(provider, factory, mediator, publisher, subscriber, disposer, key, value), object? value = default) : ItemEntryViewModel<string, object?>(provider, factory, mediator, publisher, subscriber, disposer, type, key, value),
IItemEntryViewModel; IItemEntryViewModel;
@@ -8,7 +8,8 @@ public class ItemPasswordEntryViewModelHandler(IServiceFactory serviceFactory) :
public Task<IItemEntryViewModel?> Handle(PasswordEntryConfiguration args, public Task<IItemEntryViewModel?> Handle(PasswordEntryConfiguration args,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
if (serviceFactory.Create<ItemPasswordEntryViewModel>(args.Label, args.Value ?? new object()) is ItemPasswordEntryViewModel viewModel) if (serviceFactory.Create<ItemPasswordEntryViewModel>("Password", args.Label, args.Value ?? new object())
is ItemPasswordEntryViewModel viewModel)
{ {
return Task.FromResult<IItemEntryViewModel?>(viewModel); return Task.FromResult<IItemEntryViewModel?>(viewModel);
} }
+3
View File
@@ -10,8 +10,11 @@ public partial class ItemSectionViewModel(IServiceProvider provider,
IPublisher publisher, IPublisher publisher,
ISubscription subscriber, ISubscription subscriber,
IDisposer disposer, IDisposer disposer,
IContentTemplate template,
string section) : ObservableCollection<IItemEntryViewModel>(provider, factory, mediator, publisher, subscriber, disposer) string section) : ObservableCollection<IItemEntryViewModel>(provider, factory, mediator, publisher, subscriber, disposer)
{ {
[ObservableProperty] [ObservableProperty]
private string section = section; private string section = section;
public IContentTemplate Template { get; set; } = template;
} }