diff --git a/Toolkit.Foundation/Activated.cs b/Toolkit.Foundation/Activated.cs index ca3d61c..e75f9f8 100644 --- a/Toolkit.Foundation/Activated.cs +++ b/Toolkit.Foundation/Activated.cs @@ -1,3 +1,10 @@ namespace Toolkit.Foundation; -public record Activated; \ No newline at end of file +public record Activated(TValue? Value = default); + +public record Activated +{ + public static Activated As(TValue value) => new(value); + + public static Activated As() where TValue : new() => new(new TValue()); +} diff --git a/Toolkit.Foundation/ConfigurationInitializer.cs b/Toolkit.Foundation/ConfigurationInitializer.cs index b7240eb..57ea430 100644 --- a/Toolkit.Foundation/ConfigurationInitializer.cs +++ b/Toolkit.Foundation/ConfigurationInitializer.cs @@ -20,6 +20,6 @@ public class ConfigurationInitializer(IConfigurationReader(configuration)); + await publisher.PublishUI(new Activated(configuration)); } } \ No newline at end of file diff --git a/Toolkit.Foundation/IContainer.cs b/Toolkit.Foundation/IValueStore.cs similarity index 72% rename from Toolkit.Foundation/IContainer.cs rename to Toolkit.Foundation/IValueStore.cs index 7c7dd2d..ac6ca2a 100644 --- a/Toolkit.Foundation/IContainer.cs +++ b/Toolkit.Foundation/IValueStore.cs @@ -1,6 +1,6 @@ namespace Toolkit.Foundation; -public interface IContainer +public interface IValueStore { T? Value { get; } diff --git a/Toolkit.Foundation/ObservableViewModel.cs b/Toolkit.Foundation/ObservableViewModel.cs index 7bd5543..779394e 100644 --- a/Toolkit.Foundation/ObservableViewModel.cs +++ b/Toolkit.Foundation/ObservableViewModel.cs @@ -92,12 +92,13 @@ public partial class ObservableViewModel(IServiceProvider provider IMediator mediator, IPublisher publisher, ISubscriber subscriber, - IDisposer disposer) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer) - where TValue : notnull + IDisposer disposer, + TValue? value = null) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer) + where TValue : class { [ObservableProperty] private TKey? key; [ObservableProperty] - private TValue? value; + private TValue? value = value; } \ No newline at end of file diff --git a/Toolkit.Foundation/Container.cs b/Toolkit.Foundation/ValueStore.cs similarity index 72% rename from Toolkit.Foundation/Container.cs rename to Toolkit.Foundation/ValueStore.cs index 30516e0..0c1c6db 100644 --- a/Toolkit.Foundation/Container.cs +++ b/Toolkit.Foundation/ValueStore.cs @@ -1,7 +1,7 @@ namespace Toolkit.Foundation; -public class Container : - IContainer +public class ValueStore : + IValueStore { public T? Value { get; private set; } diff --git a/Toolkit.UI.Controls.Avalonia/Class1.cs b/Toolkit.UI.Controls.Avalonia/Class1.cs new file mode 100644 index 0000000..cef80b6 --- /dev/null +++ b/Toolkit.UI.Controls.Avalonia/Class1.cs @@ -0,0 +1,17 @@ +using Avalonia.Controls; +using Avalonia.Controls.Primitives; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Toolkit.UI.Controls; + +public class AttachedFlyout : PopupFlyoutBase +{ + protected override Control CreatePresenter() + { + throw new NotImplementedException(); + } +}