fx-form-widget
Version:
125 lines (122 loc) • 5.15 kB
JavaScript
"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);