Refactor SettingsDialogBase to inherit from MSGComponentBase

This commit is contained in:
Thorsten Sommer 2025-04-17 12:57:32 +02:00
parent c5360ebede
commit 087ab5257c
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -1,5 +1,6 @@
using System.Diagnostics.CodeAnalysis;
using AIStudio.Components;
using AIStudio.Settings;
using AIStudio.Tools.Services;
@ -7,20 +8,14 @@ using Microsoft.AspNetCore.Components;
namespace AIStudio.Dialogs.Settings;
public abstract class SettingsDialogBase : ComponentBase, IMessageBusReceiver, IDisposable
public abstract class SettingsDialogBase : MSGComponentBase
{
[CascadingParameter]
protected IMudDialogInstance MudDialog { get; set; } = null!;
[Inject]
protected SettingsManager SettingsManager { get; init; } = null!;
[Inject]
protected IDialogService DialogService { get; init; } = null!;
[Inject]
protected MessageBus MessageBus { get; init; } = null!;
[Inject]
protected RustService RustService { get; init; } = null!;
@ -32,9 +27,7 @@ public abstract class SettingsDialogBase : ComponentBase, IMessageBusReceiver, I
/// <inheritdoc />
protected override async Task OnInitializedAsync()
{
// Register this component with the message bus:
this.MessageBus.RegisterComponent(this);
this.MessageBus.ApplyFilters(this, [], [ Event.CONFIGURATION_CHANGED ]);
this.ApplyFilters([], [ Event.CONFIGURATION_CHANGED ]);
this.UpdateProviders();
this.UpdateEmbeddingProviders();
@ -59,12 +52,10 @@ public abstract class SettingsDialogBase : ComponentBase, IMessageBusReceiver, I
foreach (var provider in this.SettingsManager.ConfigurationData.EmbeddingProviders)
this.availableEmbeddingProviders.Add(new (provider.Name, provider.Id));
}
#region Implementation of IMessageBusReceiver
public string ComponentName => nameof(Settings);
public Task ProcessMessage<TMsg>(ComponentBase? sendingComponent, Event triggeredEvent, TMsg? data)
#region Overrides of MSGComponentBase
protected override Task ProcessIncomingMessage<T>(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default
{
switch (triggeredEvent)
{
@ -72,23 +63,9 @@ public abstract class SettingsDialogBase : ComponentBase, IMessageBusReceiver, I
this.StateHasChanged();
break;
}
return Task.CompletedTask;
}
public Task<TResult?> ProcessMessageWithResult<TPayload, TResult>(ComponentBase? sendingComponent, Event triggeredEvent, TPayload? data)
{
return Task.FromResult<TResult?>(default);
}
#endregion
#region Implementation of IDisposable
public void Dispose()
{
this.MessageBus.Unregister(this);
}
#endregion
}