This commit is contained in:
TheXamlGuy
2024-07-01 18:13:36 +01:00
parent bc33548842
commit 7788259055
13 changed files with 82 additions and 51 deletions
@@ -51,10 +51,10 @@ public partial class ComponentConfigurationViewModel<TConfiguration, TValue, TAc
[ObservableProperty]
private object description = description;
public override Task Activated()
public override Task OnActivated()
{
Value = valueDelegate.Invoke(configuration);
return base.Activated();
return base.OnActivated();
}
public Task Handle(ChangedEventArgs<TConfiguration> args)
@@ -93,10 +93,10 @@ public partial class ComponentConfigurationViewModel<TConfiguration, TValue, TDe
[ObservableProperty]
private TDescription description = description;
public override Task Activated()
public override Task OnActivated()
{
Value = valueDelegate.Invoke(configuration);
return base.Activated();
return base.OnActivated();
}
public Task Handle(ChangedEventArgs<TConfiguration> args)
+1 -1
View File
@@ -2,5 +2,5 @@
public interface IActivated
{
Task Activated();
Task OnActivated();
}
+1 -1
View File
@@ -2,5 +2,5 @@
public interface IDeactivated
{
Task Deactivated();
Task OnDeactivated();
}
+1 -1
View File
@@ -2,5 +2,5 @@
public interface IDeactivating
{
Task Deactivating();
Task OnDeactivating();
}
+18 -19
View File
@@ -24,6 +24,9 @@ public partial class Observable(IServiceProvider provider,
{
private readonly Dictionary<string, object> trackedProperties = [];
[ObservableProperty]
private bool isActivated;
[ObservableProperty]
private bool isActive;
@@ -42,6 +45,12 @@ public partial class Observable(IServiceProvider provider,
public ISubscriber Subscriber { get; } = subscriber;
public virtual Task OnActivated()
{
IsActivated = true;
return Task.CompletedTask;
}
public void Commit()
{
foreach (object trackedProperty in trackedProperties.Values)
@@ -50,6 +59,15 @@ public partial class Observable(IServiceProvider provider,
}
}
public virtual Task OnDeactivated()
{
IsActivated = false;
return Task.CompletedTask;
}
public virtual Task OnDeactivating() =>
Task.CompletedTask;
public virtual void Dispose()
{
GC.SuppressFinalize(this);
@@ -67,25 +85,6 @@ public partial class Observable(IServiceProvider provider,
Subscriber.Subscribe(this);
}
[ObservableProperty]
private bool isActivated;
public virtual Task Activated()
{
IsActivated = true;
return Task.CompletedTask;
}
public virtual Task Deactivated()
{
IsActivated = false;
return Task.CompletedTask;
}
public virtual Task Deactivating() =>
Task.CompletedTask;
public void Revert()
{
foreach (object trackedProperty in trackedProperties.Values)
+9 -5
View File
@@ -127,7 +127,7 @@ public partial class ObservableCollection<TItem> :
object? IList.this[int index]
{
get => collection[index];
get => index >= 0 ? collection[index] : null;
set
{
TItem? item = default;
@@ -144,7 +144,7 @@ public partial class ObservableCollection<TItem> :
}
}
public virtual Task Activated()
public virtual Task OnActivated()
{
IsActivated = true;
while (pendingEvents.Count > 0)
@@ -251,13 +251,13 @@ public partial class ObservableCollection<TItem> :
void ICollection.CopyTo(Array array, int index) =>
collection.CopyTo((TItem[])array, index);
public virtual Task Deactivated()
public virtual Task OnDeactivated()
{
IsActivated = false;
return Task.CompletedTask;
}
public virtual Task Deactivating() =>
public virtual Task OnDeactivating() =>
Task.CompletedTask;
public virtual void Dispose()
@@ -642,11 +642,15 @@ public partial class ObservableCollection<TItem> :
}
}
}
partial void OnSelectedItemChanged(TItem? oldValue, TItem? newValue)
{
if (oldValue is ISelectable oldSelection)
{
oldSelection.IsSelected = false;
if (oldSelection.IsSelected)
{
oldSelection.IsSelected = false;
}
}
if (newValue is ISelectable newSelection)