diff --git a/web/app/components/datasets/metadata/edit-metadata-batch/input-combined.tsx b/web/app/components/datasets/metadata/edit-metadata-batch/input-combined.tsx index bb80f9e5b4..45fc5d1ffc 100644 --- a/web/app/components/datasets/metadata/edit-metadata-batch/input-combined.tsx +++ b/web/app/components/datasets/metadata/edit-metadata-batch/input-combined.tsx @@ -20,7 +20,7 @@ const InputCombined: FC = ({ onChange, }) => { // TODO: configClassName... - const className = cn('grow p-0.5 h-6 text-xs', configClassName) + const className = cn('grow p-0.5 h-6 text-xs') if (type === DataType.time) return
Datepicker placeholder
@@ -40,6 +40,7 @@ const InputCombined: FC = ({ } return ( onChange(e.target.value)} diff --git a/web/app/components/datasets/metadata/metadata-document/field.tsx b/web/app/components/datasets/metadata/metadata-document/field.tsx index bb1fabaff5..4ec30d136f 100644 --- a/web/app/components/datasets/metadata/metadata-document/field.tsx +++ b/web/app/components/datasets/metadata/metadata-document/field.tsx @@ -13,7 +13,7 @@ const Field: FC = ({ }) => { return (
-
+
{label}
diff --git a/web/app/components/datasets/metadata/metadata-document/index.tsx b/web/app/components/datasets/metadata/metadata-document/index.tsx index e6fdac8931..25abbbf992 100644 --- a/web/app/components/datasets/metadata/metadata-document/index.tsx +++ b/web/app/components/datasets/metadata/metadata-document/index.tsx @@ -26,6 +26,7 @@ const MetadataDocument: FC = () => { type: DataType.string, }, ]) + const [tempList, setTempList] = useState(list) const hasData = list.length > 0 return (
@@ -33,18 +34,39 @@ const MetadataDocument: FC = () => { Save
: } + list={isEdit ? tempList : list} + headerRight={isEdit ? ( +
+ + +
+ ) : ( + + )} isEdit={isEdit} + contentClassName='mt-5' onChange={(item) => { - const newList = list.map(i => (i.name === item.name ? item : i)) + const newList = tempList.map(i => (i.name === item.name ? item : i)) setList(newList) }} onDelete={(item) => { - const newList = list.filter(i => i.name !== item.name) + const newList = tempList.filter(i => i.name !== item.name) setList(newList) }} onAdd={() => { 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 311cb1a29c..d133f2966e 100644 --- a/web/app/components/datasets/metadata/metadata-document/info-group.tsx +++ b/web/app/components/datasets/metadata/metadata-document/info-group.tsx @@ -6,11 +6,13 @@ import Field from './field' 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' type Props = { title: string titleTooltip?: string headerRight?: React.ReactNode + contentClassName?: string list: MetadataItemWithValue[] isEdit?: boolean onChange?: (item: MetadataItemWithValue) => void @@ -22,6 +24,7 @@ const InfoGroup: FC = ({ title, titleTooltip, headerRight, + contentClassName, list, isEdit, onChange, @@ -41,7 +44,7 @@ const InfoGroup: FC = ({ {/*
setIsEdit(true)}>
*/}
-
+
{list.map((item, i) => ( {isEdit ? ( @@ -52,11 +55,11 @@ const InfoGroup: FC = ({ value={item.value} onChange={value => onChange?.({ ...item, value })} /> -
+
- ) : (
{item.value}
)} + ) : (
{item.value}
)}
))}