@uiw-admin/components
Version:
76 lines (75 loc) • 3.16 kB
JavaScript
;
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;
}