-
-
-
-
{knowledgeBase.name} has been deleted
-
- If this was a mistake, click "Undo Action" to reapply your changes.
+ {showDeleteMessage && (
+
+
+
+
+
{knowledgeBase.name} has been deleted
+
+ If this was a mistake, click "Undo Action" to reapply your changes.
+
+
+ Undo Action
+
-
- Undo Action
-
+
-
-
- {/* )} */}
+ )}
setEditDialogIsOpen(false)}
From 861dc0472c66a24219517e39aa9b78ff296fe44f Mon Sep 17 00:00:00 2001
From: Wojciech Bandzerewicz <57405495+thewbuk@users.noreply.github.com>
Date: Wed, 5 Jun 2024 15:28:57 +0100
Subject: [PATCH 072/218] rename createInstillAxiosClient variable
---
.../toolkit/src/lib/vdp-sdk/helper/createInstillAxiosClient.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/toolkit/src/lib/vdp-sdk/helper/createInstillAxiosClient.ts b/packages/toolkit/src/lib/vdp-sdk/helper/createInstillAxiosClient.ts
index dd8e04f0aa..f470caf27e 100644
--- a/packages/toolkit/src/lib/vdp-sdk/helper/createInstillAxiosClient.ts
+++ b/packages/toolkit/src/lib/vdp-sdk/helper/createInstillAxiosClient.ts
@@ -30,7 +30,7 @@ export function createInstillAxiosClient(
let APIVersion = env("NEXT_PUBLIC_GENERAL_API_VERSION");
- if (isModelEndpoint) {
+ if (isAlphaVersion) {
APIVersion = env("NEXT_PUBLIC_MODEL_API_VERSION");
}
From 1e5684b2b097ec2033232f390c6e431859e9f406 Mon Sep 17 00:00:00 2001
From: Wojciech Bandzerewicz <57405495+thewbuk@users.noreply.github.com>
Date: Thu, 6 Jun 2024 11:49:23 +0100
Subject: [PATCH 073/218] add name tranform to conform to standard in kb
---
.../components/CreateKnowledgeDialog.tsx | 20 +++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/packages/toolkit/src/view/knowledge/components/CreateKnowledgeDialog.tsx b/packages/toolkit/src/view/knowledge/components/CreateKnowledgeDialog.tsx
index 7807588327..4380c077e1 100644
--- a/packages/toolkit/src/view/knowledge/components/CreateKnowledgeDialog.tsx
+++ b/packages/toolkit/src/view/knowledge/components/CreateKnowledgeDialog.tsx
@@ -38,7 +38,15 @@ export const CreateKnowledgeDialog = ({
mode: "onChange",
});
- const { formState } = form;
+ const { formState, watch } = form;
+ const nameValue = watch("name");
+
+ const formatName = (name: string) => {
+ return name.replace(/[^a-zA-Z0-9-_]/g, "-").replace(/-+/g, "-");
+ };
+
+ const isNameValid = /^[a-zA-Z0-9-_]+$/.test(nameValue);
+ const formattedName = formatName(nameValue);
return (
@@ -51,7 +59,10 @@ export const CreateKnowledgeDialog = ({
+ {nameValue && !isNameValid && (
+
+ Name will be transformed to: {formattedName}
+
+ )}
)}
From dc9b95a7ab494a8022cc8f9abde9fb1c1defa78f Mon Sep 17 00:00:00 2001
From: Wojciech Bandzerewicz <57405495+thewbuk@users.noreply.github.com>
Date: Thu, 6 Jun 2024 11:55:23 +0100
Subject: [PATCH 074/218] edit knowladge base to conform to norm with name
---
.../knowledge/components/EditKnowledgeDialog.tsx | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/packages/toolkit/src/view/knowledge/components/EditKnowledgeDialog.tsx b/packages/toolkit/src/view/knowledge/components/EditKnowledgeDialog.tsx
index 80ca0f323c..329c67c784 100644
--- a/packages/toolkit/src/view/knowledge/components/EditKnowledgeDialog.tsx
+++ b/packages/toolkit/src/view/knowledge/components/EditKnowledgeDialog.tsx
@@ -43,8 +43,15 @@ export const EditKnowledgeDialog = ({
});
- const { formState } = form;
+ const { formState, watch } = form;
+ const nameValue = watch("name");
+ const formatName = (name: string) => {
+ return name.replace(/[^a-zA-Z0-9-_]/g, "-").replace(/-+/g, "-");
+ };
+
+ const isNameValid = /^[a-zA-Z0-9-_]+$/.test(nameValue);
+ const formattedName = formatName(nameValue);
return (
@@ -76,6 +83,11 @@ export const EditKnowledgeDialog = ({
/>
+ {nameValue && !isNameValid && (
+
+ Name will be transformed to: {formattedName}
+
+ )}
)}
From a22a36e7af38f3f727b42ebae5a6cab42ef18032 Mon Sep 17 00:00:00 2001
From: Wojciech Bandzerewicz <57405495+thewbuk@users.noreply.github.com>
Date: Thu, 6 Jun 2024 12:38:15 +0100
Subject: [PATCH 075/218] fix: delete pop up timeout
---
.../components/CreateKnowledgeBaseCard.tsx | 53 ++++++++++++++-----
1 file changed, 40 insertions(+), 13 deletions(-)
diff --git a/packages/toolkit/src/view/knowledge/components/CreateKnowledgeBaseCard.tsx b/packages/toolkit/src/view/knowledge/components/CreateKnowledgeBaseCard.tsx
index cce3528f2d..304b289e7d 100644
--- a/packages/toolkit/src/view/knowledge/components/CreateKnowledgeBaseCard.tsx
+++ b/packages/toolkit/src/view/knowledge/components/CreateKnowledgeBaseCard.tsx
@@ -68,6 +68,7 @@ export const CreateKnowledgeBaseCard = ({
const [editDialogIsOpen, setEditDialogIsOpen] = React.useState(false);
const [showDeleteMessage, setShowDeleteMessage] = React.useState(false);
const [isDeleted, setIsDeleted] = React.useState(false);
+ const timeoutRef = React.useRef(null);
const handleEdit = (e: React.MouseEvent) => {
e.stopPropagation();
@@ -112,21 +113,25 @@ export const CreateKnowledgeBaseCard = ({
setIsDeleted(true);
setDeleteDialogIsOpen(false);
setShowDeleteMessage(true);
- setTimeout(() => {
- if (isDeleted) {
- deleteKnowledgeBase.mutateAsync({
- id: knowledgeBase.id,
- accessToken: accessToken,
- });
- setKnowledgeBases((prevKnowledgeBases) =>
- prevKnowledgeBases.filter((kb) => kb.id !== knowledgeBase.id)
- );
- setShowDeleteMessage(false);
- setIsDeleted(false);
- }
+ timeoutRef.current = setTimeout(() => {
+ deleteKnowledgeBaseHandler();
}, 15000);
};
+ const deleteKnowledgeBaseHandler = async () => {
+ if (isDeleted) {
+ await deleteKnowledgeBase.mutateAsync({
+ id: knowledgeBase.id,
+ accessToken: accessToken,
+ });
+ setKnowledgeBases((prevKnowledgeBases) =>
+ prevKnowledgeBases.filter((kb) => kb.id !== knowledgeBase.id)
+ );
+ setShowDeleteMessage(false);
+ setIsDeleted(false);
+ }
+ };
+
const handleEditKnowledgeSubmit = async (data: any) => {
await updateKnowledgeBase.mutateAsync({
id: knowledgeBase.id,
@@ -139,8 +144,30 @@ export const CreateKnowledgeBaseCard = ({
const undoDelete = () => {
setShowDeleteMessage(false);
setIsDeleted(false);
+ if (timeoutRef.current) {
+ clearTimeout(timeoutRef.current);
+ }
};
+ const handleCloseDeleteMessage = () => {
+ setShowDeleteMessage(false);
+ deleteKnowledgeBaseHandler();
+ };
+
+ React.useEffect(() => {
+ if (showDeleteMessage) {
+ timeoutRef.current = setTimeout(() => {
+ setShowDeleteMessage(false);
+ deleteKnowledgeBaseHandler();
+ }, 15000);
+ }
+ return () => {
+ if (timeoutRef.current) {
+ clearTimeout(timeoutRef.current);
+ }
+ };
+ }, [showDeleteMessage]);
+
return (
{!isDeleted && (
@@ -194,7 +221,7 @@ export const CreateKnowledgeBaseCard = ({
Undo Action
-
From e2bd8f299bac6c77bdafbef192e75eaf5db9fdba Mon Sep 17 00:00:00 2001
From: Wojciech Bandzerewicz <57405495+thewbuk@users.noreply.github.com>
Date: Fri, 14 Jun 2024 14:49:25 +0100
Subject: [PATCH 076/218] formatting
---
.../src/new-ui/Icons/GraduationHat.tsx | 8 +-
.../src/components/top-bar/TopbarLinks.tsx | 16 +-
.../knowledge/useCreateKnowledgeBase.ts | 2 +-
.../knowledge/useDeleteKnowledgeBase.ts | 2 +-
.../knowledge/useGetKnowledgeBases.ts | 2 +-
.../knowledge/useUpdateKnowledgeBase.ts | 2 +-
.../src/view/knowledge/KnowladgeBaseView.tsx | 40 +-
.../knowledge/components/CatalogFilesTab.tsx | 473 ++++++++++--------
.../components/CreateKnowledgeBaseCard.tsx | 112 +++--
.../components/CreateKnowledgeDialog.tsx | 281 ++++++-----
.../components/EditKnowledgeDialog.tsx | 277 +++++-----
.../components/KnowledgeBaseCard.tsx | 19 +-
.../knowledge/components/KnowledgeBaseTab.tsx | 209 ++++----
.../knowledge/components/RetrieveTestTab.tsx | 4 +-
.../src/view/knowledge/components/Sidebar.tsx | 89 ++--
.../knowledge/components/UploadExploreTab.tsx | 228 +++++----
16 files changed, 960 insertions(+), 804 deletions(-)
diff --git a/packages/design-system/src/new-ui/Icons/GraduationHat.tsx b/packages/design-system/src/new-ui/Icons/GraduationHat.tsx
index e9568fd7e5..1958ba1b1c 100644
--- a/packages/design-system/src/new-ui/Icons/GraduationHat.tsx
+++ b/packages/design-system/src/new-ui/Icons/GraduationHat.tsx
@@ -15,7 +15,13 @@ export const GraduationHat = React.forwardRef<
viewBox="0 0 24 24"
className={className}
>
-
+
);
});
diff --git a/packages/toolkit/src/components/top-bar/TopbarLinks.tsx b/packages/toolkit/src/components/top-bar/TopbarLinks.tsx
index f196fdca2f..a43ec81341 100644
--- a/packages/toolkit/src/components/top-bar/TopbarLinks.tsx
+++ b/packages/toolkit/src/components/top-bar/TopbarLinks.tsx
@@ -9,23 +9,25 @@ import { env } from "../../server";
export const topbarItems = [
{
pathName: "pipelines",
- icon:
,
+ icon:
,
name: "Pipelines",
},
{
pathName: "knowledge",
- icon:
,
+ icon: (
+
+ ),
name: "Knowledge base",
},
{
pathName: "models",
- icon:
,
+ icon:
,
name: "Models",
},
{
pathName: "dashboard",
icon: (
-
+
),
name: "Dashboard",
},
@@ -45,11 +47,11 @@ export const TopbarLinks = ({
key="hub"
href="/hub"
icon={
-
+
}
name="Hub"
hightlighted={pathname.split("/")[1] === "hub"}
- className="px-4 mx-1 my-2"
+ className="mx-1 my-2 px-4"
/>
) : null}
{topbarItems.map(({ pathName, name, icon }) => (
@@ -59,7 +61,7 @@ export const TopbarLinks = ({
icon={icon}
name={name}
hightlighted={pathname.split("/")[2] === pathName}
- className="px-4 mx-1 my-2"
+ className="mx-1 my-2 px-4"
/>
))}
diff --git a/packages/toolkit/src/lib/react-query-service/knowledge/useCreateKnowledgeBase.ts b/packages/toolkit/src/lib/react-query-service/knowledge/useCreateKnowledgeBase.ts
index 7f82407791..52957f5a9c 100644
--- a/packages/toolkit/src/lib/react-query-service/knowledge/useCreateKnowledgeBase.ts
+++ b/packages/toolkit/src/lib/react-query-service/knowledge/useCreateKnowledgeBase.ts
@@ -27,4 +27,4 @@ export function useCreateKnowledgeBase() {
return response.data.body;
},
});
-}
\ No newline at end of file
+}
diff --git a/packages/toolkit/src/lib/react-query-service/knowledge/useDeleteKnowledgeBase.ts b/packages/toolkit/src/lib/react-query-service/knowledge/useDeleteKnowledgeBase.ts
index 9a644de074..4e96fd6144 100644
--- a/packages/toolkit/src/lib/react-query-service/knowledge/useDeleteKnowledgeBase.ts
+++ b/packages/toolkit/src/lib/react-query-service/knowledge/useDeleteKnowledgeBase.ts
@@ -21,4 +21,4 @@ export function useDeleteKnowledgeBase() {
return response.data;
},
});
-}
\ No newline at end of file
+}
diff --git a/packages/toolkit/src/lib/react-query-service/knowledge/useGetKnowledgeBases.ts b/packages/toolkit/src/lib/react-query-service/knowledge/useGetKnowledgeBases.ts
index c2cc10e63d..5f17821613 100644
--- a/packages/toolkit/src/lib/react-query-service/knowledge/useGetKnowledgeBases.ts
+++ b/packages/toolkit/src/lib/react-query-service/knowledge/useGetKnowledgeBases.ts
@@ -32,4 +32,4 @@ export function useGetKnowledgeBases({
enabled,
retry: retry === false ? false : retry ?? 3,
});
-}
\ No newline at end of file
+}
diff --git a/packages/toolkit/src/lib/react-query-service/knowledge/useUpdateKnowledgeBase.ts b/packages/toolkit/src/lib/react-query-service/knowledge/useUpdateKnowledgeBase.ts
index e279caaa38..73d7a51760 100644
--- a/packages/toolkit/src/lib/react-query-service/knowledge/useUpdateKnowledgeBase.ts
+++ b/packages/toolkit/src/lib/react-query-service/knowledge/useUpdateKnowledgeBase.ts
@@ -30,4 +30,4 @@ export function useUpdateKnowledgeBase() {
return response.data.body;
},
});
-}
\ No newline at end of file
+}
diff --git a/packages/toolkit/src/view/knowledge/KnowladgeBaseView.tsx b/packages/toolkit/src/view/knowledge/KnowladgeBaseView.tsx
index 87b66242be..7310719eb7 100644
--- a/packages/toolkit/src/view/knowledge/KnowladgeBaseView.tsx
+++ b/packages/toolkit/src/view/knowledge/KnowladgeBaseView.tsx
@@ -11,11 +11,13 @@ import { Button, Icons, LinkButton } from "@instill-ai/design-system";
export type KnowledgeBaseViewProps = GeneralAppPageProp;
export const KnowledgeBaseView = (props: KnowledgeBaseViewProps) => {
- const [selectedKnowledgeBase, setSelectedKnowledgeBase] = React.useState
(null);
+ const [selectedKnowledgeBase, setSelectedKnowledgeBase] =
+ React.useState(null);
const [activeTab, setActiveTab] = React.useState("knowledge-base");
const [showDeleteMessage, setShowDeleteMessage] = React.useState(false);
const [isDeleted, setIsDeleted] = React.useState(false);
- const [knowledgeBaseToDelete, setKnowledgeBaseToDelete] = React.useState(null);
+ const [knowledgeBaseToDelete, setKnowledgeBaseToDelete] =
+ React.useState(null);
/* -------------------------------------------------------------------------
* Query resource data
@@ -53,42 +55,48 @@ export const KnowledgeBaseView = (props: KnowledgeBaseViewProps) => {
* Render
* -----------------------------------------------------------------------*/
return (
-
+
{showDeleteMessage && knowledgeBaseToDelete && (
-