This commit is contained in:
TheXamlGuy
2024-06-04 15:56:37 +01:00
parent bfd7da1ba8
commit 8e4af19010
3 changed files with 11 additions and 12 deletions
+3 -6
View File
@@ -113,8 +113,7 @@ public partial class App : Application
services.AddSingleton<IDecoratorService<ICollectionSynchronization<ItemNavigationViewModel>>, services.AddSingleton<IDecoratorService<ICollectionSynchronization<ItemNavigationViewModel>>,
DecoratorService<ICollectionSynchronization<ItemNavigationViewModel>>>(); DecoratorService<ICollectionSynchronization<ItemNavigationViewModel>>>();
services.AddTransient(provider => provider.GetRequiredService<IDecoratorService<ICollectionSynchronization<ItemNavigationViewModel>>>().Value!);
services.AddSingleton(provider => provider.GetRequiredService<IDecoratorService<ICollectionSynchronization<ItemNavigationViewModel>>>().Value!);
services.AddHandler<AggerateItemViewModelHandler>(); services.AddHandler<AggerateItemViewModelHandler>();
@@ -148,11 +147,9 @@ public partial class App : Application
services.AddTemplate<ItemMaskedTextEntryViewModel, ItemMaskedTextEntryView>(); services.AddTemplate<ItemMaskedTextEntryViewModel, ItemMaskedTextEntryView>();
services.AddTemplate<ItemDropdownEntryViewModel, ItemDropdownEntryView>(); services.AddTemplate<ItemDropdownEntryViewModel, ItemDropdownEntryView>();
services.AddScoped<IDecoratorService<ICollectionSynchronization<IItemEntryViewModel>>, services.AddSingleton<IDecoratorService<ICollectionSynchronization<IItemEntryViewModel>>,
DecoratorService<ICollectionSynchronization<IItemEntryViewModel>>>(); DecoratorService<ICollectionSynchronization<IItemEntryViewModel>>>();
services.AddTransient(provider => provider.GetRequiredService<IDecoratorService<ICollectionSynchronization<IItemEntryViewModel>>>().Value!);
services.AddScoped(provider => provider.GetRequiredService<IDecoratorService<ICollectionSynchronization<IItemEntryViewModel>>>().Value!);
services.AddTemplate<ItemCommandHeaderViewModel, ItemCommandHeaderView>("ItemCommandHeader"); services.AddTemplate<ItemCommandHeaderViewModel, ItemCommandHeaderView>("ItemCommandHeader");
+2 -2
View File
@@ -13,8 +13,8 @@ public class ConfirmCreateItemHandler(IMediator mediator,
if (name is not null) if (name is not null)
{ {
IList<ItemEntryConfiguration?> entries = await mediator.HandleMany<ConfirmEventArgs<ItemContentEntry>, IList<(int, ItemEntryConfiguration)> entries = await mediator.HandleMany<ConfirmEventArgs<ItemContentEntry>,
ItemEntryConfiguration>(Confirm.As<ItemContentEntry>()); (int, ItemEntryConfiguration)>(Confirm.As<ItemContentEntry>());
Guid id = Guid.NewGuid(); Guid id = Guid.NewGuid();
publisher.Publish(Created.As(new Item<(Guid, string)>((id, name)))); publisher.Publish(Created.As(new Item<(Guid, string)>((id, name))));
+6 -4
View File
@@ -1,4 +1,5 @@
using Toolkit.Foundation; using Microsoft.Extensions.DependencyInjection;
using Toolkit.Foundation;
namespace Bitvault; namespace Bitvault;
@@ -13,15 +14,16 @@ public partial class ItemEntryViewModel<TKey, TValue>(IServiceProvider provider,
TKey? key = default, TKey? key = default,
TValue? value = default) : TValue? value = default) :
Observable<TKey, TValue>(provider, factory, mediator, publisher, subscriber, disposer, key, value), Observable<TKey, TValue>(provider, factory, mediator, publisher, subscriber, disposer, key, value),
IHandler<ConfirmEventArgs<ItemContentEntry>, ItemEntryConfiguration>, IHandler<ConfirmEventArgs<ItemContentEntry>, (int, ItemEntryConfiguration)>,
IItemEntryViewModel, IItemEntryViewModel,
IIndexable IIndexable
{ {
public int Index => synchronization.IndexOf(this); public int Index => synchronization.IndexOf(this);
public Task<ItemEntryConfiguration> Handle(ConfirmEventArgs<ItemContentEntry> args, public Task<(int, ItemEntryConfiguration)> Handle(ConfirmEventArgs<ItemContentEntry> args,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
return Task.FromResult(configuration with { Value = Value }); var doo = Provider.GetRequiredService<ICollectionSynchronization<IItemEntryViewModel>>();
return Task.FromResult((Index, configuration with { Value = Value }));
} }
} }