Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ interface KnowledgeBaseEditModalProps {
knowledgeBase: KnowledgeBase | null;
tenantId: string | null;
onCancel: () => void;
onSuccess: () => void;
onSuccess: (updatedKnowledgeBase: KnowledgeBase) => void;
}

export function KnowledgeBaseEditModal({
Expand Down Expand Up @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -67,6 +68,7 @@ const KnowledgeBaseList: React.FC<KnowledgeBaseListProps> = ({
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,
Expand Down Expand Up @@ -620,7 +622,11 @@ const KnowledgeBaseList: React.FC<KnowledgeBaseListProps> = ({
knowledgeBase={editingKnowledge}
tenantId={tenantId}
onCancel={closeEditModal}
onSuccess={() => {}}
onSuccess={(updatedKnowledgeBase) => {
if (onKnowledgeBaseUpdate) {
onKnowledgeBaseUpdate(updatedKnowledgeBase);
}
}}
/>
</div>
);
Expand Down
Loading