UNPKG

@react-formless/core

Version:
50 lines 2.5 kB
"use strict"; 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.StyledFormView = exports.StyledCellView = void 0; var React = require("react"); var __1 = require(".."); var utils_1 = require("../../../utils"); var PlainHtmlRenderMap_1 = require("./PlainHtmlRenderMap"); var isKeyOf = function (v, keys) { if (keys === void 0) { keys = []; } return typeof v === "string" && (keys.includes(v) || keys.length === 0); }; exports.StyledCellView = 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 }); }; if (isKeyOf(p.cell)) { var f = p.cell; return React.createElement(__1.FormItemView, __assign({}, getProps(f, p.schema[f]))); } switch (p.cell.type) { case "Row": return (React.createElement(p.styledInputsRenderMap.Row, { value: p.cell.value.map(function (f, i) { return React.createElement(exports.StyledCellView, __assign({}, p, { key: "" + i, cell: f })); }) })); case "Title": return React.createElement(p.styledInputsRenderMap.Title, { value: p.cell.value }); case "Custom": return (React.createElement(p.styledInputsRenderMap.Custom, __assign({}, utils_1.omitObject(p, ["cell", "styledInputsRenderMap"]), { getProps: getProps, value: p.cell.value }))); } return null; }; exports.StyledFormView = function (p) { return (React.createElement(React.Fragment, null, p.styledSchema.map(function (e, index) { return (React.createElement(exports.StyledCellView, __assign({ key: index }, p, { cell: e, styledInputsRenderMap: __assign(__assign({}, PlainHtmlRenderMap_1.styledInputsRenderMap), (p.styledInputsRenderMap || {})) }))); }))); }; //# sourceMappingURL=StyledFormView.js.map