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