From f0fd68c16e34ed4458d8a344853cdb577d201824 Mon Sep 17 00:00:00 2001 From: TheXamlGuy Date: Sun, 12 May 2024 19:55:20 +0100 Subject: [PATCH] Improved event naming --- .../ClassicDesktopStyleApplicationHandler.cs | 2 +- Toolkit.Avalonia/ContentControlHandler.cs | 6 ++-- Toolkit.Avalonia/ContentDialogHandler.cs | 4 +-- Toolkit.Avalonia/ContentTemplate.cs | 4 +-- Toolkit.Avalonia/FrameHandler.cs | 10 +++---- .../SingleViewApplicationHandler.cs | 2 +- Toolkit.Foundation/Activate.cs | 8 ++++++ Toolkit.Foundation/ActivateEventArgs.cs | 3 ++ Toolkit.Foundation/Activated.cs | 6 ++-- Toolkit.Foundation/ActivatedEventArgs.cs | 3 ++ Toolkit.Foundation/AppService.cs | 2 +- Toolkit.Foundation/Changed.cs | 6 ++-- Toolkit.Foundation/ChangedEventArgs.cs | 3 ++ .../ComponentConfigurationViewModel.cs | 20 ++++++------- .../ConfigurationChangedHandler.cs | 4 +-- .../ConfigurationInitializer.cs | 2 +- Toolkit.Foundation/ConfigurationMonitor.cs | 2 +- Toolkit.Foundation/Confirm.cs | 6 ++-- Toolkit.Foundation/ConfirmEventArgs.cs | 3 ++ Toolkit.Foundation/Create.cs | 6 ++-- Toolkit.Foundation/CreateEventArgs.cs | 3 ++ Toolkit.Foundation/Deactivated.cs | 7 ++++- Toolkit.Foundation/DeactivatedEventArgs.cs | 3 ++ Toolkit.Foundation/Enumerate.cs | 13 --------- Toolkit.Foundation/EnumerateEventArgs.cs | 14 ++++++++++ Toolkit.Foundation/IActivated.cs | 2 +- Toolkit.Foundation/IDeactivated.cs | 2 +- Toolkit.Foundation/IDeactivating.cs | 2 +- Toolkit.Foundation/INavigateBackHandler.cs | 2 +- Toolkit.Foundation/INavigateHandler.cs | 2 +- Toolkit.Foundation/Insert.cs | 6 ++-- Toolkit.Foundation/InsertEventArgs.cs | 3 ++ Toolkit.Foundation/Move.cs | 6 ++-- Toolkit.Foundation/MoveEventArgs.cs | 3 ++ Toolkit.Foundation/NavigateBack.cs | 5 ---- Toolkit.Foundation/NavigateBackEventArgs.cs | 5 ++++ Toolkit.Foundation/NavigateBackHandler.cs | 4 +-- Toolkit.Foundation/NavigateEventArgs.cs | 14 ++++++++++ Toolkit.Foundation/NavigateHandler.cs | 4 +-- Toolkit.Foundation/NavigationChanged.cs | 3 -- Toolkit.Foundation/NavigationScope.cs | 4 +-- .../ObservableCollectionViewModel.cs | 28 +++++++++---------- Toolkit.Foundation/ObservableViewModel.cs | 6 ++-- Toolkit.Foundation/Open.cs | 10 ------- Toolkit.Foundation/Remove.cs | 6 ++-- Toolkit.Foundation/RemoveEventArgs.cs | 3 ++ Toolkit.Foundation/Replace.cs | 6 ++-- Toolkit.Foundation/ReplaceEventArgs.cs | 3 ++ Toolkit.Foundation/Request.cs | 8 ++++-- Toolkit.Foundation/RequestEventArgs.cs | 3 ++ Toolkit.Foundation/Selected.cs | 6 ++-- Toolkit.Foundation/SelectedEventArgs.cs | 3 ++ .../{Started.cs => StartedEventArgs.cs} | 2 +- Toolkit.Foundation/Toolkit.Foundation.csproj | 3 ++ Toolkit.UI.Avalonia/NavigateAction.cs | 2 +- Toolkit.UI.Avalonia/NavigateBackAction.cs | 2 +- 56 files changed, 169 insertions(+), 131 deletions(-) create mode 100644 Toolkit.Foundation/Activate.cs create mode 100644 Toolkit.Foundation/ActivateEventArgs.cs create mode 100644 Toolkit.Foundation/ActivatedEventArgs.cs create mode 100644 Toolkit.Foundation/ChangedEventArgs.cs create mode 100644 Toolkit.Foundation/ConfirmEventArgs.cs create mode 100644 Toolkit.Foundation/CreateEventArgs.cs create mode 100644 Toolkit.Foundation/DeactivatedEventArgs.cs create mode 100644 Toolkit.Foundation/EnumerateEventArgs.cs create mode 100644 Toolkit.Foundation/InsertEventArgs.cs create mode 100644 Toolkit.Foundation/MoveEventArgs.cs delete mode 100644 Toolkit.Foundation/NavigateBack.cs create mode 100644 Toolkit.Foundation/NavigateBackEventArgs.cs create mode 100644 Toolkit.Foundation/NavigateEventArgs.cs delete mode 100644 Toolkit.Foundation/NavigationChanged.cs delete mode 100644 Toolkit.Foundation/Open.cs create mode 100644 Toolkit.Foundation/RemoveEventArgs.cs create mode 100644 Toolkit.Foundation/ReplaceEventArgs.cs create mode 100644 Toolkit.Foundation/RequestEventArgs.cs create mode 100644 Toolkit.Foundation/SelectedEventArgs.cs rename Toolkit.Foundation/{Started.cs => StartedEventArgs.cs} (52%) diff --git a/Toolkit.Avalonia/ClassicDesktopStyleApplicationHandler.cs b/Toolkit.Avalonia/ClassicDesktopStyleApplicationHandler.cs index f93024e..779766b 100644 --- a/Toolkit.Avalonia/ClassicDesktopStyleApplicationHandler.cs +++ b/Toolkit.Avalonia/ClassicDesktopStyleApplicationHandler.cs @@ -8,7 +8,7 @@ namespace Toolkit.Avalonia; public class ClassicDesktopStyleApplicationHandler : INavigateHandler { - public Task Handle(Navigate args, + public Task Handle(NavigateEventArgs args, CancellationToken cancellationToken = default) { if (Application.Current?.ApplicationLifetime is diff --git a/Toolkit.Avalonia/ContentControlHandler.cs b/Toolkit.Avalonia/ContentControlHandler.cs index cf958a7..5b1f0e5 100644 --- a/Toolkit.Avalonia/ContentControlHandler.cs +++ b/Toolkit.Avalonia/ContentControlHandler.cs @@ -7,7 +7,7 @@ namespace Toolkit.Avalonia; public class ContentControlHandler : INavigateHandler { - public async Task Handle(Navigate args, + public async Task Handle(NavigateEventArgs args, CancellationToken cancellationToken) { if (args.Context is ContentControl contentControl) @@ -27,7 +27,7 @@ public class ContentControlHandler : if (content is IActivated activated) { - await activated.Activated(); + await activated.OnActivated(); } } @@ -41,7 +41,7 @@ public class ContentControlHandler : { if (content is IDeactivated deactivated) { - await deactivated.Deactivated(); + await deactivated.OnDeactivated(); } } } diff --git a/Toolkit.Avalonia/ContentDialogHandler.cs b/Toolkit.Avalonia/ContentDialogHandler.cs index 1f340c5..d327a3c 100644 --- a/Toolkit.Avalonia/ContentDialogHandler.cs +++ b/Toolkit.Avalonia/ContentDialogHandler.cs @@ -6,7 +6,7 @@ namespace Toolkit.Avalonia; public class ContentDialogHandler(IDispatcher dispatcher) : INavigateHandler { - public async Task Handle(Navigate args, + public async Task Handle(NavigateEventArgs args, CancellationToken cancellationToken) { if (args.Context is ContentDialog contentDialog) @@ -94,7 +94,7 @@ public class ContentDialogHandler(IDispatcher dispatcher) : if (content is IActivated activated) { - await activated.Activated(); + await activated.OnActivated(); } } } diff --git a/Toolkit.Avalonia/ContentTemplate.cs b/Toolkit.Avalonia/ContentTemplate.cs index 5ccc0c7..aa4be42 100644 --- a/Toolkit.Avalonia/ContentTemplate.cs +++ b/Toolkit.Avalonia/ContentTemplate.cs @@ -35,7 +35,7 @@ public class ContentTemplate : if (content is IActivated activated) { - await activated.Activated(); + await activated.OnActivated(); } } } @@ -47,7 +47,7 @@ public class ContentTemplate : { if (content is IDeactivated deactivated) { - await deactivated.Deactivated(); + await deactivated.OnDeactivated(); } } } diff --git a/Toolkit.Avalonia/FrameHandler.cs b/Toolkit.Avalonia/FrameHandler.cs index 22cd7e1..44e423d 100644 --- a/Toolkit.Avalonia/FrameHandler.cs +++ b/Toolkit.Avalonia/FrameHandler.cs @@ -12,7 +12,7 @@ public class FrameHandler : INavigateHandler, INavigateBackHandler { - public Task Handle(Navigate args, + public Task Handle(NavigateEventArgs args, CancellationToken cancellationToken) { if (args.Context is Frame frame) @@ -43,7 +43,7 @@ public class FrameHandler : { if (content is IDeactivating deactivating) { - await deactivating.Deactivating(); + await deactivating.OnDeactivating(); } } } @@ -72,7 +72,7 @@ public class FrameHandler : { if (content is IDeactivated deactivated) { - await deactivated.Deactivated(); + await deactivated.OnDeactivated(); } } } @@ -119,7 +119,7 @@ public class FrameHandler : if (content is IActivated activated) { - await activated.Activated(); + await activated.OnActivated(); } } } @@ -136,7 +136,7 @@ public class FrameHandler : return Task.CompletedTask; } - public Task Handle(NavigateBack args, + public Task Handle(NavigateBackEventArgs args, CancellationToken cancellationToken = default) { if (args.Context is Frame frame) diff --git a/Toolkit.Avalonia/SingleViewApplicationHandler.cs b/Toolkit.Avalonia/SingleViewApplicationHandler.cs index ff6ba63..189bcc4 100644 --- a/Toolkit.Avalonia/SingleViewApplicationHandler.cs +++ b/Toolkit.Avalonia/SingleViewApplicationHandler.cs @@ -8,7 +8,7 @@ namespace Toolkit.Avalonia; public class SingleViewApplicationHandler : INavigateHandler { - public Task Handle(Navigate args, + public Task Handle(NavigateEventArgs args, CancellationToken cancellationToken = default) { if (Application.Current?.ApplicationLifetime is diff --git a/Toolkit.Foundation/Activate.cs b/Toolkit.Foundation/Activate.cs new file mode 100644 index 0000000..870a837 --- /dev/null +++ b/Toolkit.Foundation/Activate.cs @@ -0,0 +1,8 @@ +namespace Toolkit.Foundation; + +public record Activate +{ + public static ActivateEventArgs As(TValue value) => new(value); + + public static ActivateEventArgs As() where TValue : new() => new(new TValue()); +} diff --git a/Toolkit.Foundation/ActivateEventArgs.cs b/Toolkit.Foundation/ActivateEventArgs.cs new file mode 100644 index 0000000..59d933d --- /dev/null +++ b/Toolkit.Foundation/ActivateEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record ActivateEventArgs(TValue? Value = default); diff --git a/Toolkit.Foundation/Activated.cs b/Toolkit.Foundation/Activated.cs index e75f9f8..94360dc 100644 --- a/Toolkit.Foundation/Activated.cs +++ b/Toolkit.Foundation/Activated.cs @@ -1,10 +1,8 @@ namespace Toolkit.Foundation; -public record Activated(TValue? Value = default); - public record Activated { - public static Activated As(TValue value) => new(value); + public static ActivatedEventArgs As(TValue value) => new(value); - public static Activated As() where TValue : new() => new(new TValue()); + public static ActivatedEventArgs As() where TValue : new() => new(new TValue()); } diff --git a/Toolkit.Foundation/ActivatedEventArgs.cs b/Toolkit.Foundation/ActivatedEventArgs.cs new file mode 100644 index 0000000..d1e536b --- /dev/null +++ b/Toolkit.Foundation/ActivatedEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record ActivatedEventArgs(TValue? Value = default); diff --git a/Toolkit.Foundation/AppService.cs b/Toolkit.Foundation/AppService.cs index c318344..6d054d3 100644 --- a/Toolkit.Foundation/AppService.cs +++ b/Toolkit.Foundation/AppService.cs @@ -13,7 +13,7 @@ public class AppService(IEnumerable initializers, await initializer.Initialize(); } - await publisher.Publish(cancellationToken); + await publisher.Publish(cancellationToken); } public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; diff --git a/Toolkit.Foundation/Changed.cs b/Toolkit.Foundation/Changed.cs index 1750921..c32d286 100644 --- a/Toolkit.Foundation/Changed.cs +++ b/Toolkit.Foundation/Changed.cs @@ -1,10 +1,8 @@ namespace Toolkit.Foundation; -public record Changed(TValue? Value = default); - public record Changed { - public static Changed As(TValue value) => new(value); + public static ChangedEventArgs As(TValue value) => new(value); - public static Changed As() where TValue : new() => new(new TValue()); + public static ChangedEventArgs As() where TValue : new() => new(new TValue()); } diff --git a/Toolkit.Foundation/ChangedEventArgs.cs b/Toolkit.Foundation/ChangedEventArgs.cs new file mode 100644 index 0000000..20cd6e3 --- /dev/null +++ b/Toolkit.Foundation/ChangedEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record ChangedEventArgs(TValue? Value = default); diff --git a/Toolkit.Foundation/ComponentConfigurationViewModel.cs b/Toolkit.Foundation/ComponentConfigurationViewModel.cs index b74dd71..c326c36 100644 --- a/Toolkit.Foundation/ComponentConfigurationViewModel.cs +++ b/Toolkit.Foundation/ComponentConfigurationViewModel.cs @@ -5,7 +5,7 @@ namespace Toolkit.Foundation; public partial class ComponentConfigurationViewModel : ValueViewModel, IComponentConfigurationViewModel, - INotificationHandler> + INotificationHandler> where TConfiguration : class { public ComponentConfigurationViewModel(IServiceProvider provider, @@ -20,7 +20,7 @@ public partial class ComponentConfigurationViewModel args, + public Task Handle(ChangedEventArgs args, CancellationToken cancellationToken = default) { throw new NotImplementedException(); @@ -40,7 +40,7 @@ public partial class ComponentConfigurationViewModel(provider, factory, mediator, publisher, subscriber, disposer), IComponentConfigurationViewModel, - INotificationHandler> + INotificationHandler> where TConfiguration : class { [ObservableProperty] @@ -52,13 +52,13 @@ public partial class ComponentConfigurationViewModel args, + public Task Handle(ChangedEventArgs args, CancellationToken cancellationToken = default) { if (args.Value is TConfiguration configuration) @@ -83,7 +83,7 @@ public partial class ComponentConfigurationViewModel(provider, factory, mediator, publisher, subscriber, disposer), IComponentConfigurationViewModel, - INotificationHandler> + INotificationHandler> where TConfiguration : class { [ObservableProperty] @@ -95,13 +95,13 @@ public partial class ComponentConfigurationViewModel args, + public Task Handle(ChangedEventArgs args, CancellationToken cancellationToken = default) { if (args.Value is TConfiguration configuration) diff --git a/Toolkit.Foundation/ConfigurationChangedHandler.cs b/Toolkit.Foundation/ConfigurationChangedHandler.cs index e142bcc..6a1cf8a 100644 --- a/Toolkit.Foundation/ConfigurationChangedHandler.cs +++ b/Toolkit.Foundation/ConfigurationChangedHandler.cs @@ -1,11 +1,11 @@ namespace Toolkit.Foundation; public class ConfigurationChangedHandler(ConfigurationValue configurationValue) : - INotificationHandler> + INotificationHandler> where TValue : class, new() { - public Task Handle(Changed args, + public Task Handle(ChangedEventArgs args, CancellationToken cancellationToken = default) { if (args.Value is TConfiguration configuration) diff --git a/Toolkit.Foundation/ConfigurationInitializer.cs b/Toolkit.Foundation/ConfigurationInitializer.cs index 57ea430..aaf2185 100644 --- a/Toolkit.Foundation/ConfigurationInitializer.cs +++ b/Toolkit.Foundation/ConfigurationInitializer.cs @@ -20,6 +20,6 @@ public class ConfigurationInitializer(IConfigurationReader(configuration)); + await publisher.PublishUI(new ActivatedEventArgs(configuration)); } } \ No newline at end of file diff --git a/Toolkit.Foundation/ConfigurationMonitor.cs b/Toolkit.Foundation/ConfigurationMonitor.cs index df9b908..baa65c8 100644 --- a/Toolkit.Foundation/ConfigurationMonitor.cs +++ b/Toolkit.Foundation/ConfigurationMonitor.cs @@ -16,7 +16,7 @@ public class ConfigurationMonitor(IConfigurationFile(configuration)); + await publisher.PublishUI(new ChangedEventArgs(configuration)); } } diff --git a/Toolkit.Foundation/Confirm.cs b/Toolkit.Foundation/Confirm.cs index d5687be..2839cf4 100644 --- a/Toolkit.Foundation/Confirm.cs +++ b/Toolkit.Foundation/Confirm.cs @@ -1,12 +1,10 @@ namespace Toolkit.Foundation; -public record Confirm(TValue Value); - public record Confirm { - public static Confirm As(TValue value) => + public static ConfirmEventArgs As(TValue value) => new(value); - public static Confirm As() where TValue : new() => + public static ConfirmEventArgs As() where TValue : new() => new(new TValue()); } \ No newline at end of file diff --git a/Toolkit.Foundation/ConfirmEventArgs.cs b/Toolkit.Foundation/ConfirmEventArgs.cs new file mode 100644 index 0000000..d817934 --- /dev/null +++ b/Toolkit.Foundation/ConfirmEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record ConfirmEventArgs(TValue Value); diff --git a/Toolkit.Foundation/Create.cs b/Toolkit.Foundation/Create.cs index 67183de..25f55c0 100644 --- a/Toolkit.Foundation/Create.cs +++ b/Toolkit.Foundation/Create.cs @@ -1,12 +1,10 @@ namespace Toolkit.Foundation; -public record Create(TValue Value); - public record Create { - public static Create As(TValue value) => + public static CreateEventArgs As(TValue value) => new(value); - public static Create As() where TValue : new() => + public static CreateEventArgs As() where TValue : new() => new(new TValue()); } \ No newline at end of file diff --git a/Toolkit.Foundation/CreateEventArgs.cs b/Toolkit.Foundation/CreateEventArgs.cs new file mode 100644 index 0000000..6e9723d --- /dev/null +++ b/Toolkit.Foundation/CreateEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record CreateEventArgs(TValue Value); diff --git a/Toolkit.Foundation/Deactivated.cs b/Toolkit.Foundation/Deactivated.cs index 5dc4ca6..33ecdde 100644 --- a/Toolkit.Foundation/Deactivated.cs +++ b/Toolkit.Foundation/Deactivated.cs @@ -1,3 +1,8 @@ namespace Toolkit.Foundation; -public record Deactivated; \ No newline at end of file +public record Deactivated +{ + public static DeactivatedEventArgs As(TValue value) => new(value); + + public static DeactivatedEventArgs As() where TValue : new() => new(new TValue()); +} diff --git a/Toolkit.Foundation/DeactivatedEventArgs.cs b/Toolkit.Foundation/DeactivatedEventArgs.cs new file mode 100644 index 0000000..99aadc3 --- /dev/null +++ b/Toolkit.Foundation/DeactivatedEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record DeactivatedEventArgs(TValue? Value = default); diff --git a/Toolkit.Foundation/Enumerate.cs b/Toolkit.Foundation/Enumerate.cs index 8c54650..9a90559 100644 --- a/Toolkit.Foundation/Enumerate.cs +++ b/Toolkit.Foundation/Enumerate.cs @@ -1,18 +1,5 @@ namespace Toolkit.Foundation; -public record Enumerate : - IEnumerate -{ - public object? Key { get; init; } - - public EnumerateMode Mode { get; init; } - - public static Enumerate With(TOptions options) where TOptions : class - { - return new Enumerate(options); - } -} - public record Enumerate(TOptions? Options = null) : IEnumerate where TOptions : class diff --git a/Toolkit.Foundation/EnumerateEventArgs.cs b/Toolkit.Foundation/EnumerateEventArgs.cs new file mode 100644 index 0000000..1895294 --- /dev/null +++ b/Toolkit.Foundation/EnumerateEventArgs.cs @@ -0,0 +1,14 @@ +namespace Toolkit.Foundation; + +public record EnumerateEventArgs : + IEnumerate +{ + public object? Key { get; init; } + + public EnumerateMode Mode { get; init; } + + public static Enumerate With(TOptions options) where TOptions : class + { + return new Enumerate(options); + } +} \ No newline at end of file diff --git a/Toolkit.Foundation/IActivated.cs b/Toolkit.Foundation/IActivated.cs index 079d435..aded530 100644 --- a/Toolkit.Foundation/IActivated.cs +++ b/Toolkit.Foundation/IActivated.cs @@ -2,7 +2,7 @@ public interface IActivated { - Task Activated(); + Task OnActivated(); } public interface IActivated diff --git a/Toolkit.Foundation/IDeactivated.cs b/Toolkit.Foundation/IDeactivated.cs index f640164..84bbeb4 100644 --- a/Toolkit.Foundation/IDeactivated.cs +++ b/Toolkit.Foundation/IDeactivated.cs @@ -2,5 +2,5 @@ public interface IDeactivated { - Task Deactivated(); + Task OnDeactivated(); } \ No newline at end of file diff --git a/Toolkit.Foundation/IDeactivating.cs b/Toolkit.Foundation/IDeactivating.cs index 0c9a25a..78a0427 100644 --- a/Toolkit.Foundation/IDeactivating.cs +++ b/Toolkit.Foundation/IDeactivating.cs @@ -2,7 +2,7 @@ public interface IDeactivating { - Task Deactivating(); + Task OnDeactivating(); } public interface IDeactivating diff --git a/Toolkit.Foundation/INavigateBackHandler.cs b/Toolkit.Foundation/INavigateBackHandler.cs index 50805f1..db65a69 100644 --- a/Toolkit.Foundation/INavigateBackHandler.cs +++ b/Toolkit.Foundation/INavigateBackHandler.cs @@ -1,5 +1,5 @@ namespace Toolkit.Foundation; public interface INavigateBackHandler : - INotificationHandler>, + INotificationHandler>, INavigateHandler; \ No newline at end of file diff --git a/Toolkit.Foundation/INavigateHandler.cs b/Toolkit.Foundation/INavigateHandler.cs index 0cc5571..b6c5ee6 100644 --- a/Toolkit.Foundation/INavigateHandler.cs +++ b/Toolkit.Foundation/INavigateHandler.cs @@ -3,5 +3,5 @@ public interface INavigateHandler; public interface INavigateHandler : - INotificationHandler>, + INotificationHandler>, INavigateHandler; \ No newline at end of file diff --git a/Toolkit.Foundation/Insert.cs b/Toolkit.Foundation/Insert.cs index 08f8301..a9b29f1 100644 --- a/Toolkit.Foundation/Insert.cs +++ b/Toolkit.Foundation/Insert.cs @@ -1,12 +1,10 @@ namespace Toolkit.Foundation; -public record Insert(int Index, TValue Value); - public record Insert { - public static Insert As(int index, TValue value) => + public static InsertEventArgs As(int index, TValue value) => new(index, value); - public static Insert As(int index) where TValue : new() => + public static InsertEventArgs As(int index) where TValue : new() => new(index, new TValue()); } \ No newline at end of file diff --git a/Toolkit.Foundation/InsertEventArgs.cs b/Toolkit.Foundation/InsertEventArgs.cs new file mode 100644 index 0000000..a33df15 --- /dev/null +++ b/Toolkit.Foundation/InsertEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record InsertEventArgs(int Index, TValue Value); diff --git a/Toolkit.Foundation/Move.cs b/Toolkit.Foundation/Move.cs index 67e4d77..684a09e 100644 --- a/Toolkit.Foundation/Move.cs +++ b/Toolkit.Foundation/Move.cs @@ -1,12 +1,10 @@ namespace Toolkit.Foundation; -public record Move(int Index, TValue Value); - public record Move { - public static Move As(int index, TValue value) => + public static MoveEventArgs As(int index, TValue value) => new(index, value); - public static Insert As(int index) where TValue : new() => + public static InsertEventArgs As(int index) where TValue : new() => new(index, new TValue()); } \ No newline at end of file diff --git a/Toolkit.Foundation/MoveEventArgs.cs b/Toolkit.Foundation/MoveEventArgs.cs new file mode 100644 index 0000000..4bc8bde --- /dev/null +++ b/Toolkit.Foundation/MoveEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record MoveEventArgs(int Index, TValue Value); diff --git a/Toolkit.Foundation/NavigateBack.cs b/Toolkit.Foundation/NavigateBack.cs deleted file mode 100644 index 48feb09..0000000 --- a/Toolkit.Foundation/NavigateBack.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Toolkit.Foundation; - -public record NavigateBack(object? Context = null, string? Scope = null); - -public record NavigateBack(object? Context); \ No newline at end of file diff --git a/Toolkit.Foundation/NavigateBackEventArgs.cs b/Toolkit.Foundation/NavigateBackEventArgs.cs new file mode 100644 index 0000000..3636e47 --- /dev/null +++ b/Toolkit.Foundation/NavigateBackEventArgs.cs @@ -0,0 +1,5 @@ +namespace Toolkit.Foundation; + +public record NavigateBackEventArgs(object? Context = null, string? Scope = null); + +public record NavigateBackEventArgs(object? Context); \ No newline at end of file diff --git a/Toolkit.Foundation/NavigateBackHandler.cs b/Toolkit.Foundation/NavigateBackHandler.cs index fdd07a3..b8b740e 100644 --- a/Toolkit.Foundation/NavigateBackHandler.cs +++ b/Toolkit.Foundation/NavigateBackHandler.cs @@ -3,9 +3,9 @@ namespace Toolkit.Foundation; public class NavigateBackHandler(IComponentScopeProvider provider) : - INotificationHandler + INotificationHandler { - public async Task Handle(NavigateBack args, + public async Task Handle(NavigateBackEventArgs args, CancellationToken cancellationToken) { if (provider.Get(args.Scope ?? "Root") diff --git a/Toolkit.Foundation/NavigateEventArgs.cs b/Toolkit.Foundation/NavigateEventArgs.cs new file mode 100644 index 0000000..b6d2ff3 --- /dev/null +++ b/Toolkit.Foundation/NavigateEventArgs.cs @@ -0,0 +1,14 @@ +namespace Toolkit.Foundation; + +public record NavigateEventArgs(string Route, + object? Context = null, + string? Scope = null, + object? Sender = null, + EventHandler? Navigated = null, + object[]? Parameters = null); + +public record NavigateEventArgs(object Context, + object Template, + object Content, + object? Sender = null, + object[]? Parameters = null); \ No newline at end of file diff --git a/Toolkit.Foundation/NavigateHandler.cs b/Toolkit.Foundation/NavigateHandler.cs index cb8b6c2..ae1a266 100644 --- a/Toolkit.Foundation/NavigateHandler.cs +++ b/Toolkit.Foundation/NavigateHandler.cs @@ -5,9 +5,9 @@ namespace Toolkit.Foundation; public class NavigateHandler(NamedComponent scope, IComponentScopeProvider componentScopeProvider, IServiceProvider provider) : - INotificationHandler + INotificationHandler { - public async Task Handle(Navigate args, + public async Task Handle(NavigateEventArgs args, CancellationToken cancellationToken) { INavigationScope? navigationScope; diff --git a/Toolkit.Foundation/NavigationChanged.cs b/Toolkit.Foundation/NavigationChanged.cs deleted file mode 100644 index b6df381..0000000 --- a/Toolkit.Foundation/NavigationChanged.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace Toolkit.Foundation; - -public record NavigationChanged(TValue? Value); \ No newline at end of file diff --git a/Toolkit.Foundation/NavigationScope.cs b/Toolkit.Foundation/NavigationScope.cs index c2cefd7..cadb894 100644 --- a/Toolkit.Foundation/NavigationScope.cs +++ b/Toolkit.Foundation/NavigationScope.cs @@ -62,7 +62,7 @@ public class NavigationScope(IPublisher publisher, if (navigationProvider.Get(context is Type type ? type : context.GetType()) is INavigation navigation) { - Type navigateType = typeof(Navigate<>).MakeGenericType(navigation.Type); + Type navigateType = typeof(NavigateEventArgs<>).MakeGenericType(navigation.Type); if (Activator.CreateInstance(navigateType, [context, view, viewModel, sender, parameters]) is object navigate) { await publisher.Publish(navigate, cancellationToken); @@ -92,7 +92,7 @@ public class NavigationScope(IPublisher publisher, if (navigationProvider.Get(context is Type type ? type : context.GetType()) is INavigation navigation) { - Type navigateType = typeof(NavigateBack<>).MakeGenericType(navigation.Type); + Type navigateType = typeof(NavigateBackEventArgs<>).MakeGenericType(navigation.Type); if (Activator.CreateInstance(navigateType, [context]) is object navigate) { await publisher.Publish(navigate, cancellationToken); diff --git a/Toolkit.Foundation/ObservableCollectionViewModel.cs b/Toolkit.Foundation/ObservableCollectionViewModel.cs index 8d5dd6a..3ce3f4d 100644 --- a/Toolkit.Foundation/ObservableCollectionViewModel.cs +++ b/Toolkit.Foundation/ObservableCollectionViewModel.cs @@ -19,11 +19,11 @@ public partial class ObservableCollectionViewModel : IList, IReadOnlyList, INotifyCollectionChanged, - INotificationHandler>, - INotificationHandler>, - INotificationHandler>, - INotificationHandler>, - INotificationHandler> + INotificationHandler>, + INotificationHandler>, + INotificationHandler>, + INotificationHandler>, + INotificationHandler> where TViewModel : notnull { @@ -121,7 +121,7 @@ public partial class ObservableCollectionViewModel : } } - public virtual Task Activated() => + public virtual Task OnActivated() => Task.CompletedTask; public TViewModel Add() @@ -222,10 +222,10 @@ public partial class ObservableCollectionViewModel : return Task.CompletedTask; } - public virtual Task Deactivated() => + public virtual Task OnDeactivated() => Task.CompletedTask; - public virtual Task Deactivating() => + public virtual Task OnDeactivating() => Task.CompletedTask; public virtual void Dispose() @@ -240,7 +240,7 @@ public partial class ObservableCollectionViewModel : IEnumerator IEnumerable.GetEnumerator() => ((IEnumerable)collection).GetEnumerator(); - public Task Handle(Remove args, + public Task Handle(RemoveEventArgs args, CancellationToken cancellationToken) { foreach (TViewModel item in this.ToList()) @@ -254,7 +254,7 @@ public partial class ObservableCollectionViewModel : return Task.CompletedTask; } - public Task Handle(Create args, + public Task Handle(CreateEventArgs args, CancellationToken cancellationToken) { if (args.Value is TViewModel item) @@ -265,7 +265,7 @@ public partial class ObservableCollectionViewModel : return Task.CompletedTask; } - public Task Handle(Insert args, + public Task Handle(InsertEventArgs args, CancellationToken cancellationToken) { if (args.Value is TViewModel item) @@ -276,7 +276,7 @@ public partial class ObservableCollectionViewModel : return Task.CompletedTask; } - public Task Handle(Move args, + public Task Handle(MoveEventArgs args, CancellationToken cancellationToken) { if (args.Value is TViewModel item) @@ -287,7 +287,7 @@ public partial class ObservableCollectionViewModel : return Task.CompletedTask; } - public Task Handle(Replace args, + public Task Handle(ReplaceEventArgs args, CancellationToken cancellationToken) { if (args.Value is TViewModel item) @@ -332,7 +332,7 @@ public partial class ObservableCollectionViewModel : } protected virtual IEnumerate PrepareEnumeration(object? key) => - new Enumerate() with { Key = key }; + new EnumerateEventArgs() with { Key = key }; public void Insert(int index, TViewModel item) => InsertItem(index, item); diff --git a/Toolkit.Foundation/ObservableViewModel.cs b/Toolkit.Foundation/ObservableViewModel.cs index 779394e..9873f71 100644 --- a/Toolkit.Foundation/ObservableViewModel.cs +++ b/Toolkit.Foundation/ObservableViewModel.cs @@ -42,7 +42,7 @@ public partial class ObservableViewModel : public IPublisher Publisher { get; } - public virtual Task Activated() => + public virtual Task OnActivated() => Task.CompletedTask; public Task Deactivate() @@ -51,10 +51,10 @@ public partial class ObservableViewModel : return Task.CompletedTask; } - public virtual Task Deactivated() => + public virtual Task OnDeactivated() => Task.CompletedTask; - public virtual Task Deactivating() => + public virtual Task OnDeactivating() => Task.CompletedTask; public void Dispose() diff --git a/Toolkit.Foundation/Open.cs b/Toolkit.Foundation/Open.cs deleted file mode 100644 index 7e41b12..0000000 --- a/Toolkit.Foundation/Open.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Toolkit.Foundation; - -public record Open(TValue Value); - -public record Open -{ - public static Open As(TValue value) => new(value); - - public static Open As() where TValue : new() => new(new TValue()); -} \ No newline at end of file diff --git a/Toolkit.Foundation/Remove.cs b/Toolkit.Foundation/Remove.cs index 6cf37d8..75a5d71 100644 --- a/Toolkit.Foundation/Remove.cs +++ b/Toolkit.Foundation/Remove.cs @@ -1,12 +1,10 @@ namespace Toolkit.Foundation; -public record Remove(TValue Value); - public record Remove { - public static Remove As(TValue value) => + public static RemoveEventArgs As(TValue value) => new(value); - public static Remove As() where TValue : new() => + public static RemoveEventArgs As() where TValue : new() => new(new TValue()); } \ No newline at end of file diff --git a/Toolkit.Foundation/RemoveEventArgs.cs b/Toolkit.Foundation/RemoveEventArgs.cs new file mode 100644 index 0000000..e689d4c --- /dev/null +++ b/Toolkit.Foundation/RemoveEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record RemoveEventArgs(TValue Value); diff --git a/Toolkit.Foundation/Replace.cs b/Toolkit.Foundation/Replace.cs index b784976..f47c36f 100644 --- a/Toolkit.Foundation/Replace.cs +++ b/Toolkit.Foundation/Replace.cs @@ -1,12 +1,10 @@ namespace Toolkit.Foundation; -public record Replace(int Index, TValue Value); - public record Replace { - public static Replace As(int index, TValue value) => + public static ReplaceEventArgs As(int index, TValue value) => new(index, value); - public static Replace As(int index) where TValue : new() => + public static ReplaceEventArgs As(int index) where TValue : new() => new(index, new TValue()); } \ No newline at end of file diff --git a/Toolkit.Foundation/ReplaceEventArgs.cs b/Toolkit.Foundation/ReplaceEventArgs.cs new file mode 100644 index 0000000..e220f98 --- /dev/null +++ b/Toolkit.Foundation/ReplaceEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record ReplaceEventArgs(int Index, TValue Value); diff --git a/Toolkit.Foundation/Request.cs b/Toolkit.Foundation/Request.cs index c7f50b9..cbf71d6 100644 --- a/Toolkit.Foundation/Request.cs +++ b/Toolkit.Foundation/Request.cs @@ -1,8 +1,10 @@ namespace Toolkit.Foundation; -public record Request; - public class Request { - public static Request As() => new(); + public static RequestEventArgs As(TValue value) => + new(value); + + public static RequestEventArgs As() where TValue : new() => + new(new TValue()); } \ No newline at end of file diff --git a/Toolkit.Foundation/RequestEventArgs.cs b/Toolkit.Foundation/RequestEventArgs.cs new file mode 100644 index 0000000..109508e --- /dev/null +++ b/Toolkit.Foundation/RequestEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record RequestEventArgs(TValue Value); diff --git a/Toolkit.Foundation/Selected.cs b/Toolkit.Foundation/Selected.cs index 40a7e22..9b4182f 100644 --- a/Toolkit.Foundation/Selected.cs +++ b/Toolkit.Foundation/Selected.cs @@ -1,12 +1,10 @@ namespace Toolkit.Foundation; -public record Selected(TValue? Value); - public record Selected { - public static Selected As(TValue value) => + public static SelectedEventArgs As(TValue value) => new(value); - public static Selected As() where TValue : new() => + public static SelectedEventArgs As() where TValue : new() => new(new TValue()); } \ No newline at end of file diff --git a/Toolkit.Foundation/SelectedEventArgs.cs b/Toolkit.Foundation/SelectedEventArgs.cs new file mode 100644 index 0000000..8340338 --- /dev/null +++ b/Toolkit.Foundation/SelectedEventArgs.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record SelectedEventArgs(TValue? Value); diff --git a/Toolkit.Foundation/Started.cs b/Toolkit.Foundation/StartedEventArgs.cs similarity index 52% rename from Toolkit.Foundation/Started.cs rename to Toolkit.Foundation/StartedEventArgs.cs index 3df6262..d04f3a0 100644 --- a/Toolkit.Foundation/Started.cs +++ b/Toolkit.Foundation/StartedEventArgs.cs @@ -1,3 +1,3 @@ namespace Toolkit.Foundation; -public record Started; \ No newline at end of file +public record StartedEventArgs; \ No newline at end of file diff --git a/Toolkit.Foundation/Toolkit.Foundation.csproj b/Toolkit.Foundation/Toolkit.Foundation.csproj index ef44a00..991be27 100644 --- a/Toolkit.Foundation/Toolkit.Foundation.csproj +++ b/Toolkit.Foundation/Toolkit.Foundation.csproj @@ -4,6 +4,9 @@ enable enable + + + diff --git a/Toolkit.UI.Avalonia/NavigateAction.cs b/Toolkit.UI.Avalonia/NavigateAction.cs index 93be81e..0e4c894 100644 --- a/Toolkit.UI.Avalonia/NavigateAction.cs +++ b/Toolkit.UI.Avalonia/NavigateAction.cs @@ -74,7 +74,7 @@ public class NavigateAction : ParameterBindings.Select(binding => new KeyValuePair(binding.Key, binding.Value)).ToArray() : Enumerable.Empty>()]; - observableViewModel.Publisher.Publish(new Navigate(Route, Context == this ? control : Context, Scope ?? null, + observableViewModel.Publisher.Publish(new NavigateEventArgs(Route, Context == this ? control : Context, Scope ?? null, control.DataContext, Navigated, parameters)).ConfigureAwait(false); } } diff --git a/Toolkit.UI.Avalonia/NavigateBackAction.cs b/Toolkit.UI.Avalonia/NavigateBackAction.cs index 502c680..13a92af 100644 --- a/Toolkit.UI.Avalonia/NavigateBackAction.cs +++ b/Toolkit.UI.Avalonia/NavigateBackAction.cs @@ -34,7 +34,7 @@ public class NavigateBackAction : { if (control.DataContext is IObservableViewModel observableViewModel) { - observableViewModel.Publisher.Publish(new NavigateBack(Context + observableViewModel.Publisher.Publish(new NavigateBackEventArgs(Context ?? null, Scope ?? null)).ConfigureAwait(false); } }