diff --git a/src-ui/src/app/components/admin/settings/settings.component.html b/src-ui/src/app/components/admin/settings/settings.component.html index b520e8218..ce423f9ae 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.html +++ b/src-ui/src/app/components/admin/settings/settings.component.html @@ -253,6 +253,21 @@ + @if (aiEnabled) { +
+
+ Suggestions use +
+
+ +
+
+ } +
diff --git a/src-ui/src/app/components/admin/settings/settings.component.spec.ts b/src-ui/src/app/components/admin/settings/settings.component.spec.ts index 71889e74b..1389a290d 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.spec.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.spec.ts @@ -307,7 +307,7 @@ describe('SettingsComponent', () => { expect(toastErrorSpy).toHaveBeenCalled() expect(storeSpy).toHaveBeenCalled() expect(appearanceSettingsSpy).not.toHaveBeenCalled() - expect(setSpy).toHaveBeenCalledTimes(34) + expect(setSpy).toHaveBeenCalledTimes(35) expect(setSpy).toHaveBeenCalledWith(SETTINGS_KEYS.SIDEBAR_HIDDEN_ITEMS, [ HideableSidebarItemID.Workflows, ]) diff --git a/src-ui/src/app/components/admin/settings/settings.component.ts b/src-ui/src/app/components/admin/settings/settings.component.ts index a4ead8373..2fe40e540 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.ts @@ -44,6 +44,7 @@ import { HIDEABLE_SIDEBAR_ITEM_IDS, HideableSidebarItemID, SETTINGS_KEYS, + SuggestionSource, } from 'src/app/data/ui-settings' import { User } from 'src/app/data/user' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' @@ -184,6 +185,7 @@ export class SettingsComponent documentEditingRemoveInboxTags: new FormControl(null), documentEditingOverlayThumbnail: new FormControl(null), documentEditingAutoSuggest: new FormControl(null), + documentEditingSuggestionSource: new FormControl(null), documentDetailsHiddenFields: new FormControl([]), searchDbOnly: new FormControl(null), searchLink: new FormControl(null), @@ -217,6 +219,11 @@ export class SettingsComponent public readonly PdfZoomScale = PdfZoomScale public readonly PdfEditorEditMode = PdfEditorEditMode + public readonly SuggestionSource = SuggestionSource + + get aiEnabled(): boolean { + return this.settings.get(SETTINGS_KEYS.AI_ENABLED) + } public readonly documentDetailFieldOptions = documentDetailFieldOptions public readonly sidebarItemOptions = HIDEABLE_SIDEBAR_ITEM_IDS.map((id) => ({ @@ -404,6 +411,9 @@ export class SettingsComponent documentEditingAutoSuggest: this.settings.get( SETTINGS_KEYS.DOCUMENT_EDITING_AUTO_SUGGEST ), + documentEditingSuggestionSource: this.settings.get( + SETTINGS_KEYS.DOCUMENT_EDITING_SUGGESTION_SOURCE + ), documentDetailsHiddenFields: this.settings.get( SETTINGS_KEYS.DOCUMENT_DETAILS_HIDDEN_FIELDS ), @@ -625,6 +635,10 @@ export class SettingsComponent SETTINGS_KEYS.DOCUMENT_EDITING_AUTO_SUGGEST, this.settingsForm.value.documentEditingAutoSuggest ) + this.settings.set( + SETTINGS_KEYS.DOCUMENT_EDITING_SUGGESTION_SOURCE, + this.settingsForm.value.documentEditingSuggestionSource + ) this.settings.set( SETTINGS_KEYS.DOCUMENT_DETAILS_HIDDEN_FIELDS, this.settingsForm.value.documentDetailsHiddenFields diff --git a/src-ui/src/app/data/ui-settings.ts b/src-ui/src/app/data/ui-settings.ts index 5bc500872..32c5242bd 100644 --- a/src-ui/src/app/data/ui-settings.ts +++ b/src-ui/src/app/data/ui-settings.ts @@ -20,6 +20,12 @@ export enum GlobalSearchType { TITLE_CONTENT = 'title-content', } +export enum SuggestionSource { + ML = 'ml', + AI = 'ai', + Both = 'both', +} + export enum CollapsibleSection { ATTRIBUTES = 'attributes', } @@ -98,6 +104,8 @@ export const SETTINGS_KEYS = { 'general-settings:document-editing:overlay-thumbnail', DOCUMENT_EDITING_AUTO_SUGGEST: 'general-settings:document-editing:auto-suggest', + DOCUMENT_EDITING_SUGGESTION_SOURCE: + 'general-settings:document-editing:suggestion-source', DOCUMENT_DETAILS_HIDDEN_FIELDS: 'general-settings:document-details:hidden-fields', SEARCH_DB_ONLY: 'general-settings:search:db-only', @@ -326,6 +334,11 @@ export const SETTINGS: UiSetting[] = [ type: 'boolean', default: true, }, + { + key: SETTINGS_KEYS.DOCUMENT_EDITING_SUGGESTION_SOURCE, + type: 'string', + default: SuggestionSource.AI, + }, { key: SETTINGS_KEYS.DOCUMENT_DETAILS_HIDDEN_FIELDS, type: 'array',