-
+
+
+
+
+
+
+
+
+
+
{
+ const { setDocumentParser, loading } = useSetDocumentParser();
+ const [record, setRecord] = useState({} as IDocumentInfo);
+
+ const {
+ visible: changeParserVisible,
+ hideModal: hideChangeParserModal,
+ showModal: showChangeParserModal,
+ } = useSetModalState();
+
+ const onChangeParserOk = useCallback(
+ async (parserId: string, parserConfig: IChangeParserConfigRequestBody) => {
+ if (record?.id) {
+ const ret = await setDocumentParser({
+ parserId,
+ documentId: record?.id,
+ parserConfig,
+ });
+ if (ret === 0) {
+ hideChangeParserModal();
+ }
+ }
+ },
+ [record?.id, setDocumentParser, hideChangeParserModal],
+ );
+
+ const handleShowChangeParserModal = useCallback(
+ (row: IDocumentInfo) => {
+ setRecord(row);
+ showChangeParserModal();
+ },
+ [showChangeParserModal],
+ );
+
+ return {
+ changeParserLoading: loading,
+ onChangeParserOk,
+ changeParserVisible,
+ hideChangeParserModal,
+ showChangeParserModal: handleShowChangeParserModal,
+ changeParserRecord: record,
+ };
+};
+
+export type UseChangeDocumentParserShowType = Pick<
+ ReturnType,
+ 'showChangeParserModal'
+>;
diff --git a/web/src/pages/dataset/dataset/use-dataset-table-columns.tsx b/web/src/pages/dataset/dataset/use-dataset-table-columns.tsx
index 4bdcba9e0..09f26acde 100644
--- a/web/src/pages/dataset/dataset/use-dataset-table-columns.tsx
+++ b/web/src/pages/dataset/dataset/use-dataset-table-columns.tsx
@@ -15,17 +15,13 @@ import { formatDate } from '@/utils/date';
import { getExtension } from '@/utils/document-util';
import { ColumnDef } from '@tanstack/table-core';
import { ArrowUpDown } from 'lucide-react';
-import { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { DatasetActionCell } from './dataset-action-cell';
-import { useChangeDocumentParser } from './hooks';
import { ParsingStatusCell } from './parsing-status-cell';
+import { UseChangeDocumentParserShowType } from './use-change-document-parser';
import { UseRenameDocumentShowType } from './use-rename-document';
-type UseDatasetTableColumnsType = Pick<
- ReturnType,
- 'showChangeParserModal'
-> & {
+type UseDatasetTableColumnsType = UseChangeDocumentParserShowType & {
setCurrentRecord: (record: IDocumentInfo) => void;
} & UseRenameDocumentShowType;
@@ -42,13 +38,6 @@ export function useDatasetTableColumns({
// setCurrentRecord(record);
// showRenameModal();
// };
- const onShowChangeParserModal = useCallback(
- (record: IDocumentInfo) => () => {
- setCurrentRecord(record);
- showChangeParserModal();
- },
- [setCurrentRecord, showChangeParserModal],
- );
// const onShowSetMetaModal = useCallback(() => {
// setRecord();
@@ -168,7 +157,12 @@ export function useDatasetTableColumns({
header: t('parsingStatus'),
// meta: { cellClassName: 'min-w-[20vw]' },
cell: ({ row }) => {
- return ;
+ return (
+
+ );
},
},
{