UNPKG

stark-form-builder-next

Version:
86 lines (83 loc) 4.64 kB
"use strict"; require("core-js/modules/es.object.assign.js"); require("core-js/modules/es.weak-map.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = FormElementRenderer; require("core-js/modules/es.array.includes.js"); require("core-js/modules/es.string.includes.js"); require("core-js/modules/web.dom-collections.iterator.js"); var _react = _interopRequireWildcard(require("react")); var _reactBootstrap = require("react-bootstrap"); var _FormElements = require("./FormElements"); var _customFunctions = _interopRequireDefault(require("./helper/customFunctions")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } function FormElementRenderer(props) { const { formInput } = props; const [asteriskToggle, setAsteriskToggle] = (0, _react.useState)(false); (0, _react.useEffect)(() => { if (!formInput || _customFunctions.default.checkIfEmpty(formInput.validations)) return; const result = formInput.validations.filter(form => form.type.split("|").includes("required")); setAsteriskToggle(result.length > 0); }, [formInput]); const renderInput = input => { switch (String(input.type).toLowerCase()) { case "text": case "password": case "email": case "number": return /*#__PURE__*/_react.default.createElement(_FormElements.TextInput, _extends({ showAsterisk: asteriskToggle }, input)); case "textarea": return /*#__PURE__*/_react.default.createElement(_FormElements.TextAreaInput, _extends({ showAsterisk: asteriskToggle }, input)); case "file": return /*#__PURE__*/_react.default.createElement(_FormElements.FileInput, _extends({ showAsterisk: asteriskToggle }, input)); case "radio": return /*#__PURE__*/_react.default.createElement(_FormElements.RadioInput, _extends({ showAsterisk: asteriskToggle }, input)); case "checkbox": return /*#__PURE__*/_react.default.createElement(_FormElements.CheckboxInput, _extends({ showAsterisk: asteriskToggle }, input)); case "select": return /*#__PURE__*/_react.default.createElement(_FormElements.DropdownInput, _extends({ showAsterisk: asteriskToggle }, input)); case "date": return /*#__PURE__*/_react.default.createElement(_FormElements.DateTimePicker, _extends({ showAsterisk: asteriskToggle }, input)); case "phonenumber": return /*#__PURE__*/_react.default.createElement(_FormElements.PhoneInputComponent, _extends({ showAsterisk: asteriskToggle }, input)); // case "button": // return <ButtonComponent {...input} />; case "switch": return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, { className: formInput.classNames }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, formInput.label), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Check, { type: "switch", id: formInput.id, label: formInput.label }), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Text, { className: "text-muted" }, "This is sample text")); default: return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null); } }; return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderInput(formInput)); }