import LabelSelector from '@/components/label-selector'; import ModalFooter from '@/components/modal-footer'; import ScrollerModal from '@/components/scroller-modal'; import SealInput from '@/components/seal-form/seal-input'; import SimpleOverlay from '@/components/simple-overlay'; import { useIntl } from '@umijs/max'; import { Form } from 'antd'; import _ from 'lodash'; import React from 'react'; import 'simplebar-react/dist/simplebar.min.css'; type ViewModalProps = { open: boolean; onCancel: () => void; onOk: (values: FormData) => Promise; data: { name: string; labels: object; }; }; interface FormData { labels: object; name: string; } const UpdateLabels: React.FC = (props) => { const { open, onCancel, data, onOk } = props || {}; const intl = useIntl(); const [form] = Form.useForm(); const labels = Form.useWatch('labels', form); const handleLabelsChange = (labels: object) => { form.setFieldValue('labels', labels); }; const handleSumit = () => { form.submit(); }; return ( } >
name="name"> name="labels" rules={[ () => ({ validator(rule, value) { if (_.keys(value).length > 0) { if (_.some(_.keys(value), (k: string) => !value[k])) { return Promise.reject( intl.formatMessage( { id: 'common.validate.value' }, { name: intl.formatMessage({ id: 'resources.form.label' }) } ) ); } } return Promise.resolve(); } }) ]} >
); }; export default React.memo(UpdateLabels);