mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-02-11 23:49:07 +00:00
50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
|
using AIStudio.Settings;
|
||
|
|
||
|
using Microsoft.AspNetCore.Components;
|
||
|
|
||
|
namespace AIStudio.Components;
|
||
|
|
||
|
public partial class TextInfoLines : ComponentBase
|
||
|
{
|
||
|
[Parameter]
|
||
|
public string Label { get; set; } = string.Empty;
|
||
|
|
||
|
[Parameter]
|
||
|
public string Value { get; set; } = string.Empty;
|
||
|
|
||
|
[Parameter]
|
||
|
public string ClipboardTooltipSubject { get; set; } = "the text";
|
||
|
|
||
|
[Parameter]
|
||
|
public int MaxLines { get; set; } = 30;
|
||
|
|
||
|
[Parameter]
|
||
|
public bool ShowingCopyButton { get; set; } = true;
|
||
|
|
||
|
[Inject]
|
||
|
private RustService RustService { get; init; } = null!;
|
||
|
|
||
|
[Inject]
|
||
|
private ISnackbar Snackbar { get; init; } = null!;
|
||
|
|
||
|
[Inject]
|
||
|
private SettingsManager SettingsManager { get; init; } = null!;
|
||
|
|
||
|
#region Overrides of ComponentBase
|
||
|
|
||
|
protected override async Task OnInitializedAsync()
|
||
|
{
|
||
|
// Configure the spellchecking for the user input:
|
||
|
this.SettingsManager.InjectSpellchecking(USER_INPUT_ATTRIBUTES);
|
||
|
|
||
|
await base.OnInitializedAsync();
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
private static readonly Dictionary<string, object?> USER_INPUT_ATTRIBUTES = new();
|
||
|
|
||
|
private string ClipboardTooltip => $"Copy {this.ClipboardTooltipSubject} to the clipboard";
|
||
|
|
||
|
private async Task CopyToClipboard(string content) => await this.RustService.CopyText2Clipboard(this.Snackbar, content);
|
||
|
}
|