mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-08-24 20:52:11 +00:00
wired the editor dialog to an action button on the plugin overview page
This commit is contained in:
parent
caf5eb19a0
commit
c104f9144c
@ -97,6 +97,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@if (context is IAvailablePlugin editablePlugin && CanEditAssistantPlugin(editablePlugin))
|
||||||
|
{
|
||||||
|
<MudTooltip Text="@T("Edit assistant plugin")">
|
||||||
|
<MudIconButton Icon="@Icons.Material.Filled.EditNote" Size="Size.Medium" OnClick="@(() => this.OpenAssistantPluginEditorDialogAsync(editablePlugin))"/>
|
||||||
|
</MudTooltip>
|
||||||
|
}
|
||||||
|
|
||||||
@if (context is IAvailablePlugin availablePlugin && CanDeleteAssistantPlugin(availablePlugin))
|
@if (context is IAvailablePlugin availablePlugin && CanDeleteAssistantPlugin(availablePlugin))
|
||||||
{
|
{
|
||||||
<MudTooltip Text="@T("Delete assistant plugin")">
|
<MudTooltip Text="@T("Delete assistant plugin")">
|
||||||
|
|||||||
@ -188,8 +188,29 @@ public partial class Plugins : MSGComponentBase
|
|||||||
: this.T("Enable plugin");
|
: this.T("Enable plugin");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static bool CanEditAssistantPlugin(IAvailablePlugin plugin) => plugin is { IsInternal: false, Type: PluginType.ASSISTANT } && !string.IsNullOrWhiteSpace(plugin.LocalPath);
|
||||||
|
|
||||||
private static bool CanDeleteAssistantPlugin(IAvailablePlugin plugin) => plugin is { IsInternal: false, Type: PluginType.ASSISTANT } && !string.IsNullOrWhiteSpace(plugin.LocalPath);
|
private static bool CanDeleteAssistantPlugin(IAvailablePlugin plugin) => plugin is { IsInternal: false, Type: PluginType.ASSISTANT } && !string.IsNullOrWhiteSpace(plugin.LocalPath);
|
||||||
|
|
||||||
|
private async Task OpenAssistantPluginEditorDialogAsync(IAvailablePlugin plugin)
|
||||||
|
{
|
||||||
|
var parameters = new DialogParameters<AssistantPluginEditorDialog>
|
||||||
|
{
|
||||||
|
{ x => x.PluginId, plugin.Id },
|
||||||
|
{ x => x.PluginLocalPath, plugin.LocalPath },
|
||||||
|
};
|
||||||
|
|
||||||
|
var dialogReference = await this.DialogService.ShowAsync<AssistantPluginEditorDialog>(this.T("Edit Assistant Plugin"), parameters, DialogOptions.BLOCKING_FULLSCREEN);
|
||||||
|
var dialogResult = await dialogReference.Result;
|
||||||
|
if (dialogResult is null || dialogResult.Canceled || dialogResult.Data is not AssistantPluginEditorDialogResult result)
|
||||||
|
return;
|
||||||
|
|
||||||
|
await this.MessageBus.SendSuccess(new(Icons.Material.Filled.Save, string.Format(this.T("The assistant plugin '{0}' has been successfully saved."), result.PluginName)));
|
||||||
|
LOG.LogInformation($"The assistant plugin '{result.PluginName}' ({result.PluginId}) has been successfully updated.");
|
||||||
|
await this.MessageBus.SendMessage<bool>(this, Event.PLUGINS_RELOADED);
|
||||||
|
await this.InvokeAsync(this.StateHasChanged);
|
||||||
|
}
|
||||||
|
|
||||||
private async Task DeleteAssistantPluginAsync(IAvailablePlugin plugin)
|
private async Task DeleteAssistantPluginAsync(IAvailablePlugin plugin)
|
||||||
{
|
{
|
||||||
var dialogParameters = new DialogParameters<ConfirmDialog>
|
var dialogParameters = new DialogParameters<ConfirmDialog>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user