import PropTypes from 'prop-types'; import React, { useCallback } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import Alert from 'Components/Alert'; import Form from 'Components/Form/Form'; import FormGroup from 'Components/Form/FormGroup'; import FormInputGroup from 'Components/Form/FormInputGroup'; import FormLabel from 'Components/Form/FormLabel'; import ProviderFieldFormGroup from 'Components/Form/ProviderFieldFormGroup'; import Button from 'Components/Link/Button'; import SpinnerErrorButton from 'Components/Link/SpinnerErrorButton'; import InlineMarkdown from 'Components/Markdown/InlineMarkdown'; import ModalBody from 'Components/Modal/ModalBody'; import ModalContent from 'Components/Modal/ModalContent'; import ModalFooter from 'Components/Modal/ModalFooter'; import ModalHeader from 'Components/Modal/ModalHeader'; import { inputTypes, kinds } from 'Helpers/Props'; import { clearAutoTaggingSpecificationPending, saveAutoTaggingSpecification, setAutoTaggingSpecificationFieldValue, setAutoTaggingSpecificationValue } from 'Store/Actions/settingsActions'; import { createProviderSettingsSelectorHook } from 'Store/Selectors/createProviderSettingsSelector'; import translate from 'Utilities/String/translate'; import styles from './EditSpecificationModalContent.css'; function EditSpecificationModalContent(props) { const { id, onDeleteSpecificationPress, onModalClose } = props; const advancedSettings = useSelector((state) => state.settings.advancedSettings); const { item, ...otherFormProps } = useSelector( createProviderSettingsSelectorHook('autoTaggingSpecifications', id) ); const dispatch = useDispatch(); const onInputChange = useCallback(({ name, value }) => { dispatch(setAutoTaggingSpecificationValue({ name, value })); }, [dispatch]); const onFieldChange = useCallback(({ name, value }) => { dispatch(setAutoTaggingSpecificationFieldValue({ name, value })); }, [dispatch]); const onCancelPress = useCallback(({ name, value }) => { dispatch(clearAutoTaggingSpecificationPending()); onModalClose(); }, [dispatch, onModalClose]); const onSavePress = useCallback(({ name, value }) => { dispatch(saveAutoTaggingSpecification({ id })); onModalClose(); }, [dispatch, id, onModalClose]); const { implementationName, name, negate, required, fields } = item; return ( {`${id ? translate('EditCondition') : translate('AddCondition')} - ${implementationName}`}
{ fields && fields.some((x) => x.label === 'Regular Expression') &&
} {translate('Name')} { fields && fields.map((field) => { return ( ); }) } {translate('Negate')} {translate('Required')}
{ id ? : null } {translate('Save')}
); } EditSpecificationModalContent.propTypes = { id: PropTypes.number, onDeleteSpecificationPress: PropTypes.func, onModalClose: PropTypes.func.isRequired }; export default EditSpecificationModalContent;