mirror of
				https://github.com/MindWorkAI/AI-Studio.git
				synced 2025-11-04 13:00:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			94 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@using AIStudio.Settings.DataModel
 | 
						|
@inherits MSGComponentBase
 | 
						|
 | 
						|
<MudDialog>
 | 
						|
    <DialogContent>
 | 
						|
        <MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
 | 
						|
            @* ReSharper disable once CSharpWarnings::CS8974 *@
 | 
						|
            <MudTextField
 | 
						|
                T="string"
 | 
						|
                @bind-Text="@this.dataName"
 | 
						|
                Label="@T("Data Source Name")"
 | 
						|
                Class="mb-6"
 | 
						|
                MaxLength="40"
 | 
						|
                Counter="40"
 | 
						|
                Immediate="@true"
 | 
						|
                Validation="@this.dataSourceValidation.ValidatingName"
 | 
						|
                Adornment="Adornment.Start"
 | 
						|
                AdornmentIcon="@Icons.Material.Filled.Lightbulb"
 | 
						|
                AdornmentColor="Color.Info"
 | 
						|
                UserAttributes="@SPELLCHECK_ATTRIBUTES"
 | 
						|
            />
 | 
						|
 | 
						|
            <MudJustifiedText Typo="Typo.body1" Class="mb-3">
 | 
						|
                @T("Select a root directory for this data source. All data in this directory and all its subdirectories will be processed for this data source.")
 | 
						|
            </MudJustifiedText>
 | 
						|
            <SelectDirectory @bind-Directory="@this.dataPath" Label="@T("Selected base directory for this data source")" DirectoryDialogTitle="@T("Select the base directory")" Validation="@this.dataSourceValidation.ValidatePath" />
 | 
						|
 | 
						|
            <MudJustifiedText Typo="Typo.body1" Class="mb-3">
 | 
						|
                @T("In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method.")
 | 
						|
            </MudJustifiedText>
 | 
						|
            <MudSelect @bind-Value="@this.dataEmbeddingId" Label="@T("Embedding")" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateEmbeddingId">
 | 
						|
                @foreach (var embedding in this.AvailableEmbeddings)
 | 
						|
                {
 | 
						|
                    <MudSelectItem Value="@embedding.Value">
 | 
						|
                        @embedding.Name
 | 
						|
                    </MudSelectItem>
 | 
						|
                }
 | 
						|
            </MudSelect>
 | 
						|
            
 | 
						|
            @if (!string.IsNullOrWhiteSpace(this.dataEmbeddingId))
 | 
						|
            {
 | 
						|
                if (this.SelectedCloudEmbedding)
 | 
						|
                {
 | 
						|
                    <MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
 | 
						|
                        @if (string.IsNullOrWhiteSpace(this.dataPath))
 | 
						|
                        {
 | 
						|
                            @T("Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this.")
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            @string.Format(T("Please note: the embedding you selected runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud. Please confirm that you have read and understood this."), this.dataPath)
 | 
						|
                        }
 | 
						|
                    </MudJustifiedText>
 | 
						|
                    <MudTextSwitch @bind-Value="@this.dataUserAcknowledgedCloudEmbedding" Label="@T("I confirm that I have read and understood the above")" LabelOn="@T("Yes, please send my data to the cloud")" LabelOff="@T("No, I will chose another embedding")" Validation="@this.dataSourceValidation.ValidateUserAcknowledgedCloudEmbedding"/>
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    <MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
 | 
						|
                        @T("The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.")
 | 
						|
                    </MudJustifiedText>
 | 
						|
                }
 | 
						|
            }
 | 
						|
            
 | 
						|
            <ManagePandocDependency IntroText="@T("For some data types, such as Office files, MindWork AI Studio requires the open-source application Pandoc.")"/>
 | 
						|
 | 
						|
            <MudSelect @bind-Value="@this.dataSecurityPolicy" Text="@this.dataSecurityPolicy.ToSelectionText()" Label="@T("Your security policy")" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateSecurityPolicy">
 | 
						|
                @foreach (var policy in Enum.GetValues<DataSourceSecurity>())
 | 
						|
                {
 | 
						|
                    <MudSelectItem Value="@policy">
 | 
						|
                        @policy.ToSelectionText()
 | 
						|
                    </MudSelectItem>
 | 
						|
                }
 | 
						|
            </MudSelect>
 | 
						|
            
 | 
						|
            <MudNumericField T="ushort" Min="10" @bind-Value="@this.dataMaxMatches" Label="@T("How many matches do you want at most per query?")" Variant="Variant.Outlined" Step="10" />
 | 
						|
        </MudForm>
 | 
						|
        <Issues IssuesData="@this.dataIssues"/>
 | 
						|
    </DialogContent>
 | 
						|
    <DialogActions>
 | 
						|
        <MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
 | 
						|
            @T("Cancel")
 | 
						|
        </MudButton>
 | 
						|
        <MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
 | 
						|
            @if(this.IsEditing)
 | 
						|
            {
 | 
						|
                @T("Update")
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                @T("Add")
 | 
						|
            }
 | 
						|
        </MudButton>
 | 
						|
    </DialogActions>
 | 
						|
</MudDialog> |