UNPKG

react-admin-kit

Version:

A react based UI components for admin system

92 lines (90 loc) 3.42 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import { renderValueType } from '@ant-design/pro-form/es/components/SchemaForm/valueType/index'; import { LabelIconTip, omitUndefined, runFunction } from '@ant-design/pro-utils'; /** * 生成 formItems * 代码摘自 @ant-design/pro-form * */ import { jsx as _jsx } from "react/jsx-runtime"; var _genItems = function _genItems(items) { var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'form'; var formInstance = arguments.length > 2 ? arguments[2] : undefined; var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; var _options$labelCol = options.labelCol, labelCol = _options$labelCol === void 0 ? {} : _options$labelCol, valueBaseName = options.valueBaseName, _options$colProps = options.colProps, colProps = _options$colProps === void 0 ? {} : _options$colProps, _options$readonly = options.readonly, readonly = _options$readonly === void 0 ? false : _options$readonly; return items.filter(function (originItem) { return !(originItem.hideInForm && type === 'form'); }).sort(function (a, b) { if (b.order || a.order) { return (b.order || 0) - (a.order || 0); } return (b.index || 0) - (a.index || 0); }).map(function (originItem, index) { var _item$dataIndex; var title = runFunction(originItem.title, originItem, 'form', /*#__PURE__*/_jsx(LabelIconTip, { label: originItem.title, tooltip: originItem.tooltip || originItem.tip })); var genDataIndex = function genDataIndex(key, base) { if (base) { if (typeof key === 'string') { return [base, key]; } if (Array.isArray(key)) { return [base].concat(key); } } return key; }; var item = omitUndefined(_objectSpread(_objectSpread({}, originItem), {}, { title: title, label: title, valueType: runFunction(originItem.valueType, {}), dataIndex: genDataIndex(originItem.key || originItem.dataIndex, valueBaseName), readonly: originItem.readonly || readonly, tooltip: originItem.tooltip || originItem.tip, getFieldProps: originItem.fieldProps ? function () { return runFunction(originItem.fieldProps, formInstance, originItem); } : undefined, getFormItemProps: originItem.formItemProps ? function () { return runFunction(_objectSpread({ labelCol: labelCol }, originItem.formItemProps), formInstance, originItem); } : function () { return { labelCol: labelCol }; } })); var key = item.key || ((_item$dataIndex = item.dataIndex) === null || _item$dataIndex === void 0 ? void 0 : _item$dataIndex.toString()) || index; item.key = key; item.name = item.name || item.dataIndex; // @ts-ignore var dom = renderValueType(item, { action: undefined, type: 'form', originItem: originItem, formRef: { current: formInstance }, genItems: function genItems(items) { return _genItems(items, type, formInstance, { labelCol: labelCol, valueBaseName: valueBaseName, colProps: colProps, readonly: readonly }); } }); return dom; }).filter(function (field) { return Boolean(field); }); }; export { _genItems as genItems };