UNPKG

@uiw-admin/components

Version:
76 lines (75 loc) 3.16 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFormFields = getFormFields; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _uiw = require("uiw"); var _Radio = _interopRequireDefault(require("../../ProTable/widgets/Radio")); var _Select = _interopRequireDefault(require("../../ProTable/widgets/Select")); var _CheckBox = _interopRequireDefault(require("./CheckBox")); var _SelectMultiple = _interopRequireDefault(require("./SelectMultiple")); var _Upload = _interopRequireDefault(require("./Upload")); var _SearchTree = _interopRequireDefault(require("./SearchTree")); var _utils = require("../utils"); var _jsxRuntime = require("react/jsx-runtime"); var _excluded = ["hide", "widgetProps", "key", "widget", "label", "initialValue", "required"]; /** * * @param readOnly 是否是只读模式 boolean * @param formDatas 表单项 FormItemsProps[] * @returns fields Record<string, FormFieldsProps<{}>> */ function getFormFields(readOnly) { var formDatas = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var customWidgetsList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var widgetsList = (0, _objectSpread2["default"])({ input: _uiw.Input, inputNumber: _uiw.InputNumber, radio: _Radio["default"], checkbox: _CheckBox["default"], "switch": _uiw.Switch, select: _Select["default"], searchSelect: _uiw.SearchSelect, selectMultiple: _SelectMultiple["default"], textarea: _uiw.Textarea, dateInput: _uiw.DateInput, timePicker: _uiw.TimePicker, monthPicker: _uiw.MonthPicker, upload: _Upload["default"], rate: _uiw.Rate, searchTree: _SearchTree["default"] }, customWidgetsList); var fields = {}; formDatas.forEach(function (col) { if (!readOnly) delete col.readSpan; if (col) { var _col$hide = col.hide, hide = _col$hide === void 0 ? false : _col$hide, widgetProps = col.widgetProps, key = col.key, widget = col.widget, label = col.label, initialValue = col.initialValue, required = col.required, otherProps = (0, _objectWithoutProperties2["default"])(col, _excluded); if (!hide) { var name = key; var Widget = widgetsList[widget]; var is = (0, _utils.isRequired)((otherProps === null || otherProps === void 0 ? void 0 : otherProps.rules) || []); fields[name] = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({ label: is ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { className: "w-proform-label", children: label }) : label, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Widget, (0, _objectSpread2["default"])({}, widgetProps)) }, otherProps), {}, { initialValue: initialValue }); } } }); return fields; }