From 28791c8c7021df3f4aea2deabff1099613d1f453 Mon Sep 17 00:00:00 2001 From: TheXamlGuy Date: Mon, 1 Jul 2024 18:13:36 +0100 Subject: [PATCH] fixes --- Wallet.Avalonia/MainView.axaml | 10 ++++++++++ Wallet.Avalonia/MainView.axaml.cs | 5 ++++- Wallet.Avalonia/ManageNavigationView.axaml | 10 +++++++--- Wallet.Avalonia/WalletNavigationView.axaml.cs | 1 - Wallet/IconViewModel.cs | 17 ++++++----------- Wallet/ItemCategoryCollectionViewModel.cs | 4 ++-- Wallet/ItemCollectionViewModel.cs | 4 ++-- Wallet/ItemViewModel.cs | 4 ++-- Wallet/MainViewModel.cs | 4 +++- Wallet/ManageNavigationViewModel.cs | 10 ++++++++-- Wallet/OpenWalletViewModel.cs | 12 ++++++++++++ ...SynchronizeItemCollectionViewModelHandler.cs | 2 +- Wallet/WalletNavigationViewModel.cs | 2 +- Wallet/WalletViewModel.cs | 12 ++++++------ 14 files changed, 64 insertions(+), 33 deletions(-) diff --git a/Wallet.Avalonia/MainView.axaml b/Wallet.Avalonia/MainView.axaml index 0c2a411..723f232 100644 --- a/Wallet.Avalonia/MainView.axaml +++ b/Wallet.Avalonia/MainView.axaml @@ -6,6 +6,7 @@ xmlns:vm="using:Wallet" x:DataType="vm:MainViewModel"> + + + + + diff --git a/Wallet.Avalonia/MainView.axaml.cs b/Wallet.Avalonia/MainView.axaml.cs index 26f56eb..b14cef7 100644 --- a/Wallet.Avalonia/MainView.axaml.cs +++ b/Wallet.Avalonia/MainView.axaml.cs @@ -4,5 +4,8 @@ namespace Wallet.Avalonia; public partial class MainView : UserControl { - public MainView() => InitializeComponent(); + public MainView() + { + InitializeComponent(); + } } \ No newline at end of file diff --git a/Wallet.Avalonia/ManageNavigationView.axaml b/Wallet.Avalonia/ManageNavigationView.axaml index 2fdb5c0..d797e38 100644 --- a/Wallet.Avalonia/ManageNavigationView.axaml +++ b/Wallet.Avalonia/ManageNavigationView.axaml @@ -2,11 +2,15 @@ x:Class="Wallet.Avalonia.ManageNavigationView" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - Content="Manage Wallets"> + xmlns:vm="using:Wallet" + x:DataType="vm:ManageNavigationViewModel" + Content="Manage Wallets" + IsSelected="{Binding IsSelected}" + NavigationViewExtension.IsItemInvokedEnabled="True"> - + - + diff --git a/Wallet.Avalonia/WalletNavigationView.axaml.cs b/Wallet.Avalonia/WalletNavigationView.axaml.cs index 4924657..fa9a36d 100644 --- a/Wallet.Avalonia/WalletNavigationView.axaml.cs +++ b/Wallet.Avalonia/WalletNavigationView.axaml.cs @@ -1,5 +1,4 @@ using Avalonia.Controls; -using Toolkit.UI.Controls.Avalonia; namespace Wallet.Avalonia; diff --git a/Wallet/IconViewModel.cs b/Wallet/IconViewModel.cs index e003ec2..a62a1cb 100644 --- a/Wallet/IconViewModel.cs +++ b/Wallet/IconViewModel.cs @@ -2,14 +2,9 @@ namespace Wallet; -public partial class IconViewModel : Observable -{ - public IconViewModel(IServiceProvider provider, - IServiceFactory factory, - IMediator mediator, - IPublisher publisher, - ISubscriber subscriber, - IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer) - { - } -} \ No newline at end of file +public partial class IconViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : Observable(provider, factory, mediator, publisher, subscriber, disposer); \ No newline at end of file diff --git a/Wallet/ItemCategoryCollectionViewModel.cs b/Wallet/ItemCategoryCollectionViewModel.cs index 716dbcd..27ef536 100644 --- a/Wallet/ItemCategoryCollectionViewModel.cs +++ b/Wallet/ItemCategoryCollectionViewModel.cs @@ -16,13 +16,13 @@ public partial class ItemCategoryCollectionViewModel(IServiceProvider provider, [ObservableProperty] private IContentTemplate template = template; - public override Task Activated() + public override Task OnActivated() { Publisher.Publish(Notify.As(Factory.Create(new List { Factory.Create(), }))); - return base.Activated(); + return base.OnActivated(); } } diff --git a/Wallet/ItemCollectionViewModel.cs b/Wallet/ItemCollectionViewModel.cs index e675ba5..caef5fc 100644 --- a/Wallet/ItemCollectionViewModel.cs +++ b/Wallet/ItemCollectionViewModel.cs @@ -59,14 +59,14 @@ public partial class ItemCollectionViewModel : return Task.CompletedTask; } - public override Task Activated() + public override Task OnActivated() { Publisher.Publish(Notify.As(Factory.Create(new List { Factory.Create(), }))); - return base.Activated(); + return base.OnActivated(); } protected override SynchronizeExpression BuildAggregateExpression() => diff --git a/Wallet/ItemViewModel.cs b/Wallet/ItemViewModel.cs index 4e2fcb9..428106b 100644 --- a/Wallet/ItemViewModel.cs +++ b/Wallet/ItemViewModel.cs @@ -101,7 +101,7 @@ public partial class ItemViewModel : return Task.CompletedTask; } - public override Task Activated() + public override Task OnActivated() { if (Archived) { @@ -132,7 +132,7 @@ public partial class ItemViewModel : } } - return base.Activated(); + return base.OnActivated(); } protected override SynchronizeExpression BuildAggregateExpression() => diff --git a/Wallet/MainViewModel.cs b/Wallet/MainViewModel.cs index 3bf8561..cd28a9f 100644 --- a/Wallet/MainViewModel.cs +++ b/Wallet/MainViewModel.cs @@ -1,4 +1,6 @@ -using CommunityToolkit.Mvvm.ComponentModel; +using Avalonia.Xaml.Interactions.Core; +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; using Toolkit.Foundation; namespace Wallet; diff --git a/Wallet/ManageNavigationViewModel.cs b/Wallet/ManageNavigationViewModel.cs index 4f78a9d..66ed40d 100644 --- a/Wallet/ManageNavigationViewModel.cs +++ b/Wallet/ManageNavigationViewModel.cs @@ -1,4 +1,5 @@ -using Toolkit.Foundation; +using CommunityToolkit.Mvvm.ComponentModel; +using Toolkit.Foundation; namespace Wallet; @@ -9,4 +10,9 @@ public partial class ManageNavigationViewModel(IServiceProvider provider, ISubscriber subscriber, IDisposer disposer) : Observable(provider, factory, mediator, publisher, subscriber, disposer), - IMainNavigationViewModel; \ No newline at end of file + IMainNavigationViewModel, + ISelectable +{ + [ObservableProperty] + private bool isSelected; +} \ No newline at end of file diff --git a/Wallet/OpenWalletViewModel.cs b/Wallet/OpenWalletViewModel.cs index 50e3e70..e437c98 100644 --- a/Wallet/OpenWalletViewModel.cs +++ b/Wallet/OpenWalletViewModel.cs @@ -49,4 +49,16 @@ public partial class OpenWalletViewModel : Observable } } } + + public override async Task OnActivated() + { + Publisher.Publish(Activated.As()); + await base.OnActivated(); + } + + public override async Task OnDeactivated() + { + Publisher.Publish(Deactivated.As()); + await base.OnDeactivated(); + } } \ No newline at end of file diff --git a/Wallet/SynchronizeItemCollectionViewModelHandler.cs b/Wallet/SynchronizeItemCollectionViewModelHandler.cs index bb53f02..d6a067a 100644 --- a/Wallet/SynchronizeItemCollectionViewModelHandler.cs +++ b/Wallet/SynchronizeItemCollectionViewModelHandler.cs @@ -38,8 +38,8 @@ public class SynchronizeItemCollectionViewModelHandler(IMediator mediator, Item<(Guid, string)> item = new((Id, Name)); decoratorService.Set(item); - cache.Add(item); + publisher.Publish(Create.As(viewModel), nameof(ItemCollectionViewModel)); } diff --git a/Wallet/WalletNavigationViewModel.cs b/Wallet/WalletNavigationViewModel.cs index efd7a18..e7bc172 100644 --- a/Wallet/WalletNavigationViewModel.cs +++ b/Wallet/WalletNavigationViewModel.cs @@ -56,10 +56,10 @@ public partial class WalletNavigationViewModel : Add("Favourites", 0); Add("Archive", 0); Add("Categories", 0); + IsOpened = true; Publisher.Publish(Changed.As()); - IsOpened = true; return Task.CompletedTask; } diff --git a/Wallet/WalletViewModel.cs b/Wallet/WalletViewModel.cs index 265f60c..8212825 100644 --- a/Wallet/WalletViewModel.cs +++ b/Wallet/WalletViewModel.cs @@ -25,15 +25,15 @@ public partial class WalletViewModel : Filter = filter; } - public override async Task Activated() + public override async Task OnActivated() { - Publisher.Publish(Toolkit.Foundation.Activated.As()); - await base.Activated(); + Publisher.Publish(Activated.As()); + await base.OnActivated(); } - public override async Task Deactivated() + public override async Task OnDeactivated() { - Publisher.Publish(Toolkit.Foundation.Deactivated.As()); - await base.Deactivated(); + Publisher.Publish(Deactivated.As()); + await base.OnDeactivated(); } } \ No newline at end of file