diff --git a/web/app/(commonLayout)/datasets/Container.tsx b/web/app/(commonLayout)/datasets/Container.tsx index 47acc9b51b..735c4c493c 100644 --- a/web/app/(commonLayout)/datasets/Container.tsx +++ b/web/app/(commonLayout)/datasets/Container.tsx @@ -20,6 +20,7 @@ import Button from '@/app/components/base/button' import Input from '@/app/components/base/input' import { ApiConnectionMod } from '@/app/components/base/icons/src/vender/solid/development' import CheckboxWithLabel from '@/app/components/datasets/create/website/base/checkbox-with-label' +import EditMetadataBatchModal from '@/app/components/datasets/metadata/edit-metadata-batch/modal' // import DatasetMetadataDrawer from '@/app/components/datasets/metadata/dataset-metadata-drawer' import MetaDataDocument from '@/app/components/datasets/metadata/metadata-document' // Services @@ -111,7 +112,7 @@ const Container = () => { onIsBuiltInEnabledChange={setIsBuiltInEnabled} onClose={() => { }} /> */} - {/* { id: '2.1', name: 'num v', type: DataType.number, value: 10, }, { - id: '3', name: 'name3', type: DataType.time, value: '', isUpdated: true, updateType: UpdateType.delete, + id: '3', name: 'name3', type: DataType.time, value: '', isUpdated: true, // updateType: UpdateType.delete, }, ]} onHide={() => { }} onChange={(list, newList, isApplyToAllSelectDocument) => { console.log(list, newList, isApplyToAllSelectDocument) }} - /> */} + />
void +} + +const AddedMetadataButton: FC = ({ + className, + onClick, +}) => { + return ( + + ) +} +export default React.memo(AddedMetadataButton) diff --git a/web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx b/web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx index cf5b618b03..e116a80ccb 100644 --- a/web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx +++ b/web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx @@ -10,8 +10,9 @@ import { useTranslation } from 'react-i18next' import Checkbox from '../../../base/checkbox' import Tooltip from '../../../base/tooltip' import SelectMetadataModal from '../select-metadata-modal' -import { RiAddLine, RiQuestionLine } from '@remixicon/react' +import { RiQuestionLine } from '@remixicon/react' import Divider from '@/app/components/base/divider' +import AddMetadataButton from '../add-metadata-button' type Props = { documentNum: number @@ -99,11 +100,10 @@ const EditMetadataBatchModal: FC = ({
- -
Add metadata
- + } onSave={data => setAddedList([...addedList, data])} /> diff --git a/web/app/components/datasets/metadata/metadata-document/index.tsx b/web/app/components/datasets/metadata/metadata-document/index.tsx index 25abbbf992..97bba83434 100644 --- a/web/app/components/datasets/metadata/metadata-document/index.tsx +++ b/web/app/components/datasets/metadata/metadata-document/index.tsx @@ -10,7 +10,7 @@ import { useTranslation } from 'react-i18next' const MetadataDocument: FC = () => { const { t } = useTranslation() - const [isEdit, setIsEdit] = useState(false) + const [isEdit, setIsEdit] = useState(true) const [list, setList] = useState([ { 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 d133f2966e..ad3973b6df 100644 --- a/web/app/components/datasets/metadata/metadata-document/info-group.tsx +++ b/web/app/components/datasets/metadata/metadata-document/info-group.tsx @@ -7,6 +7,9 @@ import InputCombined from '../edit-metadata-batch/input-combined' import { RiDeleteBinLine } from '@remixicon/react' import Tooltip from '@/app/components/base/tooltip' import cn from '@/utils/classnames' +import Divider from '@/app/components/base/divider' +import SelectMetadataModal from '../select-metadata-modal' +import AddMetadataButton from '../add-metadata-button' type Props = { title: string @@ -32,7 +35,7 @@ const InfoGroup: FC = ({ onAdd, }) => { return ( -
+
{title}
@@ -45,6 +48,17 @@ const InfoGroup: FC = ({
*/}
+ {isEdit && ( +
+ + } + onSave={() => { }} + /> + +
+ )} {list.map((item, i) => ( {isEdit ? ( diff --git a/web/app/components/datasets/metadata/select-metadata-modal.tsx b/web/app/components/datasets/metadata/select-metadata-modal.tsx index b85a1c4eb0..ddb36ed0f5 100644 --- a/web/app/components/datasets/metadata/select-metadata-modal.tsx +++ b/web/app/components/datasets/metadata/select-metadata-modal.tsx @@ -6,12 +6,14 @@ import CreateContent from './create-content' import SelectMetadata from './select-metadata' import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger } from '../../base/portal-to-follow-elem' import type { MetadataItem } from './types' +import type { Placement } from '@floating-ui/react' import { DataType } from './types' type Props = { + popupPlacement?: Placement + popupOffset?: { mainAxis: number, crossAxis: number } onSave: (data: any) => void trigger: React.ReactNode - popupLeft?: number } & CreateContentProps enum Step { @@ -26,8 +28,9 @@ const testMetadataList: MetadataItem[] = [ ] const SelectMetadataModal: FC = ({ + popupPlacement = 'left-start', + popupOffset = { mainAxis: -38, crossAxis: 4 }, trigger, - popupLeft = 4, onSave, }) => { const [open, setOpen] = useState(false) @@ -41,11 +44,8 @@ const SelectMetadataModal: FC = ({ setOpen(!open)}