import React from 'react'; import { FormGroup, TextArea } from '@patternfly/react-core'; import PropTypes from 'prop-types'; import SearchBar from 'foremanReact/components/SearchBar'; import { getControllerSearchProps } from 'foremanReact/constants'; import { helpLabel, ResetDefault } from './FormHelpers'; import { SelectField } from './SelectField'; import { ResourceSelect } from './ResourceSelect'; import { DateTimePicker } from '../form/DateTimePicker'; const TemplateSearchField = ({ name, controller, url, labelText, required, defaultValue, setValue, values, }) => { const id = name.replace(/ /g, '-'); const props = getControllerSearchProps(controller.replace('/', '_'), name); return ( setValue({ ...values, [name]: search })} /> } fieldId={id} isRequired={required} className="foreman-search-field" > setValue({ ...values, [name]: search })} /> ); }; export const formatter = (input, values, setValue) => { const isSelectType = !!input?.options; const inputType = input.value_type; const isTextType = inputType === 'plain' || !inputType; // null defaults to plain const { name, required, hidden_value: hidden, resource_type: resourceType, value_type: valueType, default: defaultValue, } = input; const labelText = input.description; const value = values[name]; const id = name.replace(/ /g, '-'); const labelInfo = ( setValue({ ...values, [name]: newValue })} /> ); if (valueType === 'resource') { return ( setValue({ ...values, [name]: newValue })} /> ); } if (isSelectType) { const options = input.options.split(/\r?\n/).map(option => option.trim()); return ( setValue({ ...values, [name]: newValue })} /> ); } if (isTextType) { return (