@react-formless/core
Version:
Data-driven react forms library written in typescript
45 lines • 2.28 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FormView = exports.FormItemView = exports.getElementsRenderMap = void 0;
var React = require("react");
var utils_1 = require("@react-formless/utils");
var __1 = require("..");
var getRenderMap = function (p) { return p.inputsRenderMap || __1.plainHtmlRenderMap; };
exports.getElementsRenderMap = function (p) { return (__assign(__assign({}, __1.plainHtmlElementRenderMap), (p.elementsRenderMap || {}))); };
var DefaultRenderFn = function (p) { return React.createElement("h3", null,
"Not supported ",
JSON.stringify(p.schema)); };
exports.FormItemView = function (p) {
var customRenderMap = __assign(__assign({}, __1.plainHtmlRenderMap), getRenderMap(p.renderOptions));
var _a = exports.getElementsRenderMap(p.renderOptions), ItemWrapper = _a.ItemWrapper, DefaultFormItem = _a.DefaultFormItem;
var FormItem = customRenderMap[p.schema.type] || DefaultFormItem || DefaultRenderFn;
return (React.createElement(ItemWrapper, null,
React.createElement(FormItem, __assign({}, p))));
};
exports.FormView = function (p) {
var setDelta = function (key) { return function (value) {
var _a;
return p.setState(__assign(__assign({}, p.state), (_a = {}, _a[key] = value, _a)));
}; };
var renderOptions = utils_1.pickObject(p, ["elementsRenderMap", "inputsRenderMap"]);
var getProps = function (key, schema) { return ({
schema: schema,
state: p.state[key],
setDelta: setDelta(key),
renderOptions: renderOptions
}); };
return (React.createElement(React.Fragment, null, utils_1.keys(p.schema).map(function (key, i) { return (React.createElement(React.Fragment, { key: key + "-" + i },
React.createElement(exports.FormItemView, __assign({}, getProps(key, p.schema[key]))))); })));
};
//# sourceMappingURL=FormView.js.map
;