Switching to settings works now. Scrolling doesnt

This commit is contained in:
Peer Schütt 2025-03-10 13:29:55 +01:00
parent 5537c53d4f
commit 7137e58249
3 changed files with 48 additions and 46 deletions

View File

@ -8,11 +8,11 @@ namespace AIStudio.Components.Settings;
public abstract class SettingsPanelBase : ComponentBase public abstract class SettingsPanelBase : ComponentBase
{ {
[Parameter] [CascadingParameter]
public Func<IReadOnlyList<ConfigurationSelectData<string>>> AvailableLLMProvidersFunc { get; set; } = () => []; public Pages.Settings Settings { get; set; } = null!;
[Parameter] [Parameter]
public SettingsPanel ChosenPanel { get; set; } public Func<IReadOnlyList<ConfigurationSelectData<string>>> AvailableLLMProvidersFunc { get; set; } = () => [];
protected abstract SettingsPanel Type { get; } protected abstract SettingsPanel Type { get; }
@ -28,5 +28,5 @@ public abstract class SettingsPanelBase : ComponentBase
[Inject] [Inject]
protected RustService RustService { get; init; } = null!; protected RustService RustService { get; init; } = null!;
protected bool IsExtended() => this.Type == this.ChosenPanel; protected bool IsExtended() => this.Type == this.Settings.ChosenSettingsPanel;
} }

View File

@ -6,45 +6,47 @@
<MudText Typo="Typo.h3" Class="mb-12">Settings</MudText> <MudText Typo="Typo.h3" Class="mb-12">Settings</MudText>
<InnerScrolling> <InnerScrolling>
<MudExpansionPanels Class="mb-3" MultiExpansion="@false"> <CascadingValue Value="@this">
<SettingsPanelProviders @bind-AvailableLLMProviders="@this.availableLLMProviders" /> <MudExpansionPanels Class="mb-3" MultiExpansion="@false">
<SettingsPanelProviders @bind-AvailableLLMProviders="@this.availableLLMProviders"/>
@if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
{ @if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
<SettingsPanelEmbeddings AvailableLLMProvidersFunc="() => this.availableLLMProviders" @bind-AvailableEmbeddingProviders="@this.availableEmbeddingProviders"/> {
<SettingsPanelDataSources AvailableLLMProvidersFunc="() => this.availableLLMProviders" AvailableEmbeddingsFunc="() => this.availableEmbeddingProviders" @bind-AvailableDataSources="@this.availableDataSources"/> <SettingsPanelEmbeddings AvailableLLMProvidersFunc="() => this.availableLLMProviders" @bind-AvailableEmbeddingProviders="@this.availableEmbeddingProviders"/>
} <SettingsPanelDataSources AvailableLLMProvidersFunc="() => this.availableLLMProviders" AvailableEmbeddingsFunc="() => this.availableEmbeddingProviders" @bind-AvailableDataSources="@this.availableDataSources"/>
<SettingsPanelProfiles AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> }
<SettingsPanelApp AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelProfiles AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelChat AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelApp AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelWorkspaces AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelChat AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelIconFinder AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelWorkspaces AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelTranslation AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelIconFinder AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelCoding AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelTranslation AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelCoding AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
@if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
{ @if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
<SettingsPanelERIServer AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> {
} <SettingsPanelERIServer AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
}
<SettingsPanelTextSummarizer AvailableLLMProvidersFunc="() => this.availableLLMProviders" />
<SettingsPanelAgenda AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelTextSummarizer AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelGrammarSpelling AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelAgenda AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelRewrite AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelGrammarSpelling AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelWritingEMails AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelRewrite AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelJobPostings AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelWritingEMails AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelLegalCheck AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelJobPostings AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelSynonyms AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelLegalCheck AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelMyTasks AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelSynonyms AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelAssistantBias AvailableLLMProvidersFunc="() => this.availableLLMProviders" /> <SettingsPanelMyTasks AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
<SettingsPanelAssistantBias AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
@if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
{ @if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
<SettingsPanelAgentDataSourceSelection AvailableLLMProvidersFunc="() => this.availableLLMProviders"/> {
<SettingsPanelAgentRetrievalContextValidation AvailableLLMProvidersFunc="() => this.availableLLMProviders"/> <SettingsPanelAgentDataSourceSelection AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
} <SettingsPanelAgentRetrievalContextValidation AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
}
<SettingsPanelAgentContentCleaner AvailableLLMProvidersFunc="() => this.availableLLMProviders" />
</MudExpansionPanels> <SettingsPanelAgentContentCleaner AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
</MudExpansionPanels>
</CascadingValue>
</InnerScrolling> </InnerScrolling>
</div> </div>

View File

@ -16,7 +16,7 @@ public partial class Settings : ComponentBase, IMessageBusReceiver, IDisposable
private List<ConfigurationSelectData<string>> availableLLMProviders = new(); private List<ConfigurationSelectData<string>> availableLLMProviders = new();
private List<ConfigurationSelectData<string>> availableEmbeddingProviders = new(); private List<ConfigurationSelectData<string>> availableEmbeddingProviders = new();
private List<ConfigurationSelectData<string>> availableDataSources = new(); private List<ConfigurationSelectData<string>> availableDataSources = new();
private SettingsPanel chosenSettingsPanel { get; set; } public SettingsPanel ChosenSettingsPanel { get; private set; }
#region Overrides of ComponentBase #region Overrides of ComponentBase
@ -26,7 +26,7 @@ public partial class Settings : ComponentBase, IMessageBusReceiver, IDisposable
this.MessageBus.RegisterComponent(this); this.MessageBus.RegisterComponent(this);
this.MessageBus.ApplyFilters(this, [], [ Event.CONFIGURATION_CHANGED ]); this.MessageBus.ApplyFilters(this, [], [ Event.CONFIGURATION_CHANGED ]);
this.chosenSettingsPanel = MessageBus.INSTANCE.CheckDeferredMessages<SettingsPanel>(Event.SWITCH_TO_SETTINGS_PANEL).FirstOrDefault(); this.ChosenSettingsPanel = MessageBus.INSTANCE.CheckDeferredMessages<SettingsPanel>(Event.SWITCH_TO_SETTINGS_PANEL).FirstOrDefault();
// var deferredContent = MessageBus.INSTANCE.CheckDeferredMessages<SettingsPanel>(Event.SWITCH_TO_SETTINGS_PANEL).FirstOrDefault(); // var deferredContent = MessageBus.INSTANCE.CheckDeferredMessages<SettingsPanel>(Event.SWITCH_TO_SETTINGS_PANEL).FirstOrDefault();
//if (deferredContent != default) //if (deferredContent != default)
//{ //{