import React from 'react'; import { useFormContext } from 'react-hook-form'; import { TopicConfigValue } from 'redux/interfaces'; import { ErrorMessage } from '@hookform/error-message'; import { TOPIC_CUSTOM_PARAMS } from 'lib/constants'; import { INDEX_PREFIX } from './CustomParams'; export interface CustomParamSelectProps { isDisabled: boolean; index: string; name: string; existingFields: string[]; onNameChange: (inputName: string, name: string) => void; } const CustomParamSelect: React.FC = ({ isDisabled, index, name, existingFields, onNameChange, }) => { const { register, getValues, trigger, formState: { errors }, } = useFormContext(); const optInputName = `${index}[name]`; const selectedMustBeUniq = (selected: string) => { const values = getValues(); const customParamsValues: TopicConfigValue = values.customParams; const valid = !Object.entries(customParamsValues).some( ([key, customParam]) => { return ( `${INDEX_PREFIX}.${key}` !== index && selected === customParam.name ); } ); return valid || 'Custom Parameter must be unique'; }; const onChange = (inputName: string) => (event: React.ChangeEvent) => { trigger(inputName); onNameChange(index, event.target.value); }; return ( <>

); }; export default React.memo(CustomParamSelect);