diff --git a/Toolkit b/Toolkit
index 38e2913..d87fa37 160000
--- a/Toolkit
+++ b/Toolkit
@@ -1 +1 @@
-Subproject commit 38e2913cabdae51844b5dad57bdeca274ffd6320
+Subproject commit d87fa37d094a7761ee828715218215500cb69b8e
diff --git a/Wallet.Avalonia/CreateItemNavigationView.axaml b/Wallet.Avalonia/CreateItemNavigationView.axaml
index 4b43bf6..db2674a 100644
--- a/Wallet.Avalonia/CreateItemNavigationView.axaml
+++ b/Wallet.Avalonia/CreateItemNavigationView.axaml
@@ -5,6 +5,7 @@
xmlns:vm="using:Wallet"
x:DataType="vm:CreateItemNavigationViewModel"
Content="New Item"
+ IsSelected="False"
NavigationViewExtension.IsItemInvokedEnabled="True"
SelectsOnInvoked="False">
diff --git a/Wallet.Avalonia/MainView.axaml b/Wallet.Avalonia/MainView.axaml
index 3d9ff7d..363fa14 100644
--- a/Wallet.Avalonia/MainView.axaml
+++ b/Wallet.Avalonia/MainView.axaml
@@ -10,7 +10,27 @@
FooterMenuItemsSource="{Binding Footer}"
IsSettingsVisible="False"
MenuItemTemplate="{Binding Template}"
+ MenuItemsSource="{Binding}"
SelectedItem="{Binding SelectedItem}">
+
+
+
+
+
+
+
+
+
+
@@ -36,48 +56,6 @@
-
-
diff --git a/Wallet/CreateItemNavigationViewModel.cs b/Wallet/CreateItemNavigationViewModel.cs
index 280fe5f..4d52350 100644
--- a/Wallet/CreateItemNavigationViewModel.cs
+++ b/Wallet/CreateItemNavigationViewModel.cs
@@ -10,7 +10,7 @@ public partial class CreateItemNavigationViewModel(IServiceProvider provider,
ISubscriber subscriber,
IDisposer disposer,
NamedComponent named) : Observable(provider, factory, mediator, publisher, subscriber, disposer),
- IWalletNavigationViewModel
+ INavigationViewModel
{
[ObservableProperty]
private bool isSelected;
diff --git a/Wallet/CreateWalletNavigationViewModel.cs b/Wallet/CreateWalletNavigationViewModel.cs
index 8709519..3bbf066 100644
--- a/Wallet/CreateWalletNavigationViewModel.cs
+++ b/Wallet/CreateWalletNavigationViewModel.cs
@@ -9,4 +9,4 @@ public partial class CreateWalletNavigationViewModel(IServiceProvider provider,
ISubscriber subscriber,
IDisposer disposer) :
Observable(provider, factory, mediator, publisher, subscriber, disposer),
- IMainNavigationViewModel;
\ No newline at end of file
+ INavigationViewModel;
\ No newline at end of file
diff --git a/Wallet/FilterNavigationViewModel.cs b/Wallet/FilterNavigationViewModel.cs
index 55ff11d..21bfe1a 100644
--- a/Wallet/FilterNavigationViewModel.cs
+++ b/Wallet/FilterNavigationViewModel.cs
@@ -12,8 +12,8 @@ public abstract partial class FilterNavigationViewModel(IServiceProvider provide
IDisposer disposer,
int key,
string value) :
- ObservableCollection(provider, factory, mediator, publisher, subscriber, disposer, key, value),
- IWalletNavigationViewModel,
+ ObservableCollection(provider, factory, mediator, publisher, subscriber, disposer, key, value),
+ INavigationViewModel,
INotificationHandler>,
INotificationHandler>,
INotificationHandler>>
@@ -38,6 +38,7 @@ public abstract partial class FilterNavigationViewModel(IServiceProvider provide
{
IsSelected = false;
IsActivated = false;
+
return Task.CompletedTask;
}
@@ -58,11 +59,11 @@ public abstract partial class FilterNavigationViewModel(IServ
int key,
string value) :
ObservableCollection(provider, factory, mediator, publisher, subscriber, disposer, key, value),
- IWalletNavigationViewModel,
+ INavigationViewModel,
INotificationHandler>,
INotificationHandler>
where TWalletNavigation :
- IWalletNavigationViewModel
+ INavigationViewModel
{
[ObservableProperty]
private bool isActivated;
@@ -74,6 +75,7 @@ public abstract partial class FilterNavigationViewModel(IServ
{
IsSelected = false;
IsActivated = false;
+
return Task.CompletedTask;
}
diff --git a/Wallet/FooterViewModel.cs b/Wallet/FooterViewModel.cs
index b5050a3..7859170 100644
--- a/Wallet/FooterViewModel.cs
+++ b/Wallet/FooterViewModel.cs
@@ -3,7 +3,7 @@
namespace Wallet;
public partial class FooterViewModel :
- ObservableCollection
+ ObservableCollection
{
public FooterViewModel(IServiceProvider provider,
IServiceFactory factory,
diff --git a/Wallet/IMainNavigationViewModel.cs b/Wallet/IMainNavigationViewModel.cs
deleted file mode 100644
index 2b507e2..0000000
--- a/Wallet/IMainNavigationViewModel.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-namespace Wallet;
-
-public interface IMainNavigationViewModel : IDisposable;
\ No newline at end of file
diff --git a/Wallet/INavigationViewModel.cs b/Wallet/INavigationViewModel.cs
new file mode 100644
index 0000000..3572f36
--- /dev/null
+++ b/Wallet/INavigationViewModel.cs
@@ -0,0 +1,4 @@
+namespace Wallet;
+
+public interface INavigationViewModel :
+ IDisposable;
\ No newline at end of file
diff --git a/Wallet/IWalletNavigationViewModel.cs b/Wallet/IWalletNavigationViewModel.cs
index e751608..9034ce0 100644
--- a/Wallet/IWalletNavigationViewModel.cs
+++ b/Wallet/IWalletNavigationViewModel.cs
@@ -1,7 +1,7 @@
-using Toolkit.Foundation;
+using Avalonia.Controls;
namespace Wallet;
public interface IWalletNavigationViewModel :
ISelectable,
- IDisposable;
\ No newline at end of file
+ INavigationViewModel;
\ No newline at end of file
diff --git a/Wallet/ItemCommandHeaderViewModel.cs b/Wallet/ItemCommandHeaderViewModel.cs
index 284c84b..33c93f4 100644
--- a/Wallet/ItemCommandHeaderViewModel.cs
+++ b/Wallet/ItemCommandHeaderViewModel.cs
@@ -18,7 +18,7 @@ public partial class ItemCommandHeaderViewModel(IServiceProvider provider,
{
if (args.Sender is ItemCommandHeaderCollection commandCollection)
{
- Clear(args =>
+ Reset(args =>
{
foreach (IDisposable command in commandCollection)
{
diff --git a/Wallet/MainViewModel.cs b/Wallet/MainViewModel.cs
index 81c0900..9af620d 100644
--- a/Wallet/MainViewModel.cs
+++ b/Wallet/MainViewModel.cs
@@ -4,7 +4,7 @@ using Toolkit.Foundation;
namespace Wallet;
public partial class MainViewModel :
- ObservableCollection,
+ ObservableCollection,
INotificationHandler>
{
[ObservableProperty]
@@ -27,9 +27,14 @@ public partial class MainViewModel :
public Task Handle(SelectionEventArgs args)
{
- if (args.Sender is not null)
+ if (args.Sender is WalletNavigationViewModel wallet)
{
- SelectedItem = null;
+ Reset(args => args.SetSource(wallet), false);
+ SelectedItem = wallet;
+ }
+ else
+ {
+ Clear(false);
}
return Task.CompletedTask;
diff --git a/Wallet/ManageNavigationViewModel.cs b/Wallet/ManageNavigationViewModel.cs
index 66ed40d..01ea29d 100644
--- a/Wallet/ManageNavigationViewModel.cs
+++ b/Wallet/ManageNavigationViewModel.cs
@@ -10,7 +10,7 @@ public partial class ManageNavigationViewModel(IServiceProvider provider,
ISubscriber subscriber,
IDisposer disposer) :
Observable(provider, factory, mediator, publisher, subscriber, disposer),
- IMainNavigationViewModel,
+ INavigationViewModel,
ISelectable
{
[ObservableProperty]
diff --git a/Wallet/ManageViewModel.cs b/Wallet/ManageViewModel.cs
index 7686f33..88b2479 100644
--- a/Wallet/ManageViewModel.cs
+++ b/Wallet/ManageViewModel.cs
@@ -4,7 +4,7 @@ namespace Wallet;
public partial class ManageViewModel :
ObservableCollection,
- IMainNavigationViewModel
+ INavigationViewModel
{
public ManageViewModel(IServiceProvider provider,
IServiceFactory factory,
diff --git a/Wallet/OpenWalletViewModel.cs b/Wallet/OpenWalletViewModel.cs
index 9948582..ec78db2 100644
--- a/Wallet/OpenWalletViewModel.cs
+++ b/Wallet/OpenWalletViewModel.cs
@@ -50,17 +50,4 @@ public partial class OpenWalletViewModel :
}
}
}
-
-
- //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/WalletNavigationCollectionViewModel.cs b/Wallet/WalletNavigationCollectionViewModel.cs
index e5e19d4..f7ca0b3 100644
--- a/Wallet/WalletNavigationCollectionViewModel.cs
+++ b/Wallet/WalletNavigationCollectionViewModel.cs
@@ -6,7 +6,7 @@ namespace Wallet;
[Notification(typeof(InsertEventArgs), nameof(WalletNavigationCollectionViewModel))]
public partial class WalletNavigationCollectionViewModel :
ObservableCollection,
- INotificationHandler>
+ INotificationHandler>
{
public WalletNavigationCollectionViewModel(IServiceProvider provider,
IServiceFactory factory,
@@ -21,9 +21,9 @@ public partial class WalletNavigationCollectionViewModel :
public IContentTemplate Template { get; set; }
- public Task Handle(SelectionEventArgs args)
+ public Task Handle(SelectionEventArgs args)
{
- if (args.Sender is not null)
+ if (args.Sender is ManageNavigationViewModel)
{
SelectedItem = null;
}
diff --git a/Wallet/WalletNavigationViewModel.cs b/Wallet/WalletNavigationViewModel.cs
index 72c6f76..50dbc78 100644
--- a/Wallet/WalletNavigationViewModel.cs
+++ b/Wallet/WalletNavigationViewModel.cs
@@ -5,7 +5,7 @@ using Toolkit.Foundation;
namespace Wallet;
public partial class WalletNavigationViewModel :
- ObservableCollection,
+ ObservableCollection,
IWalletNavigationViewModel,
INotificationHandler>,
INotificationHandler>,
@@ -52,14 +52,13 @@ public partial class WalletNavigationViewModel :
public Task Handle(OpenedEventArgs args)
{
- //Add();
- //Add("All", 0);
- //Add("Favourites", 0);
- //Add("Archive", 0);
- //Add("Categories", 0);
+ Add();
+ Add("All", 0);
+ Add("Favourites", 0);
+ Add("Archive", 0);
+ Add("Categories", 0);
IsOpened = true;
- Publisher.Publish(Changed.As- ());
return Task.CompletedTask;
}