diff --git a/web/app/components/datasets/documents/detail/completed/common/batch-action.tsx b/web/app/components/datasets/documents/detail/completed/common/batch-action.tsx index 3dd3689b64..040b4faded 100644 --- a/web/app/components/datasets/documents/detail/completed/common/batch-action.tsx +++ b/web/app/components/datasets/documents/detail/completed/common/batch-action.tsx @@ -1,5 +1,5 @@ import React, { type FC } from 'react' -import { RiArchive2Line, RiCheckboxCircleLine, RiCloseCircleLine, RiDeleteBinLine } from '@remixicon/react' +import { RiArchive2Line, RiCheckboxCircleLine, RiCloseCircleLine, RiDeleteBinLine, RiDraftLine } from '@remixicon/react' import { useTranslation } from 'react-i18next' import { useBoolean } from 'ahooks' import Divider from '@/app/components/base/divider' @@ -14,6 +14,7 @@ type IBatchActionProps = { onBatchDisable: () => void onBatchDelete: () => Promise onArchive?: () => void + onEditMetadata?: () => void onCancel: () => void } @@ -24,6 +25,7 @@ const BatchAction: FC = ({ onBatchDisable, onArchive, onBatchDelete, + onEditMetadata, onCancel, }) => { const { t } = useTranslation() @@ -62,6 +64,15 @@ const BatchAction: FC = ({ {t(`${i18nPrefix}.disable`)} + {onEditMetadata && ( +
+ + +
+ )} + {onArchive && (
diff --git a/web/app/components/datasets/documents/index.tsx b/web/app/components/datasets/documents/index.tsx index da1111d6dd..e6af672a81 100644 --- a/web/app/components/datasets/documents/index.tsx +++ b/web/app/components/datasets/documents/index.tsx @@ -27,7 +27,7 @@ import cn from '@/utils/classnames' import { useInvalidDocumentDetailKey } from '@/service/knowledge/use-document' import { useInvalid } from '@/service/use-base' import { useChildSegmentListKey, useSegmentListKey } from '@/service/knowledge/use-segment' -import useEditDocumentMetadata from '../metadata/hooks/use-edit-document-metadata' +import useEditDocumentMetadata from '../metadata/hooks/use-edit-dataset-metadata' import DatasetMetadataDrawer from '../metadata/metadata-dataset/dataset-metadata-drawer' const FolderPlusIcon = ({ className }: React.SVGProps) => { diff --git a/web/app/components/datasets/documents/list.tsx b/web/app/components/datasets/documents/list.tsx index 00ccdfddce..8c8454421e 100644 --- a/web/app/components/datasets/documents/list.tsx +++ b/web/app/components/datasets/documents/list.tsx @@ -45,6 +45,8 @@ import Pagination from '@/app/components/base/pagination' import Checkbox from '@/app/components/base/checkbox' import { useDocumentArchive, useDocumentDelete, useDocumentDisable, useDocumentEnable, useDocumentUnArchive, useSyncDocument, useSyncWebsite } from '@/service/knowledge/use-document' import { extensionToFileType } from '@/app/components/datasets/hit-testing/utils/extension-to-file-type' +import useBatchEditDocumentMetadata from '../metadata/hooks/use-batch-edit-document-metadata' +import EditMetadataBatchModal from '@/app/components/datasets/metadata/edit-metadata-batch/modal' export const useIndexStatus = () => { const { t } = useTranslation() @@ -424,6 +426,7 @@ const DocumentList: FC = ({ const isQAMode = chunkingMode === ChunkingMode.qa const [localDocs, setLocalDocs] = useState(documents) const [enableSort, setEnableSort] = useState(true) + const { isShowEditModal, showEditModal, hideEditModal } = useBatchEditDocumentMetadata() useEffect(() => { setLocalDocs(documents) @@ -615,19 +618,20 @@ const DocumentList: FC = ({ })} - {(selectedIds.length > 0) && ( - { - onSelectedIdChange([]) - }} - /> - )} + {/* {(selectedIds.length > 0) && ( */} + { + onSelectedIdChange([]) + }} + /> + {/* )} */} {/* Show Pagination only if the total is more than the limit */} {pagination.total && pagination.total > (pagination.limit || 10) && ( = ({ onSaved={handleRenamed} /> )} + + {isShowEditModal && ( + { }} + onHide={hideEditModal} + /> + )}
) } diff --git a/web/app/components/datasets/metadata/hooks/use-batch-edit-document-metadata.ts b/web/app/components/datasets/metadata/hooks/use-batch-edit-document-metadata.ts new file mode 100644 index 0000000000..6a2f90ba81 --- /dev/null +++ b/web/app/components/datasets/metadata/hooks/use-batch-edit-document-metadata.ts @@ -0,0 +1,16 @@ +import { useBoolean } from 'ahooks' + +const useBatchEditDocumentMetadata = () => { + const [isShowEditModal, { + setTrue: showEditModal, + setFalse: hideEditModal, + }] = useBoolean(false) + + return { + isShowEditModal, + showEditModal, + hideEditModal, + } +} + +export default useBatchEditDocumentMetadata diff --git a/web/app/components/datasets/metadata/hooks/use-edit-document-metadata.ts b/web/app/components/datasets/metadata/hooks/use-edit-dataset-metadata.ts similarity index 96% rename from web/app/components/datasets/metadata/hooks/use-edit-document-metadata.ts rename to web/app/components/datasets/metadata/hooks/use-edit-dataset-metadata.ts index 1ed53704aa..7b25121615 100644 --- a/web/app/components/datasets/metadata/hooks/use-edit-document-metadata.ts +++ b/web/app/components/datasets/metadata/hooks/use-edit-dataset-metadata.ts @@ -4,7 +4,7 @@ import type { DataSet } from '@/models/datasets' import { useCallback, useState } from 'react' import type { BuiltInMetadataItem, MetadataItemWithValueLength } from '../types' -const useEditDocumentMetadata = ({ +const useEditDatasetMetadata = ({ datasetId, dataset, }: { @@ -53,4 +53,4 @@ const useEditDocumentMetadata = ({ } } -export default useEditDocumentMetadata +export default useEditDatasetMetadata