@vega/review-tool
Version:
59 lines (48 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _formBuilder = require('part:@lyra/form-builder');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*:: type Props = {
onChange: any,
value: any,
type: any,
focusPath: any,
fieldName: any,
onFocus: any,
readOnly: boolean
}*/
class Field extends _react2.default.Component /*:: <Props>*/ {
constructor(...args) {
var _temp;
return _temp = super(...args), this.handleChange = patchEvent => {
var _props = this.props;
const onChange = _props.onChange,
fieldName = _props.fieldName;
onChange(patchEvent.prefixAll(fieldName));
}, _temp;
}
render() {
var _props2 = this.props;
const value = _props2.value,
type = _props2.type,
focusPath = _props2.focusPath,
fieldName = _props2.fieldName,
onFocus = _props2.onFocus,
readOnly = _props2.readOnly;
const fieldType = type.fields.find(f => f.name === fieldName).type;
return _react2.default.createElement(_formBuilder.FormBuilderInput, {
path: [fieldName],
onFocus: onFocus,
focusPath: focusPath,
onChange: this.handleChange,
type: fieldType,
value: value ? value[fieldName] : undefined,
readOnly: readOnly
});
}
}
exports.default = Field;