UNPKG

@cosva-lab/form-builder

Version:
90 lines (83 loc) 3.76 kB
'use strict'; var _tslib = require('./_virtual/_tslib.js'); var React = require('react'); var ReactIs = require('react-is'); var mobxReact = require('mobx-react'); var Grid = require('@mui/material/Grid'); var Inputs = require('./Inputs.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var React__default = /*#__PURE__*/_interopDefault(React); var ReactIs__namespace = /*#__PURE__*/_interopNamespace(ReactIs); var Grid__default = /*#__PURE__*/_interopDefault(Grid); var FieldRenderObserver = function (_a) { var component = _a.component, propsForm = _a.propsForm; var FieldComponent = component; try { FieldComponent = mobxReact.observer(component); } catch (error) { } return React__default.default.createElement(FieldComponent, _tslib.__assign({}, propsForm)); }; var FieldRender = /** @class */ (function (_super) { _tslib.__extends(FieldRender, _super); function FieldRender() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.onChangeField = function (e, callback) { var onChangeField = _this.props.onChangeField; onChangeField === null || onChangeField === void 0 ? void 0 : onChangeField(e, callback); }; return _this; } FieldRender.prototype.render = function () { var field = this.props.field; var breakpoints = _tslib.__assign({}, field.breakpoints); var _a = breakpoints.xs, xs = _a === void 0 ? 12 : _a; var _b = breakpoints.sm, sm = _b === void 0 ? xs : _b; var _c = breakpoints.md, md = _c === void 0 ? sm : _c; var _d = breakpoints.lg, lg = _d === void 0 ? md : _d; var _e = breakpoints.xl, xl = _e === void 0 ? lg : _e; var Component = field.component, render = field.render, type = field.type, _f = field.grid, grid = _f === void 0 ? typeof this.props.grid !== 'undefined' ? this.props.grid : true : _f; var propsForm = { field: field, onChangeField: this.onChangeField, }; var formInput = React__default.default.createElement(Inputs.Inputs, _tslib.__assign({}, propsForm)); if (render) return render({ children: formInput, props: propsForm, }); if (type === 'component') { if (Component) Component.displayName = "[fields.".concat(field.name.toString(), "].component"); if (React__default.default.isValidElement(Component)) return (React__default.default.createElement(Component.type, _tslib.__assign({}, _tslib.__assign(_tslib.__assign({}, Component.props), propsForm)))); if (ReactIs__namespace.isValidElementType(Component)) return (React__default.default.createElement(FieldRenderObserver, { component: Component, propsForm: propsForm })); return null; } return grid ? (React__default.default.createElement(Grid__default.default, { item: true, xs: xs, sm: sm, md: md, lg: lg, xl: xl }, formInput)) : (formInput); }; return FieldRender; }(React__default.default.PureComponent)); module.exports = FieldRender; //# sourceMappingURL=FieldRender.js.map