From 3a8d51be8f239966a9edcbe2cdb9215726d0481f Mon Sep 17 00:00:00 2001 From: Jasonxia007 Date: Mon, 2 Mar 2026 15:49:46 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Bugfix:=20knowledgebase=20rename?= =?UTF-8?q?=20not=20synchronized=20#2578?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../knowledges/KnowledgeBaseConfiguration.tsx | 6 ++++++ .../components/knowledge/KnowledgeBaseEditModal.tsx | 12 ++++++++++-- .../components/knowledge/KnowledgeBaseList.tsx | 10 ++++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/frontend/app/[locale]/knowledges/KnowledgeBaseConfiguration.tsx b/frontend/app/[locale]/knowledges/KnowledgeBaseConfiguration.tsx index 14f2766e3..48798302a 100644 --- a/frontend/app/[locale]/knowledges/KnowledgeBaseConfiguration.tsx +++ b/frontend/app/[locale]/knowledges/KnowledgeBaseConfiguration.tsx @@ -969,6 +969,12 @@ function DataConfig({ isActive }: DataConfigProps) { getModelDisplayName={(modelId) => modelId} containerHeight={SETUP_PAGE_CONTAINER.MAIN_CONTENT_HEIGHT} onKnowledgeBaseChange={() => {}} // No need to trigger repeatedly here as it's already handled in handleKnowledgeBaseClick + onKnowledgeBaseUpdate={(updatedKnowledgeBase) => { + // Update active knowledge base in context when it's updated + if (kbState.activeKnowledgeBase && kbState.activeKnowledgeBase.id === updatedKnowledgeBase.id) { + setActiveKnowledgeBase(updatedKnowledgeBase); + } + }} // Search and filter props searchQuery={searchQuery} onSearchChange={setSearchQuery} diff --git a/frontend/app/[locale]/knowledges/components/knowledge/KnowledgeBaseEditModal.tsx b/frontend/app/[locale]/knowledges/components/knowledge/KnowledgeBaseEditModal.tsx index 4e7ea42ed..9a4461dd5 100644 --- a/frontend/app/[locale]/knowledges/components/knowledge/KnowledgeBaseEditModal.tsx +++ b/frontend/app/[locale]/knowledges/components/knowledge/KnowledgeBaseEditModal.tsx @@ -16,7 +16,7 @@ interface KnowledgeBaseEditModalProps { knowledgeBase: KnowledgeBase | null; tenantId: string | null; onCancel: () => void; - onSuccess: () => void; + onSuccess: (updatedKnowledgeBase: KnowledgeBase) => void; } export function KnowledgeBaseEditModal({ @@ -98,10 +98,18 @@ export function KnowledgeBaseEditModal({ message.success(t("tenantResources.knowledgeBase.updated")); + // Construct updated knowledge base object with new values + const updatedKnowledgeBase: KnowledgeBase = { + ...knowledgeBase, + name: values.knowledge_name, + ingroup_permission: values.ingroup_permission, + group_ids: values.group_ids, + }; + // Trigger knowledge base list refresh to seamlessly update UI knowledgeBasePollingService.triggerKnowledgeBaseListUpdate(true); - onSuccess(); + onSuccess(updatedKnowledgeBase); onCancel(); } catch (error: any) { if (error.errorFields) { diff --git a/frontend/app/[locale]/knowledges/components/knowledge/KnowledgeBaseList.tsx b/frontend/app/[locale]/knowledges/components/knowledge/KnowledgeBaseList.tsx index b59f7aefa..939dbdb6c 100644 --- a/frontend/app/[locale]/knowledges/components/knowledge/KnowledgeBaseList.tsx +++ b/frontend/app/[locale]/knowledges/components/knowledge/KnowledgeBaseList.tsx @@ -42,7 +42,8 @@ interface KnowledgeBaseListProps { showDataMateConfig?: boolean; // Control whether to show DataMate config button getModelDisplayName: (modelId: string) => string; containerHeight?: string; // Container total height, consistent with DocumentList - onKnowledgeBaseChange?: () => void; // New: callback function when knowledge base switches + onKnowledgeBaseChange?: () => void; // Callback when knowledge base switches + onKnowledgeBaseUpdate?: (updatedKnowledgeBase: KnowledgeBase) => void; // Callback when knowledge base is updated // Optional controlled search / filter props (if parent wants to control filters) searchQuery?: string; onSearchChange?: (value: string) => void; @@ -67,6 +68,7 @@ const KnowledgeBaseList: React.FC = ({ getModelDisplayName, containerHeight = "70vh", // Default container height consistent with DocumentList onKnowledgeBaseChange, // New: callback function when knowledge base switches + onKnowledgeBaseUpdate, // Callback when knowledge base is updated searchQuery, onSearchChange, sourceFilter, @@ -620,7 +622,11 @@ const KnowledgeBaseList: React.FC = ({ knowledgeBase={editingKnowledge} tenantId={tenantId} onCancel={closeEditModal} - onSuccess={() => {}} + onSuccess={(updatedKnowledgeBase) => { + if (onKnowledgeBaseUpdate) { + onKnowledgeBaseUpdate(updatedKnowledgeBase); + } + }} /> );