fixes
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
xmlns:vm="using:Wallet"
|
xmlns:vm="using:Wallet"
|
||||||
x:DataType="vm:MainViewModel">
|
x:DataType="vm:MainViewModel">
|
||||||
<NavigationView
|
<NavigationView
|
||||||
|
x:Name="NavigationView"
|
||||||
FooterMenuItemsSource="{Binding Footer}"
|
FooterMenuItemsSource="{Binding Footer}"
|
||||||
IsSettingsVisible="False"
|
IsSettingsVisible="False"
|
||||||
MenuItemTemplate="{Binding Template}"
|
MenuItemTemplate="{Binding Template}"
|
||||||
@@ -33,6 +34,7 @@
|
|||||||
<NavigationView.PaneCustomContent>
|
<NavigationView.PaneCustomContent>
|
||||||
<Grid RowDefinitions="*,Auto">
|
<Grid RowDefinitions="*,Auto">
|
||||||
<ListBox
|
<ListBox
|
||||||
|
x:Name="ListBox"
|
||||||
Grid.Row="0"
|
Grid.Row="0"
|
||||||
Margin="1,2,1,0"
|
Margin="1,2,1,0"
|
||||||
HorizontalAlignment="Center"
|
HorizontalAlignment="Center"
|
||||||
@@ -167,6 +169,14 @@
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
</ItemsPanelTemplate>
|
</ItemsPanelTemplate>
|
||||||
</ListBox.ItemsPanel>
|
</ListBox.ItemsPanel>
|
||||||
|
<Interaction.Behaviors>
|
||||||
|
<DataTriggerBehavior Binding="{Binding $parent[NavigationView].SelectedItem, Converter={NamedTypeConverter}}" Value="ManageNavigationViewModel">
|
||||||
|
<ChangePropertyAction
|
||||||
|
PropertyName="SelectedItem"
|
||||||
|
TargetObject="{Binding #ListBox}"
|
||||||
|
Value="{x:Null}" />
|
||||||
|
</DataTriggerBehavior>
|
||||||
|
</Interaction.Behaviors>
|
||||||
</ListBox>
|
</ListBox>
|
||||||
<NavigationViewItemSeparator Grid.Row="1" />
|
<NavigationViewItemSeparator Grid.Row="1" />
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
@@ -4,5 +4,8 @@ namespace Wallet.Avalonia;
|
|||||||
|
|
||||||
public partial class MainView : UserControl
|
public partial class MainView : UserControl
|
||||||
{
|
{
|
||||||
public MainView() => InitializeComponent();
|
public MainView()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -2,11 +2,15 @@
|
|||||||
x:Class="Wallet.Avalonia.ManageNavigationView"
|
x:Class="Wallet.Avalonia.ManageNavigationView"
|
||||||
xmlns="https://github.com/avaloniaui"
|
xmlns="https://github.com/avaloniaui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
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">
|
||||||
<Interaction.Behaviors>
|
<Interaction.Behaviors>
|
||||||
<EventTriggerBehavior EventName="Tapped">
|
<AttachedEventTriggerBehaviour RoutedEvent="{x:Static NavigationViewExtension.ItemInvokedEvent}">
|
||||||
<NavigateAction Region="Main" Route="Manage" />
|
<NavigateAction Region="Main" Route="Manage" />
|
||||||
</EventTriggerBehavior>
|
</AttachedEventTriggerBehaviour>
|
||||||
</Interaction.Behaviors>
|
</Interaction.Behaviors>
|
||||||
<NavigationViewItem.IconSource>
|
<NavigationViewItem.IconSource>
|
||||||
<PathIconSource Data="M692.224,655.36C684.032,655.36 677.547,657.749 672.768,662.528C667.989,667.307 665.6,673.451 665.6,680.96C665.6,688.469 667.989,694.613 672.768,699.392C677.547,704.171 683.349,706.56 690.176,706.56L743.424,706.56C750.251,706.56 756.053,704.171 760.832,699.392C765.611,694.613 768,688.469 768,680.96C768,673.451 765.611,667.307 760.832,662.528C756.053,657.749 750.251,655.36 743.424,655.36ZM153.6,321.536C153.6,301.056 161.109,283.307 176.128,268.288C191.147,253.269 209.579,245.76 231.424,245.76L716.8,245.76C745.472,245.76 769.707,255.659 789.504,275.456C809.301,295.253 819.2,319.488 819.2,348.16L819.2,362.496C835.584,370.688 848.213,382.976 857.088,399.36C865.963,415.744 870.4,432.811 870.4,450.56L870.4,860.16C870.4,888.832 860.501,913.067 840.704,932.864C820.907,952.661 796.672,962.56 768,962.56L282.624,962.56C247.125,962.56 216.747,949.931 191.488,924.672C166.229,899.413 153.6,869.717 153.6,835.584ZM716.8,296.96L231.424,296.96C223.232,296.96 216.747,299.349 211.968,304.128C207.189,308.907 204.8,315.051 204.8,322.56C204.8,330.069 207.189,336.213 211.968,340.992C216.747,345.771 223.232,348.16 231.424,348.16L768,348.16C768,334.507 762.88,322.56 752.64,312.32C742.4,302.08 730.453,296.96 716.8,296.96ZM231.424,399.36C221.867,399.36 212.992,397.995 204.8,395.264L204.8,833.536C204.8,855.381 212.309,873.813 227.328,888.832C242.347,903.851 260.779,911.36 282.624,911.36L768,911.36C781.653,911.36 793.6,906.24 803.84,896C814.08,885.76 819.2,873.813 819.2,860.16L819.2,450.56C819.2,436.907 814.08,424.96 803.84,414.72C793.6,404.48 781.653,399.36 768,399.36Z" />
|
<PathIconSource Data="M692.224,655.36C684.032,655.36 677.547,657.749 672.768,662.528C667.989,667.307 665.6,673.451 665.6,680.96C665.6,688.469 667.989,694.613 672.768,699.392C677.547,704.171 683.349,706.56 690.176,706.56L743.424,706.56C750.251,706.56 756.053,704.171 760.832,699.392C765.611,694.613 768,688.469 768,680.96C768,673.451 765.611,667.307 760.832,662.528C756.053,657.749 750.251,655.36 743.424,655.36ZM153.6,321.536C153.6,301.056 161.109,283.307 176.128,268.288C191.147,253.269 209.579,245.76 231.424,245.76L716.8,245.76C745.472,245.76 769.707,255.659 789.504,275.456C809.301,295.253 819.2,319.488 819.2,348.16L819.2,362.496C835.584,370.688 848.213,382.976 857.088,399.36C865.963,415.744 870.4,432.811 870.4,450.56L870.4,860.16C870.4,888.832 860.501,913.067 840.704,932.864C820.907,952.661 796.672,962.56 768,962.56L282.624,962.56C247.125,962.56 216.747,949.931 191.488,924.672C166.229,899.413 153.6,869.717 153.6,835.584ZM716.8,296.96L231.424,296.96C223.232,296.96 216.747,299.349 211.968,304.128C207.189,308.907 204.8,315.051 204.8,322.56C204.8,330.069 207.189,336.213 211.968,340.992C216.747,345.771 223.232,348.16 231.424,348.16L768,348.16C768,334.507 762.88,322.56 752.64,312.32C742.4,302.08 730.453,296.96 716.8,296.96ZM231.424,399.36C221.867,399.36 212.992,397.995 204.8,395.264L204.8,833.536C204.8,855.381 212.309,873.813 227.328,888.832C242.347,903.851 260.779,911.36 282.624,911.36L768,911.36C781.653,911.36 793.6,906.24 803.84,896C814.08,885.76 819.2,873.813 819.2,860.16L819.2,450.56C819.2,436.907 814.08,424.96 803.84,414.72C793.6,404.48 781.653,399.36 768,399.36Z" />
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Toolkit.UI.Controls.Avalonia;
|
|
||||||
|
|
||||||
namespace Wallet.Avalonia;
|
namespace Wallet.Avalonia;
|
||||||
|
|
||||||
|
|||||||
+6
-11
@@ -2,14 +2,9 @@
|
|||||||
|
|
||||||
namespace Wallet;
|
namespace Wallet;
|
||||||
|
|
||||||
public partial class IconViewModel : Observable
|
public partial class IconViewModel(IServiceProvider provider,
|
||||||
{
|
IServiceFactory factory,
|
||||||
public IconViewModel(IServiceProvider provider,
|
IMediator mediator,
|
||||||
IServiceFactory factory,
|
IPublisher publisher,
|
||||||
IMediator mediator,
|
ISubscriber subscriber,
|
||||||
IPublisher publisher,
|
IDisposer disposer) : Observable(provider, factory, mediator, publisher, subscriber, disposer);
|
||||||
ISubscriber subscriber,
|
|
||||||
IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -16,13 +16,13 @@ public partial class ItemCategoryCollectionViewModel(IServiceProvider provider,
|
|||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private IContentTemplate template = template;
|
private IContentTemplate template = template;
|
||||||
|
|
||||||
public override Task Activated()
|
public override Task OnActivated()
|
||||||
{
|
{
|
||||||
Publisher.Publish(Notify.As(Factory.Create<WalletCommandHeaderCollection>(new List<IDisposable>
|
Publisher.Publish(Notify.As(Factory.Create<WalletCommandHeaderCollection>(new List<IDisposable>
|
||||||
{
|
{
|
||||||
Factory.Create<BackActionViewModel>(),
|
Factory.Create<BackActionViewModel>(),
|
||||||
})));
|
})));
|
||||||
|
|
||||||
return base.Activated();
|
return base.OnActivated();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,14 +59,14 @@ public partial class ItemCollectionViewModel :
|
|||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Task Activated()
|
public override Task OnActivated()
|
||||||
{
|
{
|
||||||
Publisher.Publish(Notify.As(Factory.Create<WalletCommandHeaderCollection>(new List<IDisposable>
|
Publisher.Publish(Notify.As(Factory.Create<WalletCommandHeaderCollection>(new List<IDisposable>
|
||||||
{
|
{
|
||||||
Factory.Create<SearchWalletActionViewModel>(),
|
Factory.Create<SearchWalletActionViewModel>(),
|
||||||
})));
|
})));
|
||||||
|
|
||||||
return base.Activated();
|
return base.OnActivated();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override SynchronizeExpression BuildAggregateExpression() =>
|
protected override SynchronizeExpression BuildAggregateExpression() =>
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ public partial class ItemViewModel :
|
|||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Task Activated()
|
public override Task OnActivated()
|
||||||
{
|
{
|
||||||
if (Archived)
|
if (Archived)
|
||||||
{
|
{
|
||||||
@@ -132,7 +132,7 @@ public partial class ItemViewModel :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return base.Activated();
|
return base.OnActivated();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override SynchronizeExpression BuildAggregateExpression() =>
|
protected override SynchronizeExpression BuildAggregateExpression() =>
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using CommunityToolkit.Mvvm.ComponentModel;
|
using Avalonia.Xaml.Interactions.Core;
|
||||||
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
using CommunityToolkit.Mvvm.Input;
|
||||||
using Toolkit.Foundation;
|
using Toolkit.Foundation;
|
||||||
|
|
||||||
namespace Wallet;
|
namespace Wallet;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Toolkit.Foundation;
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
using Toolkit.Foundation;
|
||||||
|
|
||||||
namespace Wallet;
|
namespace Wallet;
|
||||||
|
|
||||||
@@ -9,4 +10,9 @@ public partial class ManageNavigationViewModel(IServiceProvider provider,
|
|||||||
ISubscriber subscriber,
|
ISubscriber subscriber,
|
||||||
IDisposer disposer) :
|
IDisposer disposer) :
|
||||||
Observable(provider, factory, mediator, publisher, subscriber, disposer),
|
Observable(provider, factory, mediator, publisher, subscriber, disposer),
|
||||||
IMainNavigationViewModel;
|
IMainNavigationViewModel,
|
||||||
|
ISelectable
|
||||||
|
{
|
||||||
|
[ObservableProperty]
|
||||||
|
private bool isSelected;
|
||||||
|
}
|
||||||
@@ -49,4 +49,16 @@ public partial class OpenWalletViewModel : Observable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override async Task OnActivated()
|
||||||
|
{
|
||||||
|
Publisher.Publish(Activated.As<Wallet>());
|
||||||
|
await base.OnActivated();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override async Task OnDeactivated()
|
||||||
|
{
|
||||||
|
Publisher.Publish(Deactivated.As<Wallet>());
|
||||||
|
await base.OnDeactivated();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -38,8 +38,8 @@ public class SynchronizeItemCollectionViewModelHandler(IMediator mediator,
|
|||||||
Item<(Guid, string)> item = new((Id, Name));
|
Item<(Guid, string)> item = new((Id, Name));
|
||||||
|
|
||||||
decoratorService.Set(item);
|
decoratorService.Set(item);
|
||||||
|
|
||||||
cache.Add(item);
|
cache.Add(item);
|
||||||
|
|
||||||
publisher.Publish(Create.As(viewModel), nameof(ItemCollectionViewModel));
|
publisher.Publish(Create.As(viewModel), nameof(ItemCollectionViewModel));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,10 +56,10 @@ public partial class WalletNavigationViewModel :
|
|||||||
Add<FavouritesNavigationViewModel>("Favourites", 0);
|
Add<FavouritesNavigationViewModel>("Favourites", 0);
|
||||||
Add<ArchiveNavigationViewModel>("Archive", 0);
|
Add<ArchiveNavigationViewModel>("Archive", 0);
|
||||||
Add<CategoriesNavigationViewModel>("Categories", 0);
|
Add<CategoriesNavigationViewModel>("Categories", 0);
|
||||||
|
IsOpened = true;
|
||||||
|
|
||||||
Publisher.Publish(Changed.As<Item>());
|
Publisher.Publish(Changed.As<Item>());
|
||||||
|
|
||||||
IsOpened = true;
|
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,15 +25,15 @@ public partial class WalletViewModel :
|
|||||||
Filter = filter;
|
Filter = filter;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task Activated()
|
public override async Task OnActivated()
|
||||||
{
|
{
|
||||||
Publisher.Publish(Toolkit.Foundation.Activated.As<Wallet>());
|
Publisher.Publish(Activated.As<Wallet>());
|
||||||
await base.Activated();
|
await base.OnActivated();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task Deactivated()
|
public override async Task OnDeactivated()
|
||||||
{
|
{
|
||||||
Publisher.Publish(Toolkit.Foundation.Deactivated.As<Wallet>());
|
Publisher.Publish(Deactivated.As<Wallet>());
|
||||||
await base.Deactivated();
|
await base.OnDeactivated();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user