@lyra/form-builder
Version:
Lyra form builder
66 lines (52 loc) • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _checkbox = require('part:@lyra/components/toggles/checkbox');
var _checkbox2 = _interopRequireDefault(_checkbox);
var _Preview = require('../../Preview');
var _Preview2 = _interopRequireDefault(_Preview);
var _legacyOptionsSupport = require('./legacyOptionsSupport');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*:: import type {Type} from '../../typedefs'*/
/*:: type Props = {
type: Type,
value: any,
checked: boolean,
onChange: (boolean, any) => void,
readOnly: ?boolean
}*/
class Item extends _react2.default.PureComponent /*:: <Props>*/ {
constructor(...args) {
var _temp;
return _temp = super(...args), this.handleChange = (event /*: SyntheticEvent<HTMLInputElement>*/) => {
var _props = this.props;
const onChange = _props.onChange,
value = _props.value;
onChange(event.currentTarget.checked, value);
}, _temp;
}
render() {
var _props2 = this.props;
const value = _props2.value,
checked = _props2.checked,
type = _props2.type,
readOnly = _props2.readOnly;
return _react2.default.createElement(
_checkbox2.default,
{
onChange: this.handleChange,
checked: checked,
readOnly: readOnly || type.readOnly
},
(0, _legacyOptionsSupport.isLegacyOptionsItem)(value) ? value.title : _react2.default.createElement(_Preview2.default, {
layout: 'inline',
type: type,
value: (0, _legacyOptionsSupport.resolveValueWithLegacyOptionsSupport)(value)
})
);
}
}
exports.default = Item;