diff --git a/web/src/views/KnowledgeBase/components/ShareModal.tsx b/web/src/views/KnowledgeBase/components/ShareModal.tsx index dc4a732a..2f2cbb7a 100644 --- a/web/src/views/KnowledgeBase/components/ShareModal.tsx +++ b/web/src/views/KnowledgeBase/components/ShareModal.tsx @@ -4,7 +4,7 @@ * @Author: yujiangping * @Date: 2025-11-10 18:52:55 * @LastEditors: yujiangping - * @LastEditTime: 2026-03-03 14:46:08 + * @LastEditTime: 2026-03-09 16:39:07 */ import { forwardRef, useImperativeHandle, useState, useRef } from 'react'; import { Switch } from 'antd'; @@ -58,16 +58,21 @@ const ShareModal = forwardRef(({ handleShare: } const handleShare = async() => { - const workspaceIds = spaceList - .map(item => item.target_kb?.workspace_id) - .filter(Boolean) - .join(','); - - console.log('Workspace IDs:', workspaceIds); - shareSpaceModalRef?.current?.handleOpen(kbId,knowledgeBase,workspaceIds); - - // Close modal after sharing - handleClose(); + setLoading(true); + try { + const workspaceIds = spaceList + .map(item => item.target_kb?.workspace_id) + .filter(Boolean) + .join(','); + + console.log('Workspace IDs:', workspaceIds); + shareSpaceModalRef?.current?.handleOpen(kbId,knowledgeBase,workspaceIds); + + // Close modal after sharing + handleClose(); + } finally { + setLoading(false); + } } const handleChange = (checked: boolean, item: any) => { // Toggle shared knowledge base status diff --git a/web/src/views/KnowledgeBase/components/ShareSpaceModal.tsx b/web/src/views/KnowledgeBase/components/ShareSpaceModal.tsx index db26fd93..f75a47d6 100644 --- a/web/src/views/KnowledgeBase/components/ShareSpaceModal.tsx +++ b/web/src/views/KnowledgeBase/components/ShareSpaceModal.tsx @@ -4,7 +4,7 @@ * @Author: yujiangping * @Date: 2025-11-10 18:52:55 * @LastEditors: yujiangping - * @LastEditTime: 2025-12-03 18:44:58 + * @LastEditTime: 2026-03-09 16:34:51 */ import { forwardRef, useImperativeHandle, useState } from 'react'; import { Switch } from 'antd'; @@ -50,34 +50,38 @@ const ShareModal = forwardRef(({ handleShare: setSpaceList(filteredItems as SpaceItem[]); } const handleShare = async() => { - // Get all data with checked = true const checkedItems = spaceList.filter(item => item.is_active); - debugger // Get currently selected item (corresponding to curIndex) const selectedItem = curIndex !== -1 ? spaceList[curIndex] : null; if(!selectedItem){ messageApi.error(t('knowledgeBase.selectSpace')); return; } - const payload = { - source_kb_id: kbId ?? '', - target_workspace_id: selectedItem?.id ?? '', - } - const respose = await shareKnowledgeBase(payload) - if(respose){ - messageApi.success(t('knowledgeBase.shareSuccess')); - }else{ - messageApi.error(t('knowledgeBase.shareFailed')); - } - // Call parent component's callback function with selected data - onShare?.({ - checkedItems, - selectedItem - }); - // Close modal after sharing - handleClose(); + setLoading(true); + try { + const payload = { + source_kb_id: kbId ?? '', + target_workspace_id: selectedItem?.id ?? '', + } + const respose = await shareKnowledgeBase(payload) + if(respose){ + messageApi.success(t('knowledgeBase.shareSuccess')); + }else{ + messageApi.error(t('knowledgeBase.shareFailed')); + } + // Call parent component's callback function with selected data + onShare?.({ + checkedItems, + selectedItem + }); + + // Close modal after sharing + handleClose(); + } finally { + setLoading(false); + } } const handleClick = (index: number, checked: boolean) => { if (!checked) return;