From 45d6f23553a4f517daa85e4a1369de9d050247bb Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 28 Feb 2025 14:32:53 +0800 Subject: [PATCH] feat: show doc info and tech params --- .../datasets/documents/detail/index.tsx | 4 +-- .../metadata/hooks/use-metadata-document.ts | 27 +++++++++++++++++++ .../metadata/metadata-document/index.tsx | 14 +++++----- .../metadata/metadata-document/info-group.tsx | 2 +- 4 files changed, 37 insertions(+), 10 deletions(-) diff --git a/web/app/components/datasets/documents/detail/index.tsx b/web/app/components/datasets/documents/detail/index.tsx index 78ce94c066..8f11778689 100644 --- a/web/app/components/datasets/documents/detail/index.tsx +++ b/web/app/components/datasets/documents/detail/index.tsx @@ -279,9 +279,7 @@ const DocumentDetail: FC = ({ datasetId, documentId }) => { className='mr-2 mt-3' datasetId={datasetId} documentId={documentId} - // docDetail={{ ...documentDetail, ...documentMetadata, doc_type: documentMetadata?.doc_type === 'others' ? '' : documentMetadata?.doc_type } as any} - // loading={isMetadataLoading} - // onUpdate={metadataMutate} + docDetail={{ ...documentDetail, ...documentMetadata, doc_type: documentMetadata?.doc_type === 'others' ? '' : documentMetadata?.doc_type } as any} /> diff --git a/web/app/components/datasets/metadata/hooks/use-metadata-document.ts b/web/app/components/datasets/metadata/hooks/use-metadata-document.ts index 48f8895e8c..101f7c3bb8 100644 --- a/web/app/components/datasets/metadata/hooks/use-metadata-document.ts +++ b/web/app/components/datasets/metadata/hooks/use-metadata-document.ts @@ -2,7 +2,9 @@ import { useBatchUpdateDocMetadata } from '@/service/knowledge/use-metadata' import { DataType, type MetadataItemWithValue } from '../types' import { useState } from 'react' import Toast from '@/app/components/base/toast' +import type { FullDocumentDetail } from '@/models/datasets' import { useTranslation } from 'react-i18next' +import { useMetadataMap } from '@/hooks/use-metadata' const testList = [ { @@ -28,11 +30,13 @@ const testList = [ type Props = { datasetId: string documentId: string + docDetail: FullDocumentDetail } const useMetadataDocument = ({ datasetId, documentId, + docDetail, }: Props) => { const { t } = useTranslation() @@ -85,6 +89,27 @@ const useMetadataDocument = ({ }, ] + // old metadata and technical params + const metadataMap = useMetadataMap() + const getReadOnlyMetaData = (mainField: 'originInfo' | 'technicalParameters') => { + const fieldMap = metadataMap[mainField]?.subFieldsMap + const sourceData = docDetail + const fieldList = Object.keys(fieldMap).map((key) => { + const field = fieldMap[key] + return { + id: field?.label, + type: DataType.string, + name: field?.label, + value: sourceData[key], + } + }) + + return fieldList + } + + const originInfo = getReadOnlyMetaData('originInfo') + const technicalParameters = getReadOnlyMetaData('technicalParameters') + return { isEdit, setIsEdit, @@ -98,6 +123,8 @@ const useMetadataDocument = ({ startToEdit, handleSave, handleCancel, + originInfo, + technicalParameters, } } diff --git a/web/app/components/datasets/metadata/metadata-document/index.tsx b/web/app/components/datasets/metadata/metadata-document/index.tsx index dc7fcf3ade..7ad3a02fd7 100644 --- a/web/app/components/datasets/metadata/metadata-document/index.tsx +++ b/web/app/components/datasets/metadata/metadata-document/index.tsx @@ -8,6 +8,7 @@ import { RiEditLine } from '@remixicon/react' import { useTranslation } from 'react-i18next' import Divider from '@/app/components/base/divider' import useMetadataDocument from '../hooks/use-metadata-document' +import type { FullDocumentDetail } from '@/models/datasets' import cn from '@/utils/classnames' const i18nPrefix = 'dataset.metadata.documentMetadata' @@ -16,11 +17,13 @@ type Props = { datasetId: string documentId: string className?: string + docDetail: FullDocumentDetail } const MetadataDocument: FC = ({ datasetId, documentId, className, + docDetail, }) => { const { t } = useTranslation() const { @@ -35,10 +38,9 @@ const MetadataDocument: FC = ({ startToEdit, handleSave, handleCancel, - } = useMetadataDocument({ datasetId, documentId }) - - const documentInfoList = builtList - const technicalParams = builtList + originInfo, + technicalParameters, + } = useMetadataDocument({ datasetId, documentId, docDetail }) return (
@@ -98,12 +100,12 @@ const MetadataDocument: FC = ({
) diff --git a/web/app/components/datasets/metadata/metadata-document/info-group.tsx b/web/app/components/datasets/metadata/metadata-document/info-group.tsx index 2d04eb255e..7a52960439 100644 --- a/web/app/components/datasets/metadata/metadata-document/info-group.tsx +++ b/web/app/components/datasets/metadata/metadata-document/info-group.tsx @@ -58,7 +58,7 @@ const InfoGroup: FC = ({ )} -
+
{isEdit && (