From 6cf088911f9902eb0fef18f819749e3bd751f20a Mon Sep 17 00:00:00 2001 From: balibabu <cike8899@users.noreply.github.com> Date: Mon, 1 Apr 2024 18:11:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20fixed=20the=20issue=20where=20ChunkMetho?= =?UTF-8?q?dModal=20cannot=20correctly=20display=20=E2=80=A6=20(#189)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: fixed the issue where ChunkMethodModal cannot correctly display the current chunk method when switching chunk methods between two document rows. --- .../components/chunk-method-modal/hooks.ts | 3 ++- .../components/chunk-method-modal/index.tsx | 3 +++ .../knowledge-upload-file/index.tsx | 1 + .../components/knowledge-file/hooks.ts | 15 +---------- .../components/knowledge-file/index.tsx | 10 +++---- .../components/knowledge-file/model.ts | 2 +- .../parsing-action-cell/index.tsx | 27 ++++++++++++------- 7 files changed, 30 insertions(+), 31 deletions(-) diff --git a/web/src/components/chunk-method-modal/hooks.ts b/web/src/components/chunk-method-modal/hooks.ts index 193d3f9..8f605ba 100644 --- a/web/src/components/chunk-method-modal/hooks.ts +++ b/web/src/components/chunk-method-modal/hooks.ts @@ -46,6 +46,7 @@ const getParserList = ( }; export const useFetchParserListOnMount = ( + documentId: string, parserId: string, documentExtension: string, ) => { @@ -71,7 +72,7 @@ export const useFetchParserListOnMount = ( useEffect(() => { setSelectedTag(parserId); - }, [parserId]); + }, [parserId, documentId]); const handleChange = (tag: string, checked: boolean) => { const nextSelectedTag = checked ? tag : selectedTag; diff --git a/web/src/components/chunk-method-modal/index.tsx b/web/src/components/chunk-method-modal/index.tsx index 6a0155e..a74e24e 100644 --- a/web/src/components/chunk-method-modal/index.tsx +++ b/web/src/components/chunk-method-modal/index.tsx @@ -36,11 +36,13 @@ interface IProps extends Omit<IModalManagerChildrenProps, 'showModal'> { parserId: string; parserConfig: IKnowledgeFileParserConfig; documentExtension: string; + documentId: string; } const hidePagesChunkMethods = ['qa', 'table', 'picture', 'resume', 'one']; const ChunkMethodModal: React.FC<IProps> = ({ + documentId, parserId, onOk, hideModal, @@ -49,6 +51,7 @@ const ChunkMethodModal: React.FC<IProps> = ({ parserConfig, }) => { const { parserList, handleChange, selectedTag } = useFetchParserListOnMount( + documentId, parserId, documentExtension, ); diff --git a/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx b/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx index 0a8bb87..8cb6433 100644 --- a/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx @@ -296,6 +296,7 @@ const KnowledgeUploadFile = () => { </section> </div> <ChunkMethodModal + documentId={currentRecord.id} parserId={currentRecord.parser_id} parserConfig={currentRecord.parser_config} documentExtension={getExtension(currentRecord.name)} diff --git a/web/src/pages/add-knowledge/components/knowledge-file/hooks.ts b/web/src/pages/add-knowledge/components/knowledge-file/hooks.ts index 2363240..1bf98ca 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/hooks.ts +++ b/web/src/pages/add-knowledge/components/knowledge-file/hooks.ts @@ -9,10 +9,9 @@ import { useGetKnowledgeSearchParams } from '@/hooks/routeHook'; import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; import { useFetchTenantInfo } from '@/hooks/userSettingHook'; import { Pagination } from '@/interfaces/common'; -import { IKnowledgeFile } from '@/interfaces/database/knowledge'; import { IChangeParserConfigRequestBody } from '@/interfaces/request/document'; import { PaginationProps } from 'antd'; -import { useCallback, useEffect, useMemo, useState } from 'react'; +import { useCallback, useEffect, useMemo } from 'react'; import { useDispatch, useNavigate, useSelector } from 'umi'; import { KnowledgeRouteKey } from './constant'; @@ -140,18 +139,6 @@ export const useHandleSearchChange = (setPagination: () => void) => { return { handleInputChange }; }; -export const useSetSelectedRecord = () => { - const [currentRecord, setCurrentRecord] = useState<IKnowledgeFile>( - {} as IKnowledgeFile, - ); - - const setRecord = (record: IKnowledgeFile) => () => { - setCurrentRecord(record); - }; - - return { currentRecord, setRecord }; -}; - export const useRenameDocument = (documentId: string) => { const saveName = useSaveDocumentName(); diff --git a/web/src/pages/add-knowledge/components/knowledge-file/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/index.tsx index 6fa7f20..68666a0 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/index.tsx @@ -36,12 +36,12 @@ import { useHandleSearchChange, useNavigateToOtherPage, useRenameDocument, - useSetSelectedRecord, } from './hooks'; import ParsingActionCell from './parsing-action-cell'; import ParsingStatusCell from './parsing-status-cell'; import RenameModal from './rename-modal'; +import { useSetSelectedRecord } from '@/hooks/logicHooks'; import styles from './index.less'; const KnowledgeFile = () => { @@ -178,11 +178,8 @@ const KnowledgeFile = () => { key: 'action', render: (_, record) => ( <ParsingActionCell - setDocumentAndParserId={setRecord(record)} - showRenameModal={() => { - setRecord(record)(); - showRenameModal(); - }} + setCurrentRecord={setRecord} + showRenameModal={showRenameModal} showChangeParserModal={showChangeParserModal} record={record} ></ParsingActionCell> @@ -237,6 +234,7 @@ const KnowledgeFile = () => { onOk={onCreateOk} /> <ChunkMethodModal + documentId={currentRecord.id} parserId={currentRecord.parser_id} parserConfig={currentRecord.parser_config} documentExtension={getExtension(currentRecord.name)} diff --git a/web/src/pages/add-knowledge/components/knowledge-file/model.ts b/web/src/pages/add-knowledge/components/knowledge-file/model.ts index 4405b5b..97a75a5 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/model.ts +++ b/web/src/pages/add-knowledge/components/knowledge-file/model.ts @@ -234,7 +234,7 @@ const model: DvaModel<KFModelState> = { location.pathname === '/knowledge/dataset/upload' ) { dispatch({ - type: 'kFModel/setPagination', + type: 'setPagination', payload: { current: 1, pageSize: 10 }, }); } diff --git a/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx index 4bb04d6..55fd93d 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx @@ -16,14 +16,14 @@ import styles from './index.less'; interface IProps { record: IKnowledgeFile; - setDocumentAndParserId: () => void; + setCurrentRecord: (record: IKnowledgeFile) => void; showRenameModal: () => void; showChangeParserModal: () => void; } const ParsingActionCell = ({ record, - setDocumentAndParserId, + setCurrentRecord, showRenameModal, showChangeParserModal, }: IProps) => { @@ -45,12 +45,25 @@ const ParsingActionCell = ({ }); }; + const setRecord = () => { + setCurrentRecord(record); + }; + + const onShowRenameModal = () => { + setRecord(); + showRenameModal(); + }; + const onShowChangeParserModal = () => { + setRecord(); + showChangeParserModal(); + }; + const chunkItems: MenuProps['items'] = [ { key: '1', label: ( <div> - <Button type="link" onClick={showChangeParserModal}> + <Button type="link" onClick={onShowChangeParserModal}> Chunk Method </Button> </div> @@ -65,11 +78,7 @@ const ParsingActionCell = ({ trigger={['click']} disabled={isRunning} > - <Button - type="text" - onClick={setDocumentAndParserId} - className={styles.iconButton} - > + <Button type="text" className={styles.iconButton}> <ToolOutlined size={20} /> </Button> </Dropdown> @@ -77,7 +86,7 @@ const ParsingActionCell = ({ <Button type="text" disabled={isRunning} - onClick={showRenameModal} + onClick={onShowRenameModal} className={styles.iconButton} > <EditOutlined size={20} /> -- GitLab