mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-02-11 20:09:06 +00:00
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using AIStudio.Settings;
|
|
using AIStudio.Settings.DataModel;
|
|
|
|
using Microsoft.AspNetCore.Components;
|
|
|
|
namespace AIStudio.Dialogs;
|
|
|
|
public partial class DataSourceLocalFileInfoDialog : ComponentBase
|
|
{
|
|
[CascadingParameter]
|
|
private MudDialogInstance MudDialog { get; set; } = null!;
|
|
|
|
[Parameter]
|
|
public DataSourceLocalFile DataSource { get; set; }
|
|
|
|
[Inject]
|
|
private SettingsManager SettingsManager { get; init; } = null!;
|
|
|
|
#region Overrides of ComponentBase
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
this.embeddingProvider = this.SettingsManager.ConfigurationData.EmbeddingProviders.FirstOrDefault(x => x.Id == this.DataSource.EmbeddingId);
|
|
this.fileInfo = new FileInfo(this.DataSource.FilePath);
|
|
await base.OnInitializedAsync();
|
|
}
|
|
|
|
#endregion
|
|
|
|
private EmbeddingProvider embeddingProvider;
|
|
private FileInfo fileInfo = null!;
|
|
|
|
private bool IsCloudEmbedding => !this.embeddingProvider.IsSelfHosted;
|
|
|
|
private bool IsFileAvailable => this.fileInfo.Exists;
|
|
|
|
private string FileSize => this.fileInfo.FileSize();
|
|
|
|
private void Close() => this.MudDialog.Close();
|
|
} |