feat: show doc info and tech params
This commit is contained in:
parent
61c46aa625
commit
45d6f23553
@ -279,9 +279,7 @@ const DocumentDetail: FC<Props> = ({ 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}
|
||||
/>
|
||||
</FloatRightContainer>
|
||||
</div>
|
||||
|
@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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<Props> = ({
|
||||
datasetId,
|
||||
documentId,
|
||||
className,
|
||||
docDetail,
|
||||
}) => {
|
||||
const { t } = useTranslation()
|
||||
const {
|
||||
@ -35,10 +38,9 @@ const MetadataDocument: FC<Props> = ({
|
||||
startToEdit,
|
||||
handleSave,
|
||||
handleCancel,
|
||||
} = useMetadataDocument({ datasetId, documentId })
|
||||
|
||||
const documentInfoList = builtList
|
||||
const technicalParams = builtList
|
||||
originInfo,
|
||||
technicalParameters,
|
||||
} = useMetadataDocument({ datasetId, documentId, docDetail })
|
||||
|
||||
return (
|
||||
<div className={cn('w-[388px] space-y-4', className)}>
|
||||
@ -98,12 +100,12 @@ const MetadataDocument: FC<Props> = ({
|
||||
<InfoGroup
|
||||
className='pl-2'
|
||||
title={t(`${i18nPrefix}.documentInformation`)}
|
||||
list={documentInfoList}
|
||||
list={originInfo}
|
||||
/>
|
||||
<InfoGroup
|
||||
className='pl-2'
|
||||
title={t(`${i18nPrefix}.technicalParameters`)}
|
||||
list={technicalParams}
|
||||
list={technicalParameters}
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
|
@ -58,7 +58,7 @@ const InfoGroup: FC<Props> = ({
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className={cn('mt-3 space-y-1', !noHeader && 'mt-0', contentClassName)}>
|
||||
<div className={cn('mt-3 space-y-1', contentClassName)}>
|
||||
{isEdit && (
|
||||
<div>
|
||||
<SelectMetadataModal
|
||||
|
Loading…
Reference in New Issue
Block a user