Sha256: b2e587dc69bf05f9d94b96d642e2e2a4288a5da5ff009c46f0026655296b37a1
Contents?: true
Size: 1.76 KB
Versions: 13
Compression:
Stored size: 1.76 KB
Contents
import React from 'react'; import PropTypes from 'prop-types'; import { translate as __ } from 'foremanReact/common/I18n'; import { formatValue } from './AnsibleVariableOverridesTableHelper'; import { TextAreaField, TextInputField, SelectField, } from './EditableValueHelper'; const EditableValue = props => { if (!props.editing) { return formatValue(props.variable); } const type = props.variable.parameterType; if (['json', 'yaml', 'array', 'hash'].includes(type)) { return ( <TextAreaField aria-label="Edit override field" onChange={props.onChange} value={ typeof props.value === 'object' ? JSON.stringify(props.value) : props.value } validation={props.validation} isDisabled={props.working} /> ); } if (type === 'boolean') { return ( <SelectField aria-label="Edit override field" selectItems={[ { id: 'trueSelectOpt', value: true, name: __('true') }, { id: 'falseSelectOpt', value: false, name: __('false') }, ]} onChange={props.onChange} validation={props.validation} isDisabled={props.working} value={props.value} /> ); } return ( <TextInputField onChange={props.onChange} value={props.value} validation={props.validation} isDisabled={props.working} aria-label="Edit override field" /> ); }; EditableValue.propTypes = { editing: PropTypes.bool.isRequired, variable: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, value: PropTypes.any, validation: PropTypes.object.isRequired, working: PropTypes.bool.isRequired, }; EditableValue.defaultProps = { value: '', }; export default EditableValue;
Version data entries
13 entries across 13 versions & 1 rubygems