From eb2b1ab77b5e50b7b96ac2446e9bce7fc0e611b6 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" <timothyjrbeck@gmail.com> Date: Sat, 3 Feb 2024 17:21:51 -0800 Subject: [PATCH] feat: query all documents --- src/lib/components/chat/MessageInput.svelte | 2 +- .../chat/MessageInput/Documents.svelte | 39 ++++++++++++------- .../chat/Messages/UserMessage.svelte | 2 +- .../components/documents/EditDocModal.svelte | 2 +- 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 3ba51a6f8..20eab5b6f 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -468,7 +468,7 @@ <div class="flex flex-col justify-center -space-y-0.5"> <div class=" dark:text-gray-100 text-sm font-medium line-clamp-1"> - #{file.name} + {file?.title ?? `#${file.name}`} </div> <div class=" text-gray-500 text-sm">Collection</div> diff --git a/src/lib/components/chat/MessageInput/Documents.svelte b/src/lib/components/chat/MessageInput/Documents.svelte index 6cc7bf4dc..0219a111d 100644 --- a/src/lib/components/chat/MessageInput/Documents.svelte +++ b/src/lib/components/chat/MessageInput/Documents.svelte @@ -13,34 +13,43 @@ let filteredItems = []; let filteredDocs = []; - let filteredTags = []; let collections = []; - $: collections = $documents - .reduce((a, e, i, arr) => { - return [...new Set([...a, ...(e?.content?.tags ?? []).map((tag) => tag.name)])]; - }, []) - .map((tag) => ({ - name: tag, + $: collections = [ + { + name: 'All Documents', type: 'collection', - collection_names: $documents - .filter((doc) => (doc?.content?.tags ?? []).map((tag) => tag.name).includes(tag)) - .map((doc) => doc.collection_name) - })); + title: 'All Documents', + collection_names: $documents.map((doc) => doc.collection_name) + }, + ...$documents + .reduce((a, e, i, arr) => { + return [...new Set([...a, ...(e?.content?.tags ?? []).map((tag) => tag.name)])]; + }, []) + .map((tag) => ({ + name: tag, + type: 'collection', + collection_names: $documents + .filter((doc) => (doc?.content?.tags ?? []).map((tag) => tag.name).includes(tag)) + .map((doc) => doc.collection_name) + })) + ]; $: filteredCollections = collections - .filter((tag) => tag.name.includes(prompt.split(' ')?.at(0)?.substring(1) ?? '')) + .filter((collection) => collection.name.includes(prompt.split(' ')?.at(0)?.substring(1) ?? '')) .sort((a, b) => a.name.localeCompare(b.name)); $: filteredDocs = $documents - .filter((p) => p.name.includes(prompt.split(' ')?.at(0)?.substring(1) ?? '')) + .filter((doc) => doc.name.includes(prompt.split(' ')?.at(0)?.substring(1) ?? '')) .sort((a, b) => a.title.localeCompare(b.title)); $: filteredItems = [...filteredCollections, ...filteredDocs]; $: if (prompt) { selectedIdx = 0; + + console.log(filteredCollections); } export const selectUp = () => { @@ -74,7 +83,7 @@ }; </script> -{#if filteredDocs.length > 0 || prompt.split(' ')?.at(0)?.substring(1).startsWith('http')} +{#if filteredItems.length > 0 || prompt.split(' ')?.at(0)?.substring(1).startsWith('http')} <div class="md:px-2 mb-3 text-left w-full"> <div class="flex w-full rounded-lg border border-gray-100 dark:border-gray-700"> <div class=" bg-gray-100 dark:bg-gray-700 w-10 rounded-l-lg text-center"> @@ -101,7 +110,7 @@ > {#if doc.type === 'collection'} <div class=" font-medium text-black line-clamp-1"> - #{doc.name} + {doc?.title ?? `#${doc.name}`} </div> <div class=" text-xs text-gray-600 line-clamp-1">Collection</div> diff --git a/src/lib/components/chat/Messages/UserMessage.svelte b/src/lib/components/chat/Messages/UserMessage.svelte index 0e0fc332f..c2867d549 100644 --- a/src/lib/components/chat/Messages/UserMessage.svelte +++ b/src/lib/components/chat/Messages/UserMessage.svelte @@ -140,7 +140,7 @@ <div class="flex flex-col justify-center -space-y-0.5"> <div class=" dark:text-gray-100 text-sm font-medium line-clamp-1"> - #{file.name} + {file?.title ?? `#${file.name}`} </div> <div class=" text-gray-500 text-sm">Collection</div> diff --git a/src/lib/components/documents/EditDocModal.svelte b/src/lib/components/documents/EditDocModal.svelte index 43b90e021..4974da5a1 100644 --- a/src/lib/components/documents/EditDocModal.svelte +++ b/src/lib/components/documents/EditDocModal.svelte @@ -37,7 +37,7 @@ }; const addTagHandler = async (tagName) => { - if (!tags.find((tag) => tag.name === tagName)) { + if (!tags.find((tag) => tag.name === tagName) && tagName !== '') { tags = [...tags, { name: tagName }]; await tagDocByName(localStorage.token, doc.name, {