UNPKG

fx-form-widget

Version:
125 lines (122 loc) 5.15 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.renderDifferentLayputComponent = exports["default"] = void 0; var _row = _interopRequireDefault(require("antd/lib/row")); var _col = _interopRequireDefault(require("antd/lib/col")); var _form = _interopRequireDefault(require("antd/lib/form")); var _react = _interopRequireWildcard(require("react")); var _mobx = require("mobx"); var _proComponents = require("@ant-design/pro-components"); var _index = require("../../index"); var _renderWidget = _interopRequireDefault(require("./renderWidget")); var _EditableTable = _interopRequireDefault(require("../EditableTable")); var _Group = _interopRequireDefault(require("../Group")); var _nanoid = require("nanoid"); require("./index.less"); 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; } var Item = _form["default"].Item; // 不同布局组件的id集合 var LAYOUT_COMPONENTIDS = { SUB_FORM_ID: 100, GROUP_ID: 101, SEPARATOR_ID: 102 }; var renderDifferentLayputComponent = exports.renderDifferentLayputComponent = function renderDifferentLayputComponent(schema, wid, onCheck) { var id = schema.id, children = schema.children, viewSchema = schema.viewSchema; if (id === LAYOUT_COMPONENTIDS['SUB_FORM_ID']) { return /*#__PURE__*/_react["default"].createElement(_col["default"], { span: 24, key: wid }, /*#__PURE__*/_react["default"].createElement(Item, { name: schema.wid, wrapperCol: { span: 24 }, labelCol: { span: 0 } }, /*#__PURE__*/_react["default"].createElement(_EditableTable["default"], { schema: schema, wid: schema.wid, schemaChildrenData: children, viewSchema: viewSchema }))); } if (id === LAYOUT_COMPONENTIDS['GROUP_ID']) { return /*#__PURE__*/_react["default"].createElement(_col["default"], { span: 24, key: wid }, /*#__PURE__*/_react["default"].createElement(Item, { wrapperCol: { span: 24 }, labelCol: { span: 0 } }, /*#__PURE__*/_react["default"].createElement(_Group["default"], { schemaChildrenData: children, viewSchema: viewSchema, wid: wid }))); } return /*#__PURE__*/_react["default"].createElement(_renderWidget["default"], { onCheck: onCheck, schema: schema, key: schema.wid ? schema.wid : (0, _nanoid.nanoid)() }); }; var ContentWrap = function ContentWrap(_ref, ref) { var variant = _ref.variant, loading = _ref.loading, valuesChanged = _ref.valuesChanged, onCheck = _ref.onCheck; var _Form$useForm = _form["default"].useForm(), dynamicForm = _Form$useForm[0]; var ContentContext = (0, _react.useContext)(_index.Context); var schemaData = ContentContext.schemaData; (0, _react.useImperativeHandle)(ref, function () { return { dynamicForm: dynamicForm }; }); // 隐藏系统字段 var realShowSchemaData = schemaData === null || schemaData === void 0 ? void 0 : schemaData.filter(function (value) { return value.viewSchema.isSystem !== true; }); var renderForm = function renderForm() { if ((realShowSchemaData === null || realShowSchemaData === void 0 ? void 0 : realShowSchemaData.length) === 0) { return null; } return /*#__PURE__*/_react["default"].createElement(_form["default"], { variant: variant, form: dynamicForm, validateTrigger: "onBlur", onValuesChange: function onValuesChange(changedValues) { return valuesChanged(changedValues); }, requiredMark: false, colon: false }, /*#__PURE__*/_react["default"].createElement(_row["default"], { gutter: 16 }, (0, _mobx.toJS)(realShowSchemaData).map(function (schema) { return renderDifferentLayputComponent(schema, schema.wid, onCheck); }))); }; var renderProSkeleton = function renderProSkeleton(loading) { if (!loading) { return false; } return /*#__PURE__*/_react["default"].createElement(_proComponents.ProSkeleton, { list: realShowSchemaData.length, type: "descriptions" }); }; return /*#__PURE__*/_react["default"].createElement(_proComponents.ProCard, { loading: renderProSkeleton(loading) }, renderForm()); }; var _default = exports["default"] = /*#__PURE__*/(0, _react.forwardRef)(ContentWrap);