fix: restore per-item retrieval settings in the model editor knowledge section (#27686)

This commit is contained in:
G30
2026-08-24 07:34:30 -04:00
committed by GitHub
parent 01452ff62f
commit 16b20c651d
2 changed files with 37 additions and 19 deletions
+1 -1
View File
@@ -107,7 +107,7 @@
if (focusTrap) {
focusTrap.deactivate();
}
if (modalElement) {
if (modalElement && modalElement.parentNode === document.body) {
document.body.removeChild(modalElement);
}
});
@@ -3,6 +3,7 @@
import { config, knowledge, settings, user } from '$lib/stores';
import KnowledgeSelector from './Knowledge/KnowledgeSelector.svelte';
import FileItemModal from '$lib/components/common/FileItemModal.svelte';
import Tooltip from '$lib/components/common/Tooltip.svelte';
import Spinner from '$lib/components/common/Spinner.svelte';
import ChatBubble from '$lib/components/icons/ChatBubble.svelte';
@@ -27,6 +28,9 @@
let filesInputElement = null;
let inputFiles = null;
let showItemModal = false;
let selectedItemIdx = null;
$: if (selectedItems === null) {
selectedItems = [];
}
@@ -143,6 +147,10 @@
});
</script>
{#if showItemModal && selectedItemIdx !== null && selectedItems[selectedItemIdx]}
<FileItemModal bind:show={showItemModal} bind:item={selectedItems[selectedItemIdx]} edit={true} />
{/if}
<input
bind:this={filesInputElement}
bind:files={inputFiles}
@@ -222,25 +230,35 @@
<div
class="flex max-w-56 items-center gap-1.5 py-0.5 pr-2 text-xs text-gray-700 dark:text-gray-200"
>
<div class="shrink-0 text-gray-500 dark:text-gray-400">
{#if file.status === 'uploading'}
<Spinner className="size-3.5" />
{:else if file.type === 'collection'}
<Database className="size-3.5" />
{:else if file.type === 'note'}
<PageEdit className="size-3.5" />
{:else if file.type === 'chat'}
<ChatBubble className="size-3.5" />
{:else if file.type === 'folder'}
<Folder className="size-3.5" />
{:else}
<DocumentPage className="size-3.5" />
{/if}
</div>
<button
type="button"
class="flex min-w-0 items-center gap-1.5"
aria-label={$i18n.t('Edit')}
on:click={() => {
selectedItemIdx = fileIdx;
showItemModal = true;
}}
>
<div class="shrink-0 text-gray-500 dark:text-gray-400">
{#if file.status === 'uploading'}
<Spinner className="size-3.5" />
{:else if file.type === 'collection'}
<Database className="size-3.5" />
{:else if file.type === 'note'}
<PageEdit className="size-3.5" />
{:else if file.type === 'chat'}
<ChatBubble className="size-3.5" />
{:else if file.type === 'folder'}
<Folder className="size-3.5" />
{:else}
<DocumentPage className="size-3.5" />
{/if}
</div>
<div class="min-w-0 truncate">
{file.name || file.id}
</div>
<div class="min-w-0 truncate">
{file.name || file.id}
</div>
</button>
{#if file.status === 'uploading'}
<div class="shrink-0 text-gray-400 dark:text-gray-500">