Commit 04ac2adb1970bf472dcef666d944c18e191074eb
Merge branch 'alpha' into beta
# Conflicts: # package.json
Showing
25 changed files
with
1524 additions
and
947 deletions
Too many changes to show.
To preserve performance only 25 of 102 files are displayed.
| ... | ... | @@ -2,37 +2,54 @@ import _PlusCircleFilled from "@ant-design/icons/es/icons/PlusCircleFilled"; |
| 2 | 2 | import _DownOutlined from "@ant-design/icons/es/icons/DownOutlined"; |
| 3 | 3 | import _UpOutlined from "@ant-design/icons/es/icons/UpOutlined"; |
| 4 | 4 | import _DeleteOutlined from "@ant-design/icons/es/icons/DeleteOutlined"; |
| 5 | + | |
| 5 | 6 | function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } |
| 7 | + | |
| 6 | 8 | function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 9 | + | |
| 7 | 10 | function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } |
| 11 | + | |
| 8 | 12 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } |
| 13 | + | |
| 9 | 14 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
| 15 | + | |
| 10 | 16 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 17 | + | |
| 11 | 18 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
| 12 | -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | |
| 13 | -function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } | |
| 19 | + | |
| 20 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | |
| 21 | + | |
| 22 | +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | |
| 23 | + | |
| 14 | 24 | function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } |
| 25 | + | |
| 15 | 26 | /* eslint-disable jsx-a11y/anchor-is-valid */ |
| 16 | 27 | import React, { useEffect, useMemo, useState } from 'react'; |
| 17 | -import Core from '../../index'; | |
| 18 | -// import { Button, Space, Popconfirm } from 'antd'; | |
| 28 | +import Core from '../../index'; // import { Button, Space, Popconfirm } from 'antd'; | |
| 19 | 29 | // import ArrowDown from '../../../components/ArrowDown'; |
| 30 | + | |
| 20 | 31 | import { Collapse } from 'antd-mobile'; |
| 32 | + | |
| 21 | 33 | // 数字转汉字 |
| 22 | 34 | function convertToChinaNum(num) { |
| 23 | 35 | var arr1 = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; |
| 24 | 36 | var arr2 = ['', '十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千', '万', '十', '百', '千', '亿']; //可继续追加更高位转换值 |
| 37 | + | |
| 25 | 38 | if (!num || isNaN(num)) { |
| 26 | 39 | return "零"; |
| 27 | 40 | } |
| 41 | + | |
| 28 | 42 | var english = num.toString().split(""); |
| 29 | 43 | var result = ""; |
| 44 | + | |
| 30 | 45 | for (var i = 0; i < english.length; i++) { |
| 31 | 46 | var des_i = english.length - 1 - i; //倒序排列设值 |
| 47 | + | |
| 32 | 48 | result = arr2[i] + result; |
| 33 | 49 | var arr1_index = english[des_i]; |
| 34 | 50 | result = arr1[arr1_index] + result; |
| 35 | 51 | } |
| 52 | + | |
| 36 | 53 | result = result.replace(/零(千|百|十)/g, '零').replace(/十零/g, '十'); |
| 37 | 54 | result = result.replace(/零+/g, '零'); |
| 38 | 55 | result = result.replace(/零亿/g, '亿').replace(/零万/g, '万'); |
| ... | ... | @@ -41,36 +58,36 @@ function convertToChinaNum(num) { |
| 41 | 58 | result = result.replace(/^一十/g, '十'); |
| 42 | 59 | return result; |
| 43 | 60 | } |
| 61 | + | |
| 44 | 62 | var ListForMobile = function ListForMobile(_ref) { |
| 45 | 63 | var _ref$displayList = _ref.displayList, |
| 46 | - displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 47 | - listData = _ref.listData, | |
| 48 | - changeList = _ref.changeList, | |
| 49 | - schema = _ref.schema, | |
| 50 | - deleteItem = _ref.deleteItem, | |
| 51 | - copyItem = _ref.copyItem, | |
| 52 | - addItem = _ref.addItem, | |
| 53 | - moveItemUp = _ref.moveItemUp, | |
| 54 | - moveItemDown = _ref.moveItemDown, | |
| 55 | - displayType = _ref.displayType, | |
| 56 | - getFieldsProps = _ref.getFieldsProps; | |
| 64 | + displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 65 | + listData = _ref.listData, | |
| 66 | + changeList = _ref.changeList, | |
| 67 | + schema = _ref.schema, | |
| 68 | + deleteItem = _ref.deleteItem, | |
| 69 | + copyItem = _ref.copyItem, | |
| 70 | + addItem = _ref.addItem, | |
| 71 | + moveItemUp = _ref.moveItemUp, | |
| 72 | + moveItemDown = _ref.moveItemDown, | |
| 73 | + displayType = _ref.displayType, | |
| 74 | + getFieldsProps = _ref.getFieldsProps; | |
| 57 | 75 | var _schema$props = schema.props, |
| 58 | - props = _schema$props === void 0 ? {} : _schema$props, | |
| 59 | - itemProps = schema.itemProps; | |
| 60 | - var _useState = useState([]), | |
| 61 | - _useState2 = _slicedToArray(_useState, 2), | |
| 62 | - allKeys = _useState2[0], | |
| 63 | - setKeys = _useState2[1]; | |
| 76 | + props = _schema$props === void 0 ? {} : _schema$props, | |
| 77 | + itemProps = schema.itemProps; | |
| 64 | 78 | |
| 65 | - // let addBtnProps = { | |
| 79 | + var _useState = useState([]), | |
| 80 | + _useState2 = _slicedToArray(_useState, 2), | |
| 81 | + allKeys = _useState2[0], | |
| 82 | + setKeys = _useState2[1]; // let addBtnProps = { | |
| 66 | 83 | // type: 'dashed', |
| 67 | 84 | // children: '新增一条list', |
| 68 | 85 | // }; |
| 69 | - | |
| 70 | 86 | // if (props.addBtnProps && typeof props.addBtnProps === 'object') { |
| 71 | 87 | // addBtnProps = { ...addBtnProps, ...props.addBtnProps }; |
| 72 | 88 | // } |
| 73 | 89 | |
| 90 | + | |
| 74 | 91 | useEffect(function () { |
| 75 | 92 | var _allKeys = []; |
| 76 | 93 | displayList.forEach(function (item, idx) { |
| ... | ... | @@ -80,6 +97,7 @@ var ListForMobile = function ListForMobile(_ref) { |
| 80 | 97 | }); |
| 81 | 98 | setKeys(_allKeys); |
| 82 | 99 | }, [displayList]); |
| 100 | + | |
| 83 | 101 | var getTitle = function getTitle(id) { |
| 84 | 102 | return /*#__PURE__*/React.createElement("div", { |
| 85 | 103 | style: { |
| ... | ... | @@ -104,6 +122,7 @@ var ListForMobile = function ListForMobile(_ref) { |
| 104 | 122 | } |
| 105 | 123 | }))); |
| 106 | 124 | }; |
| 125 | + | |
| 107 | 126 | var handleArrow = function handleArrow(active) { |
| 108 | 127 | if (active) { |
| 109 | 128 | return /*#__PURE__*/React.createElement(_UpOutlined, { |
| ... | ... | @@ -113,6 +132,7 @@ var ListForMobile = function ListForMobile(_ref) { |
| 113 | 132 | return /*#__PURE__*/React.createElement(_DownOutlined, null); |
| 114 | 133 | } |
| 115 | 134 | }; |
| 135 | + | |
| 116 | 136 | return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { |
| 117 | 137 | className: "fr-card-list qx-card-mobile" |
| 118 | 138 | }, /*#__PURE__*/React.createElement(Collapse, { |
| ... | ... | @@ -126,6 +146,7 @@ var ListForMobile = function ListForMobile(_ref) { |
| 126 | 146 | arrow: handleArrow, |
| 127 | 147 | onClick: function onClick() { |
| 128 | 148 | var _active = item._active || false; |
| 149 | + | |
| 129 | 150 | displayList[idx]._active = !_active; |
| 130 | 151 | changeList(_toConsumableArray(displayList)); |
| 131 | 152 | } |
| ... | ... | @@ -146,4 +167,5 @@ var ListForMobile = function ListForMobile(_ref) { |
| 146 | 167 | } |
| 147 | 168 | }), "\u70B9\u51FB\u65B0\u589E\u6570\u636E")); |
| 148 | 169 | }; |
| 170 | + | |
| 149 | 171 | export default ListForMobile; |
| \ No newline at end of file | ... | ... |
| 1 | 1 | import { createFromIconfontCN } from '@ant-design/icons/lib'; |
| 2 | - | |
| 3 | 2 | /** |
| 4 | 3 | * 使用: |
| 5 | 4 | * import QxIcon from '@/packages/qx-icon'; |
| ... | ... | @@ -11,6 +10,7 @@ import { createFromIconfontCN } from '@ant-design/icons/lib'; |
| 11 | 10 | * |
| 12 | 11 | * @type {React.FC<IconFontProps<string>>} |
| 13 | 12 | */ |
| 13 | + | |
| 14 | 14 | var QxIcon = createFromIconfontCN({ |
| 15 | 15 | scriptUrl: 'https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/icons_13749_95.b05de9dc2fbe8efffb150f83b64da806.es5.js' |
| 16 | 16 | }); | ... | ... |
| 1 | 1 | /* eslint-disable react-hooks/exhaustive-deps */ |
| 2 | 2 | import { useEffect } from 'react'; |
| 3 | 3 | import { getValueByPath } from './utils'; |
| 4 | + | |
| 4 | 5 | var Watcher = function Watcher(_ref) { |
| 5 | 6 | var watchKey = _ref.watchKey, |
| 6 | - watch = _ref.watch, | |
| 7 | - formData = _ref.formData, | |
| 8 | - firstMount = _ref.firstMount; | |
| 7 | + watch = _ref.watch, | |
| 8 | + formData = _ref.formData, | |
| 9 | + firstMount = _ref.firstMount; | |
| 9 | 10 | var value = getValueByPath(formData, watchKey); |
| 10 | 11 | var watchObj = watch[watchKey]; |
| 11 | 12 | useEffect(function () { |
| ... | ... | @@ -24,8 +25,10 @@ var Watcher = function Watcher(_ref) { |
| 24 | 25 | } |
| 25 | 26 | } |
| 26 | 27 | }; |
| 28 | + | |
| 27 | 29 | if (firstMount) { |
| 28 | 30 | var immediate = watchObj && watchObj.immediate; |
| 31 | + | |
| 29 | 32 | if (immediate) { |
| 30 | 33 | runWatcher(); |
| 31 | 34 | } |
| ... | ... | @@ -35,4 +38,5 @@ var Watcher = function Watcher(_ref) { |
| 35 | 38 | }, [JSON.stringify(value), firstMount]); |
| 36 | 39 | return null; |
| 37 | 40 | }; |
| 41 | + | |
| 38 | 42 | export default Watcher; |
| \ No newline at end of file | ... | ... |
| 1 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 1 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 2 | + | |
| 2 | 3 | import React, { forwardRef } from 'react'; |
| 3 | 4 | import useForm from './useForm'; |
| 5 | + | |
| 4 | 6 | var connectForm = function connectForm(Component) { |
| 5 | 7 | return /*#__PURE__*/forwardRef(function (props, ref) { |
| 6 | 8 | var form = useForm(); |
| ... | ... | @@ -11,4 +13,5 @@ var connectForm = function connectForm(Component) { |
| 11 | 13 | })); |
| 12 | 14 | }); |
| 13 | 15 | }; |
| 16 | + | |
| 14 | 17 | export default connectForm; |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -6,38 +6,45 @@ import _CloseOutlined from "@ant-design/icons/es/icons/CloseOutlined"; |
| 6 | 6 | import _CopyOutlined from "@ant-design/icons/es/icons/CopyOutlined"; |
| 7 | 7 | import _ArrowDownOutlined from "@ant-design/icons/es/icons/ArrowDownOutlined"; |
| 8 | 8 | import _ArrowUpOutlined from "@ant-design/icons/es/icons/ArrowUpOutlined"; |
| 9 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 10 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 11 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 12 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 13 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 14 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 15 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 9 | + | |
| 10 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 11 | + | |
| 12 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 13 | + | |
| 14 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 15 | + | |
| 16 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 17 | + | |
| 18 | +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | |
| 19 | + | |
| 16 | 20 | import React from 'react'; |
| 17 | 21 | import { useTools } from '../../../hooks'; |
| 18 | 22 | import Core from '../../index'; |
| 23 | + | |
| 19 | 24 | var CardList = function CardList(_ref) { |
| 20 | 25 | var _ref$displayList = _ref.displayList, |
| 21 | - displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 22 | - listData = _ref.listData, | |
| 23 | - changeList = _ref.changeList, | |
| 24 | - schema = _ref.schema, | |
| 25 | - deleteItem = _ref.deleteItem, | |
| 26 | - copyItem = _ref.copyItem, | |
| 27 | - addItem = _ref.addItem, | |
| 28 | - moveItemUp = _ref.moveItemUp, | |
| 29 | - moveItemDown = _ref.moveItemDown, | |
| 30 | - displayType = _ref.displayType, | |
| 31 | - getFieldsProps = _ref.getFieldsProps; | |
| 26 | + displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 27 | + listData = _ref.listData, | |
| 28 | + changeList = _ref.changeList, | |
| 29 | + schema = _ref.schema, | |
| 30 | + deleteItem = _ref.deleteItem, | |
| 31 | + copyItem = _ref.copyItem, | |
| 32 | + addItem = _ref.addItem, | |
| 33 | + moveItemUp = _ref.moveItemUp, | |
| 34 | + moveItemDown = _ref.moveItemDown, | |
| 35 | + displayType = _ref.displayType, | |
| 36 | + getFieldsProps = _ref.getFieldsProps; | |
| 32 | 37 | var _schema$props = schema.props, |
| 33 | - props = _schema$props === void 0 ? {} : _schema$props, | |
| 34 | - itemProps = schema.itemProps, | |
| 35 | - _schema$min = schema.min, | |
| 36 | - min = _schema$min === void 0 ? 0 : _schema$min, | |
| 37 | - _schema$max = schema.max, | |
| 38 | - max = _schema$max === void 0 ? 9999 : _schema$max; | |
| 38 | + props = _schema$props === void 0 ? {} : _schema$props, | |
| 39 | + itemProps = schema.itemProps, | |
| 40 | + _schema$min = schema.min, | |
| 41 | + min = _schema$min === void 0 ? 0 : _schema$min, | |
| 42 | + _schema$max = schema.max, | |
| 43 | + max = _schema$max === void 0 ? 9999 : _schema$max; | |
| 44 | + | |
| 39 | 45 | var _useTools = useTools(), |
| 40 | - methods = _useTools.methods; | |
| 46 | + methods = _useTools.methods; | |
| 47 | + | |
| 41 | 48 | var addBtnProps = { |
| 42 | 49 | type: 'dashed', |
| 43 | 50 | children: '新增一条' |
| ... | ... | @@ -47,12 +54,15 @@ var CardList = function CardList(_ref) { |
| 47 | 54 | okText: '确定', |
| 48 | 55 | cancelText: '取消' |
| 49 | 56 | }; |
| 57 | + | |
| 50 | 58 | if (props.addBtnProps && _typeof(props.addBtnProps) === 'object') { |
| 51 | 59 | addBtnProps = _objectSpread(_objectSpread({}, addBtnProps), props.addBtnProps); |
| 52 | 60 | } |
| 61 | + | |
| 53 | 62 | if (props.delConfirmProps && _typeof(props.delConfirmProps) === 'object') { |
| 54 | 63 | delConfirmProps = _objectSpread(_objectSpread({}, delConfirmProps), props.delConfirmProps); |
| 55 | 64 | } |
| 65 | + | |
| 56 | 66 | return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { |
| 57 | 67 | className: "fr-card-list" |
| 58 | 68 | }, displayList.map(function (item, idx) { |
| ... | ... | @@ -94,13 +104,16 @@ var CardList = function CardList(_ref) { |
| 94 | 104 | onConfirm: function onConfirm() { |
| 95 | 105 | if (props.onConfirm && typeof props.onConfirm === 'string') { |
| 96 | 106 | var cb = methods[props.onConfirm]; |
| 107 | + | |
| 97 | 108 | if (typeof cb === 'function') { |
| 98 | 109 | var result = cb(item, idx); |
| 110 | + | |
| 99 | 111 | if (!result) { |
| 100 | 112 | return; |
| 101 | 113 | } |
| 102 | 114 | } |
| 103 | 115 | } |
| 116 | + | |
| 104 | 117 | deleteItem(idx); |
| 105 | 118 | } |
| 106 | 119 | }, delConfirmProps), /*#__PURE__*/React.createElement(_CloseOutlined, { |
| ... | ... | @@ -117,8 +130,9 @@ var CardList = function CardList(_ref) { |
| 117 | 130 | onClick: addItem |
| 118 | 131 | }, addBtnProps)), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { |
| 119 | 132 | var callback = item.callback, |
| 120 | - text = item.text, | |
| 121 | - html = item.html; | |
| 133 | + text = item.text, | |
| 134 | + html = item.html; | |
| 135 | + | |
| 122 | 136 | var onClick = function onClick() { |
| 123 | 137 | console.log({ |
| 124 | 138 | value: listData, |
| ... | ... | @@ -126,6 +140,7 @@ var CardList = function CardList(_ref) { |
| 126 | 140 | schema: schema |
| 127 | 141 | }); |
| 128 | 142 | }; |
| 143 | + | |
| 129 | 144 | if (typeof window[callback] === 'function') { |
| 130 | 145 | onClick = function onClick() { |
| 131 | 146 | window[callback]({ |
| ... | ... | @@ -135,6 +150,7 @@ var CardList = function CardList(_ref) { |
| 135 | 150 | }); |
| 136 | 151 | }; |
| 137 | 152 | } |
| 153 | + | |
| 138 | 154 | return /*#__PURE__*/React.createElement(_Button, { |
| 139 | 155 | key: idx.toString(), |
| 140 | 156 | style: { |
| ... | ... | @@ -149,4 +165,5 @@ var CardList = function CardList(_ref) { |
| 149 | 165 | })); |
| 150 | 166 | }) : null)); |
| 151 | 167 | }; |
| 168 | + | |
| 152 | 169 | export default CardList; |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -9,55 +9,74 @@ import _ArrowUpOutlined from "@ant-design/icons/es/icons/ArrowUpOutlined"; |
| 9 | 9 | import "antd/es/popconfirm/style"; |
| 10 | 10 | import _Popconfirm from "antd/es/popconfirm"; |
| 11 | 11 | var _excluded = ["buttons"], |
| 12 | - _excluded2 = ["pagination"]; | |
| 13 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 12 | + _excluded2 = ["pagination"]; | |
| 13 | + | |
| 14 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 15 | + | |
| 14 | 16 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
| 17 | + | |
| 15 | 18 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 19 | + | |
| 16 | 20 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
| 17 | -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | |
| 18 | -function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } | |
| 21 | + | |
| 22 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | |
| 23 | + | |
| 24 | +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | |
| 25 | + | |
| 19 | 26 | function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } |
| 20 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 21 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 22 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 23 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 24 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 25 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 27 | + | |
| 28 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 29 | + | |
| 30 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 31 | + | |
| 32 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 33 | + | |
| 34 | +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | |
| 35 | + | |
| 26 | 36 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } |
| 37 | + | |
| 27 | 38 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } |
| 39 | + | |
| 28 | 40 | import React, { useRef } from 'react'; |
| 29 | 41 | import { useSet, useTools } from '../../../hooks'; |
| 30 | 42 | import { getDataPath, getDisplayValue, getKeyFromPath } from '../../../utils'; |
| 31 | 43 | import Core from '../../index'; |
| 32 | 44 | import ErrorMessage from '../../RenderField/ErrorMessage'; |
| 33 | 45 | var FIELD_LENGTH = 170; |
| 46 | + | |
| 34 | 47 | var DrawerList = function DrawerList(_ref) { |
| 35 | 48 | var _extends2; |
| 49 | + | |
| 36 | 50 | var _ref$displayList = _ref.displayList, |
| 37 | - displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 38 | - dataPath = _ref.dataPath, | |
| 39 | - children = _ref.children, | |
| 40 | - deleteItem = _ref.deleteItem, | |
| 41 | - addItem = _ref.addItem, | |
| 42 | - moveItemDown = _ref.moveItemDown, | |
| 43 | - moveItemUp = _ref.moveItemUp, | |
| 44 | - flatten = _ref.flatten, | |
| 45 | - errorFields = _ref.errorFields, | |
| 46 | - getFieldsProps = _ref.getFieldsProps, | |
| 47 | - schema = _ref.schema, | |
| 48 | - changeList = _ref.changeList, | |
| 49 | - listData = _ref.listData; | |
| 51 | + displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 52 | + dataPath = _ref.dataPath, | |
| 53 | + children = _ref.children, | |
| 54 | + deleteItem = _ref.deleteItem, | |
| 55 | + addItem = _ref.addItem, | |
| 56 | + moveItemDown = _ref.moveItemDown, | |
| 57 | + moveItemUp = _ref.moveItemUp, | |
| 58 | + flatten = _ref.flatten, | |
| 59 | + errorFields = _ref.errorFields, | |
| 60 | + getFieldsProps = _ref.getFieldsProps, | |
| 61 | + schema = _ref.schema, | |
| 62 | + changeList = _ref.changeList, | |
| 63 | + listData = _ref.listData; | |
| 64 | + | |
| 50 | 65 | var _useTools = useTools(), |
| 51 | - widgets = _useTools.widgets; | |
| 66 | + widgets = _useTools.widgets; | |
| 67 | + | |
| 52 | 68 | var _schema$props = schema.props, |
| 53 | - props = _schema$props === void 0 ? {} : _schema$props, | |
| 54 | - _schema$itemProps = schema.itemProps, | |
| 55 | - itemProps = _schema$itemProps === void 0 ? {} : _schema$itemProps; | |
| 69 | + props = _schema$props === void 0 ? {} : _schema$props, | |
| 70 | + _schema$itemProps = schema.itemProps, | |
| 71 | + itemProps = _schema$itemProps === void 0 ? {} : _schema$itemProps; | |
| 72 | + | |
| 56 | 73 | var buttons = itemProps.buttons, |
| 57 | - columnProps = _objectWithoutProperties(itemProps, _excluded); | |
| 74 | + columnProps = _objectWithoutProperties(itemProps, _excluded); | |
| 75 | + | |
| 58 | 76 | var _props$pagination = props.pagination, |
| 59 | - pagination = _props$pagination === void 0 ? {} : _props$pagination, | |
| 60 | - rest = _objectWithoutProperties(props, _excluded2); | |
| 77 | + pagination = _props$pagination === void 0 ? {} : _props$pagination, | |
| 78 | + rest = _objectWithoutProperties(props, _excluded2); | |
| 79 | + | |
| 61 | 80 | var actionColumnProps = { |
| 62 | 81 | colHeaderText: '操作', |
| 63 | 82 | editText: '编辑', |
| ... | ... | @@ -73,26 +92,33 @@ var DrawerList = function DrawerList(_ref) { |
| 73 | 92 | children: '新增一条', |
| 74 | 93 | size: 'small' |
| 75 | 94 | }; |
| 95 | + | |
| 76 | 96 | if (props.actionColumnProps && _typeof(props.actionColumnProps) === 'object') { |
| 77 | 97 | actionColumnProps = _objectSpread(_objectSpread({}, actionColumnProps), props.actionColumnProps); |
| 78 | 98 | } |
| 99 | + | |
| 79 | 100 | if (props.delConfirmProps && _typeof(props.delConfirmProps) === 'object') { |
| 80 | 101 | delConfirmProps = _objectSpread(_objectSpread({}, delConfirmProps), props.delConfirmProps); |
| 81 | 102 | } |
| 103 | + | |
| 82 | 104 | if (props.addBtnProps && _typeof(props.addBtnProps) === 'object') { |
| 83 | 105 | addBtnProps = _objectSpread(_objectSpread({}, addBtnProps), props.addBtnProps); |
| 84 | 106 | } |
| 107 | + | |
| 85 | 108 | var paginationConfig = pagination && _objectSpread({ |
| 86 | 109 | size: 'small', |
| 87 | 110 | hideOnSinglePage: true |
| 88 | 111 | }, pagination); |
| 112 | + | |
| 89 | 113 | var currentIndex = useRef(-1); |
| 114 | + | |
| 90 | 115 | var _useSet = useSet({ |
| 91 | - showDrawer: false | |
| 92 | - }), | |
| 93 | - _useSet2 = _slicedToArray(_useSet, 2), | |
| 94 | - state = _useSet2[0], | |
| 95 | - setState = _useSet2[1]; | |
| 116 | + showDrawer: false | |
| 117 | + }), | |
| 118 | + _useSet2 = _slicedToArray(_useSet, 2), | |
| 119 | + state = _useSet2[0], | |
| 120 | + setState = _useSet2[1]; | |
| 121 | + | |
| 96 | 122 | var showDrawer = state.showDrawer; |
| 97 | 123 | var dataSource = displayList.map(function (item, index) { |
| 98 | 124 | return _objectSpread(_objectSpread({}, item), {}, { |
| ... | ... | @@ -102,7 +128,9 @@ var DrawerList = function DrawerList(_ref) { |
| 102 | 128 | var columns = children.map(function (child) { |
| 103 | 129 | var item = flatten[child]; |
| 104 | 130 | var schema = item && item.schema || {}; |
| 131 | + | |
| 105 | 132 | var _dataIndex = getKeyFromPath(child); |
| 133 | + | |
| 106 | 134 | return _objectSpread({ |
| 107 | 135 | dataIndex: _dataIndex, |
| 108 | 136 | title: schema.required ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", { |
| ... | ... | @@ -113,8 +141,8 @@ var DrawerList = function DrawerList(_ref) { |
| 113 | 141 | var childPath = getDataPath(child, [record.$idx]); |
| 114 | 142 | var errorObj = errorFields.find(function (item) { |
| 115 | 143 | return item.name == childPath; |
| 116 | - }) || {}; | |
| 117 | - //TODO: 万一error在更深的层,这个办法是find不到的,会展示那一行没有提示。可以整一行加一个红线的方式处理 | |
| 144 | + }) || {}; //TODO: 万一error在更深的层,这个办法是find不到的,会展示那一行没有提示。可以整一行加一个红线的方式处理 | |
| 145 | + | |
| 118 | 146 | var Widget = widgets[schema.readOnlyWidget]; |
| 119 | 147 | return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, Widget ? /*#__PURE__*/React.createElement(Widget, { |
| 120 | 148 | value: value, |
| ... | ... | @@ -167,30 +195,35 @@ var DrawerList = function DrawerList(_ref) { |
| 167 | 195 | } |
| 168 | 196 | }); |
| 169 | 197 | var fieldsProps = getFieldsProps(currentIndex.current); |
| 198 | + | |
| 170 | 199 | var openDrawer = function openDrawer(index) { |
| 171 | 200 | currentIndex.current = index; |
| 172 | 201 | setState({ |
| 173 | 202 | showDrawer: true |
| 174 | 203 | }); |
| 175 | 204 | }; |
| 205 | + | |
| 176 | 206 | var closeDrawer = function closeDrawer() { |
| 177 | 207 | currentIndex.current = -1; |
| 178 | 208 | setState({ |
| 179 | 209 | showDrawer: false |
| 180 | 210 | }); |
| 181 | 211 | }; |
| 212 | + | |
| 182 | 213 | var handleAdd = function handleAdd() { |
| 183 | 214 | var newIndex = addItem(); |
| 184 | 215 | openDrawer(newIndex); |
| 185 | 216 | }; |
| 217 | + | |
| 186 | 218 | return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { |
| 187 | 219 | className: "w-100 mb2 tr" |
| 188 | 220 | }, !props.hideAdd && /*#__PURE__*/React.createElement(_Button, _extends({}, addBtnProps, { |
| 189 | 221 | onClick: handleAdd |
| 190 | 222 | })), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { |
| 191 | 223 | var callback = item.callback, |
| 192 | - text = item.text, | |
| 193 | - html = item.html; | |
| 224 | + text = item.text, | |
| 225 | + html = item.html; | |
| 226 | + | |
| 194 | 227 | var onClick = function onClick() { |
| 195 | 228 | console.log({ |
| 196 | 229 | value: listData, |
| ... | ... | @@ -198,6 +231,7 @@ var DrawerList = function DrawerList(_ref) { |
| 198 | 231 | schema: schema |
| 199 | 232 | }); |
| 200 | 233 | }; |
| 234 | + | |
| 201 | 235 | if (typeof window[callback] === 'function') { |
| 202 | 236 | onClick = function onClick() { |
| 203 | 237 | window[callback]({ |
| ... | ... | @@ -207,6 +241,7 @@ var DrawerList = function DrawerList(_ref) { |
| 207 | 241 | }); |
| 208 | 242 | }; |
| 209 | 243 | } |
| 244 | + | |
| 210 | 245 | return /*#__PURE__*/React.createElement(_Button, { |
| 211 | 246 | key: idx.toString(), |
| 212 | 247 | style: { |
| ... | ... | @@ -226,6 +261,7 @@ var DrawerList = function DrawerList(_ref) { |
| 226 | 261 | onClose: closeDrawer, |
| 227 | 262 | visible: showDrawer, |
| 228 | 263 | destroyOnClose: true // 必须要加,currentIndex不是一个state,Core不会重新渲染就跪了 |
| 264 | + | |
| 229 | 265 | }, /*#__PURE__*/React.createElement("div", { |
| 230 | 266 | className: "fr-container" |
| 231 | 267 | }, /*#__PURE__*/React.createElement(Core, fieldsProps))), /*#__PURE__*/React.createElement(_Table, _extends((_extends2 = { |
| ... | ... | @@ -245,4 +281,5 @@ var DrawerList = function DrawerList(_ref) { |
| 245 | 281 | rowKey: "$idx" |
| 246 | 282 | }, _defineProperty(_extends2, "size", "small"), _defineProperty(_extends2, "pagination", paginationConfig), _extends2), rest))); |
| 247 | 283 | }; |
| 284 | + | |
| 248 | 285 | export default DrawerList; |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -2,20 +2,30 @@ import _PlusCircleFilled from "@ant-design/icons/es/icons/PlusCircleFilled"; |
| 2 | 2 | import _DownOutlined from "@ant-design/icons/es/icons/DownOutlined"; |
| 3 | 3 | import _UpOutlined from "@ant-design/icons/es/icons/UpOutlined"; |
| 4 | 4 | import _DeleteOutlined from "@ant-design/icons/es/icons/DeleteOutlined"; |
| 5 | + | |
| 5 | 6 | function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } |
| 7 | + | |
| 6 | 8 | function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 9 | + | |
| 7 | 10 | function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } |
| 11 | + | |
| 8 | 12 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } |
| 13 | + | |
| 9 | 14 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
| 15 | + | |
| 10 | 16 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 17 | + | |
| 11 | 18 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
| 12 | -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | |
| 13 | -function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } | |
| 19 | + | |
| 20 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | |
| 21 | + | |
| 22 | +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | |
| 23 | + | |
| 14 | 24 | function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } |
| 25 | + | |
| 15 | 26 | /* eslint-disable jsx-a11y/anchor-is-valid */ |
| 16 | 27 | import React, { useEffect, useMemo, useState } from 'react'; |
| 17 | -import Core from '../../index'; | |
| 18 | -// import { Button, Space, Popconfirm } from 'antd'; | |
| 28 | +import Core from '../../index'; // import { Button, Space, Popconfirm } from 'antd'; | |
| 19 | 29 | // import ArrowDown from '../../../components/ArrowDown'; |
| 20 | 30 | // import { Collapse } from 'antd-mobile' |
| 21 | 31 | |
| ... | ... | @@ -23,17 +33,22 @@ import Core from '../../index'; |
| 23 | 33 | function convertToChinaNum(num) { |
| 24 | 34 | var arr1 = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; |
| 25 | 35 | var arr2 = ['', '十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千', '万', '十', '百', '千', '亿']; //可继续追加更高位转换值 |
| 36 | + | |
| 26 | 37 | if (!num || isNaN(num)) { |
| 27 | 38 | return "零"; |
| 28 | 39 | } |
| 40 | + | |
| 29 | 41 | var english = num.toString().split(""); |
| 30 | 42 | var result = ""; |
| 43 | + | |
| 31 | 44 | for (var i = 0; i < english.length; i++) { |
| 32 | 45 | var des_i = english.length - 1 - i; //倒序排列设值 |
| 46 | + | |
| 33 | 47 | result = arr2[i] + result; |
| 34 | 48 | var arr1_index = english[des_i]; |
| 35 | 49 | result = arr1[arr1_index] + result; |
| 36 | 50 | } |
| 51 | + | |
| 37 | 52 | result = result.replace(/零(千|百|十)/g, '零').replace(/十零/g, '十'); |
| 38 | 53 | result = result.replace(/零+/g, '零'); |
| 39 | 54 | result = result.replace(/零亿/g, '亿').replace(/零万/g, '万'); |
| ... | ... | @@ -42,36 +57,36 @@ function convertToChinaNum(num) { |
| 42 | 57 | result = result.replace(/^一十/g, '十'); |
| 43 | 58 | return result; |
| 44 | 59 | } |
| 60 | + | |
| 45 | 61 | var ListForMobile = function ListForMobile(_ref) { |
| 46 | 62 | var _ref$displayList = _ref.displayList, |
| 47 | - displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 48 | - listData = _ref.listData, | |
| 49 | - changeList = _ref.changeList, | |
| 50 | - schema = _ref.schema, | |
| 51 | - deleteItem = _ref.deleteItem, | |
| 52 | - copyItem = _ref.copyItem, | |
| 53 | - addItem = _ref.addItem, | |
| 54 | - moveItemUp = _ref.moveItemUp, | |
| 55 | - moveItemDown = _ref.moveItemDown, | |
| 56 | - displayType = _ref.displayType, | |
| 57 | - getFieldsProps = _ref.getFieldsProps; | |
| 63 | + displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 64 | + listData = _ref.listData, | |
| 65 | + changeList = _ref.changeList, | |
| 66 | + schema = _ref.schema, | |
| 67 | + deleteItem = _ref.deleteItem, | |
| 68 | + copyItem = _ref.copyItem, | |
| 69 | + addItem = _ref.addItem, | |
| 70 | + moveItemUp = _ref.moveItemUp, | |
| 71 | + moveItemDown = _ref.moveItemDown, | |
| 72 | + displayType = _ref.displayType, | |
| 73 | + getFieldsProps = _ref.getFieldsProps; | |
| 58 | 74 | var _schema$props = schema.props, |
| 59 | - props = _schema$props === void 0 ? {} : _schema$props, | |
| 60 | - itemProps = schema.itemProps; | |
| 61 | - var _useState = useState([]), | |
| 62 | - _useState2 = _slicedToArray(_useState, 2), | |
| 63 | - allKeys = _useState2[0], | |
| 64 | - setKeys = _useState2[1]; | |
| 75 | + props = _schema$props === void 0 ? {} : _schema$props, | |
| 76 | + itemProps = schema.itemProps; | |
| 65 | 77 | |
| 66 | - // let addBtnProps = { | |
| 78 | + var _useState = useState([]), | |
| 79 | + _useState2 = _slicedToArray(_useState, 2), | |
| 80 | + allKeys = _useState2[0], | |
| 81 | + setKeys = _useState2[1]; // let addBtnProps = { | |
| 67 | 82 | // type: 'dashed', |
| 68 | 83 | // children: '新增一条list', |
| 69 | 84 | // }; |
| 70 | - | |
| 71 | 85 | // if (props.addBtnProps && typeof props.addBtnProps === 'object') { |
| 72 | 86 | // addBtnProps = { ...addBtnProps, ...props.addBtnProps }; |
| 73 | 87 | // } |
| 74 | 88 | |
| 89 | + | |
| 75 | 90 | useEffect(function () { |
| 76 | 91 | var _allKeys = []; |
| 77 | 92 | displayList.forEach(function (item, idx) { |
| ... | ... | @@ -81,6 +96,7 @@ var ListForMobile = function ListForMobile(_ref) { |
| 81 | 96 | }); |
| 82 | 97 | setKeys(_allKeys); |
| 83 | 98 | }, [displayList]); |
| 99 | + | |
| 84 | 100 | var getTitle = function getTitle(id) { |
| 85 | 101 | return /*#__PURE__*/React.createElement("div", { |
| 86 | 102 | style: { |
| ... | ... | @@ -105,6 +121,7 @@ var ListForMobile = function ListForMobile(_ref) { |
| 105 | 121 | } |
| 106 | 122 | }))); |
| 107 | 123 | }; |
| 124 | + | |
| 108 | 125 | var handleArrow = function handleArrow(active) { |
| 109 | 126 | if (active) { |
| 110 | 127 | return /*#__PURE__*/React.createElement(_UpOutlined, { |
| ... | ... | @@ -114,6 +131,7 @@ var ListForMobile = function ListForMobile(_ref) { |
| 114 | 131 | return /*#__PURE__*/React.createElement(_DownOutlined, null); |
| 115 | 132 | } |
| 116 | 133 | }; |
| 134 | + | |
| 117 | 135 | return null; |
| 118 | 136 | return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { |
| 119 | 137 | className: "fr-card-list qx-card-mobile" |
| ... | ... | @@ -128,6 +146,7 @@ var ListForMobile = function ListForMobile(_ref) { |
| 128 | 146 | arrow: handleArrow, |
| 129 | 147 | onClick: function onClick() { |
| 130 | 148 | var _active = item._active || false; |
| 149 | + | |
| 131 | 150 | displayList[idx]._active = !_active; |
| 132 | 151 | changeList(_toConsumableArray(displayList)); |
| 133 | 152 | } |
| ... | ... | @@ -148,4 +167,5 @@ var ListForMobile = function ListForMobile(_ref) { |
| 148 | 167 | } |
| 149 | 168 | }), "\u70B9\u51FB\u65B0\u589E\u6570\u636E")); |
| 150 | 169 | }; |
| 170 | + | |
| 151 | 171 | export default ListForMobile; |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -6,34 +6,39 @@ import _CopyOutlined from "@ant-design/icons/es/icons/CopyOutlined"; |
| 6 | 6 | import "antd/es/popconfirm/style"; |
| 7 | 7 | import _Popconfirm from "antd/es/popconfirm"; |
| 8 | 8 | import _DeleteOutlined from "@ant-design/icons/es/icons/DeleteOutlined"; |
| 9 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 10 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 11 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 12 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 13 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 14 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 15 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 9 | + | |
| 10 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 11 | + | |
| 12 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 13 | + | |
| 14 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 15 | + | |
| 16 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 17 | + | |
| 18 | +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | |
| 19 | + | |
| 16 | 20 | import React from 'react'; |
| 17 | 21 | import Core from '../../index'; |
| 22 | + | |
| 18 | 23 | var SimpleList = function SimpleList(_ref) { |
| 19 | 24 | var schema = _ref.schema, |
| 20 | - _ref$displayList = _ref.displayList, | |
| 21 | - displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 22 | - listData = _ref.listData, | |
| 23 | - changeList = _ref.changeList, | |
| 24 | - deleteItem = _ref.deleteItem, | |
| 25 | - addItem = _ref.addItem, | |
| 26 | - copyItem = _ref.copyItem, | |
| 27 | - moveItemUp = _ref.moveItemUp, | |
| 28 | - moveItemDown = _ref.moveItemDown, | |
| 29 | - getFieldsProps = _ref.getFieldsProps; | |
| 25 | + _ref$displayList = _ref.displayList, | |
| 26 | + displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 27 | + listData = _ref.listData, | |
| 28 | + changeList = _ref.changeList, | |
| 29 | + deleteItem = _ref.deleteItem, | |
| 30 | + addItem = _ref.addItem, | |
| 31 | + copyItem = _ref.copyItem, | |
| 32 | + moveItemUp = _ref.moveItemUp, | |
| 33 | + moveItemDown = _ref.moveItemDown, | |
| 34 | + getFieldsProps = _ref.getFieldsProps; | |
| 30 | 35 | var _schema$props = schema.props, |
| 31 | - props = _schema$props === void 0 ? {} : _schema$props, | |
| 32 | - itemProps = schema.itemProps, | |
| 33 | - _schema$min = schema.min, | |
| 34 | - min = _schema$min === void 0 ? 0 : _schema$min, | |
| 35 | - _schema$max = schema.max, | |
| 36 | - max = _schema$max === void 0 ? 99999 : _schema$max; | |
| 36 | + props = _schema$props === void 0 ? {} : _schema$props, | |
| 37 | + itemProps = schema.itemProps, | |
| 38 | + _schema$min = schema.min, | |
| 39 | + min = _schema$min === void 0 ? 0 : _schema$min, | |
| 40 | + _schema$max = schema.max, | |
| 41 | + max = _schema$max === void 0 ? 99999 : _schema$max; | |
| 37 | 42 | var addBtnProps = { |
| 38 | 43 | type: 'dashed', |
| 39 | 44 | children: '新增一条' |
| ... | ... | @@ -43,20 +48,25 @@ var SimpleList = function SimpleList(_ref) { |
| 43 | 48 | okText: '确定', |
| 44 | 49 | cancelText: '取消' |
| 45 | 50 | }; |
| 51 | + | |
| 46 | 52 | if (props.addBtnProps && _typeof(props.addBtnProps) === 'object') { |
| 47 | 53 | addBtnProps = _objectSpread(_objectSpread({}, addBtnProps), props.addBtnProps); |
| 48 | 54 | } |
| 55 | + | |
| 49 | 56 | if (props.delConfirmProps && _typeof(props.delConfirmProps) === 'object') { |
| 50 | 57 | delConfirmProps = _objectSpread(_objectSpread({}, delConfirmProps), props.delConfirmProps); |
| 51 | 58 | } |
| 59 | + | |
| 52 | 60 | return /*#__PURE__*/React.createElement("div", { |
| 53 | 61 | className: "fr-list-1" |
| 54 | 62 | }, displayList.map(function (item, idx) { |
| 55 | 63 | var fieldsProps = getFieldsProps(idx); |
| 56 | 64 | fieldsProps.displayType = 'inline'; |
| 65 | + | |
| 57 | 66 | if (props.hideTitle) { |
| 58 | 67 | fieldsProps.hideTitle = true; |
| 59 | 68 | } |
| 69 | + | |
| 60 | 70 | return /*#__PURE__*/React.createElement("div", { |
| 61 | 71 | key: idx, |
| 62 | 72 | style: { |
| ... | ... | @@ -108,8 +118,9 @@ var SimpleList = function SimpleList(_ref) { |
| 108 | 118 | onClick: addItem |
| 109 | 119 | }, addBtnProps)), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { |
| 110 | 120 | var callback = item.callback, |
| 111 | - text = item.text, | |
| 112 | - html = item.html; | |
| 121 | + text = item.text, | |
| 122 | + html = item.html; | |
| 123 | + | |
| 113 | 124 | var onClick = function onClick() { |
| 114 | 125 | console.log({ |
| 115 | 126 | value: listData, |
| ... | ... | @@ -117,6 +128,7 @@ var SimpleList = function SimpleList(_ref) { |
| 117 | 128 | schema: schema |
| 118 | 129 | }); |
| 119 | 130 | }; |
| 131 | + | |
| 120 | 132 | if (typeof window[callback] === 'function') { |
| 121 | 133 | onClick = function onClick() { |
| 122 | 134 | window[callback]({ |
| ... | ... | @@ -126,6 +138,7 @@ var SimpleList = function SimpleList(_ref) { |
| 126 | 138 | }); |
| 127 | 139 | }; |
| 128 | 140 | } |
| 141 | + | |
| 129 | 142 | return /*#__PURE__*/React.createElement(_Button, { |
| 130 | 143 | key: idx.toString(), |
| 131 | 144 | style: { |
| ... | ... | @@ -140,4 +153,5 @@ var SimpleList = function SimpleList(_ref) { |
| 140 | 153 | })); |
| 141 | 154 | }) : null)); |
| 142 | 155 | }; |
| 156 | + | |
| 143 | 157 | export default SimpleList; |
| \ No newline at end of file | ... | ... |
| 1 | 1 | import "antd/es/tabs/style"; |
| 2 | 2 | import _Tabs from "antd/es/tabs"; |
| 3 | 3 | var _excluded = ["tabName", "type", "draggable"]; |
| 4 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 4 | + | |
| 5 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 6 | + | |
| 5 | 7 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } |
| 8 | + | |
| 6 | 9 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } |
| 10 | + | |
| 7 | 11 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
| 12 | + | |
| 8 | 13 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 14 | + | |
| 9 | 15 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
| 10 | -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | |
| 11 | -function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } | |
| 16 | + | |
| 17 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | |
| 18 | + | |
| 19 | +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | |
| 20 | + | |
| 12 | 21 | function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } |
| 22 | + | |
| 13 | 23 | /* eslint-disable jsx-a11y/anchor-is-valid */ |
| 14 | 24 | import React, { useState, useRef } from 'react'; |
| 15 | 25 | import Core from '../../index'; |
| 16 | 26 | var TabPane = _Tabs.TabPane; |
| 17 | 27 | var dragType = 'DraggableTabNode'; |
| 28 | + | |
| 18 | 29 | var DraggableTabNode = function DraggableTabNode(_ref) { |
| 19 | 30 | var index = _ref.index, |
| 20 | - children = _ref.children, | |
| 21 | - moveNode = _ref.moveNode; | |
| 31 | + children = _ref.children, | |
| 32 | + moveNode = _ref.moveNode; | |
| 22 | 33 | var ref = useRef(null); |
| 34 | + | |
| 23 | 35 | var _useDrop = useDrop({ |
| 24 | - accept: dragType, | |
| 25 | - collect: function collect(monitor) { | |
| 26 | - var _ref2 = monitor.getItem() || {}, | |
| 36 | + accept: dragType, | |
| 37 | + collect: function collect(monitor) { | |
| 38 | + var _ref2 = monitor.getItem() || {}, | |
| 27 | 39 | dragIndex = _ref2.index; |
| 28 | - if (dragIndex === index) { | |
| 29 | - return {}; | |
| 30 | - } | |
| 31 | - return { | |
| 32 | - isOver: monitor.isOver(), | |
| 33 | - dropClassName: 'dropping' | |
| 34 | - }; | |
| 35 | - }, | |
| 36 | - drop: function drop(item) { | |
| 37 | - moveNode(item.index, index); | |
| 40 | + | |
| 41 | + if (dragIndex === index) { | |
| 42 | + return {}; | |
| 38 | 43 | } |
| 39 | - }), | |
| 40 | - _useDrop2 = _slicedToArray(_useDrop, 2), | |
| 41 | - _useDrop2$ = _useDrop2[0], | |
| 42 | - isOver = _useDrop2$.isOver, | |
| 43 | - dropClassName = _useDrop2$.dropClassName, | |
| 44 | - drop = _useDrop2[1]; | |
| 44 | + | |
| 45 | + return { | |
| 46 | + isOver: monitor.isOver(), | |
| 47 | + dropClassName: 'dropping' | |
| 48 | + }; | |
| 49 | + }, | |
| 50 | + drop: function drop(item) { | |
| 51 | + moveNode(item.index, index); | |
| 52 | + } | |
| 53 | + }), | |
| 54 | + _useDrop2 = _slicedToArray(_useDrop, 2), | |
| 55 | + _useDrop2$ = _useDrop2[0], | |
| 56 | + isOver = _useDrop2$.isOver, | |
| 57 | + dropClassName = _useDrop2$.dropClassName, | |
| 58 | + drop = _useDrop2[1]; | |
| 59 | + | |
| 45 | 60 | var _useDrag = useDrag({ |
| 46 | - type: dragType, | |
| 47 | - item: { | |
| 48 | - index: index | |
| 49 | - }, | |
| 50 | - collect: function collect(monitor) { | |
| 51 | - return { | |
| 52 | - isDragging: monitor.isDragging() | |
| 53 | - }; | |
| 54 | - } | |
| 55 | - }), | |
| 56 | - _useDrag2 = _slicedToArray(_useDrag, 2), | |
| 57 | - drag = _useDrag2[1]; | |
| 61 | + type: dragType, | |
| 62 | + item: { | |
| 63 | + index: index | |
| 64 | + }, | |
| 65 | + collect: function collect(monitor) { | |
| 66 | + return { | |
| 67 | + isDragging: monitor.isDragging() | |
| 68 | + }; | |
| 69 | + } | |
| 70 | + }), | |
| 71 | + _useDrag2 = _slicedToArray(_useDrag, 2), | |
| 72 | + drag = _useDrag2[1]; | |
| 73 | + | |
| 58 | 74 | drop(drag(ref)); |
| 59 | 75 | return /*#__PURE__*/React.createElement("div", { |
| 60 | 76 | ref: ref, |
| ... | ... | @@ -64,31 +80,36 @@ var DraggableTabNode = function DraggableTabNode(_ref) { |
| 64 | 80 | className: isOver ? dropClassName : '' |
| 65 | 81 | }, children); |
| 66 | 82 | }; |
| 83 | + | |
| 67 | 84 | var TabList = function TabList(_ref3) { |
| 68 | 85 | var _ref3$displayList = _ref3.displayList, |
| 69 | - displayList = _ref3$displayList === void 0 ? [] : _ref3$displayList, | |
| 70 | - listData = _ref3.listData, | |
| 71 | - changeList = _ref3.changeList, | |
| 72 | - schema = _ref3.schema, | |
| 73 | - deleteItem = _ref3.deleteItem, | |
| 74 | - copyItem = _ref3.copyItem, | |
| 75 | - addItem = _ref3.addItem, | |
| 76 | - moveItemUp = _ref3.moveItemUp, | |
| 77 | - moveItemDown = _ref3.moveItemDown, | |
| 78 | - displayType = _ref3.displayType, | |
| 79 | - getFieldsProps = _ref3.getFieldsProps; | |
| 86 | + displayList = _ref3$displayList === void 0 ? [] : _ref3$displayList, | |
| 87 | + listData = _ref3.listData, | |
| 88 | + changeList = _ref3.changeList, | |
| 89 | + schema = _ref3.schema, | |
| 90 | + deleteItem = _ref3.deleteItem, | |
| 91 | + copyItem = _ref3.copyItem, | |
| 92 | + addItem = _ref3.addItem, | |
| 93 | + moveItemUp = _ref3.moveItemUp, | |
| 94 | + moveItemDown = _ref3.moveItemDown, | |
| 95 | + displayType = _ref3.displayType, | |
| 96 | + getFieldsProps = _ref3.getFieldsProps; | |
| 97 | + | |
| 80 | 98 | var _useState = useState('0'), |
| 81 | - _useState2 = _slicedToArray(_useState, 2), | |
| 82 | - activeKey = _useState2[0], | |
| 83 | - setActiveKey = _useState2[1]; | |
| 99 | + _useState2 = _slicedToArray(_useState, 2), | |
| 100 | + activeKey = _useState2[0], | |
| 101 | + setActiveKey = _useState2[1]; | |
| 102 | + | |
| 84 | 103 | var _schema$props = schema.props, |
| 85 | - props = _schema$props === void 0 ? {} : _schema$props, | |
| 86 | - itemProps = schema.itemProps; | |
| 104 | + props = _schema$props === void 0 ? {} : _schema$props, | |
| 105 | + itemProps = schema.itemProps; | |
| 106 | + | |
| 87 | 107 | var tabName = props.tabName, |
| 88 | - type = props.type, | |
| 89 | - _props$draggable = props.draggable, | |
| 90 | - draggable = _props$draggable === void 0 ? false : _props$draggable, | |
| 91 | - restProps = _objectWithoutProperties(props, _excluded); | |
| 108 | + type = props.type, | |
| 109 | + _props$draggable = props.draggable, | |
| 110 | + draggable = _props$draggable === void 0 ? false : _props$draggable, | |
| 111 | + restProps = _objectWithoutProperties(props, _excluded); | |
| 112 | + | |
| 92 | 113 | var onEdit = function onEdit(targetKey, action) { |
| 93 | 114 | if (action === 'add') { |
| 94 | 115 | var currentKey = addItem(); |
| ... | ... | @@ -99,12 +120,13 @@ var TabList = function TabList(_ref3) { |
| 99 | 120 | } else { |
| 100 | 121 | return null; |
| 101 | 122 | } |
| 102 | - }; | |
| 123 | + }; // 如果tabName传数组是可以「自定义」tab页的名字的。表单联动可以使用formrender的watch 配合 setSchemaByPath | |
| 124 | + | |
| 103 | 125 | |
| 104 | - // 如果tabName传数组是可以「自定义」tab页的名字的。表单联动可以使用formrender的watch 配合 setSchemaByPath | |
| 105 | 126 | var getCurrentTabPaneName = function getCurrentTabPaneName(idx) { |
| 106 | 127 | return tabName instanceof Array ? tabName[idx] || idx + 1 : "".concat(tabName || '项目', " ").concat(idx + 1); |
| 107 | 128 | }; |
| 129 | + | |
| 108 | 130 | return /*#__PURE__*/React.createElement(_Tabs, _extends({ |
| 109 | 131 | type: type || 'line', |
| 110 | 132 | onChange: setActiveKey, |
| ... | ... | @@ -119,4 +141,5 @@ var TabList = function TabList(_ref3) { |
| 119 | 141 | }, /*#__PURE__*/React.createElement(Core, fieldsProps)); |
| 120 | 142 | })); |
| 121 | 143 | }; |
| 144 | + | |
| 122 | 145 | export default TabList; |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -7,48 +7,64 @@ import _ArrowUpOutlined from "@ant-design/icons/es/icons/ArrowUpOutlined"; |
| 7 | 7 | import "antd/es/popconfirm/style"; |
| 8 | 8 | import _Popconfirm from "antd/es/popconfirm"; |
| 9 | 9 | var _excluded = ["buttons"], |
| 10 | - _excluded2 = ["pagination"]; | |
| 11 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 10 | + _excluded2 = ["pagination"]; | |
| 11 | + | |
| 12 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 13 | + | |
| 12 | 14 | function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } |
| 15 | + | |
| 13 | 16 | function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 17 | + | |
| 14 | 18 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
| 19 | + | |
| 15 | 20 | function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } |
| 21 | + | |
| 16 | 22 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } |
| 17 | -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | |
| 18 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 19 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 20 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 21 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 22 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 23 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 23 | + | |
| 24 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | |
| 25 | + | |
| 26 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 27 | + | |
| 28 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 29 | + | |
| 30 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 31 | + | |
| 32 | +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | |
| 33 | + | |
| 24 | 34 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } |
| 35 | + | |
| 25 | 36 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } |
| 37 | + | |
| 26 | 38 | import React from 'react'; |
| 27 | 39 | import Core from '../../index'; |
| 28 | 40 | var FIELD_LENGTH = 170; |
| 41 | + | |
| 29 | 42 | var TableList = function TableList(_ref) { |
| 30 | 43 | var _ref$displayList = _ref.displayList, |
| 31 | - displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 32 | - dataIndex = _ref.dataIndex, | |
| 33 | - children = _ref.children, | |
| 34 | - deleteItem = _ref.deleteItem, | |
| 35 | - copyItem = _ref.copyItem, | |
| 36 | - addItem = _ref.addItem, | |
| 37 | - moveItemUp = _ref.moveItemUp, | |
| 38 | - moveItemDown = _ref.moveItemDown, | |
| 39 | - flatten = _ref.flatten, | |
| 40 | - schema = _ref.schema, | |
| 41 | - listData = _ref.listData, | |
| 42 | - changeList = _ref.changeList; | |
| 44 | + displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 45 | + dataIndex = _ref.dataIndex, | |
| 46 | + children = _ref.children, | |
| 47 | + deleteItem = _ref.deleteItem, | |
| 48 | + copyItem = _ref.copyItem, | |
| 49 | + addItem = _ref.addItem, | |
| 50 | + moveItemUp = _ref.moveItemUp, | |
| 51 | + moveItemDown = _ref.moveItemDown, | |
| 52 | + flatten = _ref.flatten, | |
| 53 | + schema = _ref.schema, | |
| 54 | + listData = _ref.listData, | |
| 55 | + changeList = _ref.changeList; | |
| 43 | 56 | var _schema$props = schema.props, |
| 44 | - props = _schema$props === void 0 ? {} : _schema$props, | |
| 45 | - _schema$itemProps = schema.itemProps, | |
| 46 | - itemProps = _schema$itemProps === void 0 ? {} : _schema$itemProps; | |
| 57 | + props = _schema$props === void 0 ? {} : _schema$props, | |
| 58 | + _schema$itemProps = schema.itemProps, | |
| 59 | + itemProps = _schema$itemProps === void 0 ? {} : _schema$itemProps; | |
| 60 | + | |
| 47 | 61 | var buttons = itemProps.buttons, |
| 48 | - columnProps = _objectWithoutProperties(itemProps, _excluded); | |
| 62 | + columnProps = _objectWithoutProperties(itemProps, _excluded); | |
| 63 | + | |
| 49 | 64 | var _props$pagination = props.pagination, |
| 50 | - pagination = _props$pagination === void 0 ? {} : _props$pagination, | |
| 51 | - rest = _objectWithoutProperties(props, _excluded2); | |
| 65 | + pagination = _props$pagination === void 0 ? {} : _props$pagination, | |
| 66 | + rest = _objectWithoutProperties(props, _excluded2); | |
| 67 | + | |
| 52 | 68 | var actionColumnProps = { |
| 53 | 69 | colHeaderText: '操作', |
| 54 | 70 | copyText: '复制', |
| ... | ... | @@ -64,19 +80,24 @@ var TableList = function TableList(_ref) { |
| 64 | 80 | children: '新增一条', |
| 65 | 81 | size: 'small' |
| 66 | 82 | }; |
| 83 | + | |
| 67 | 84 | if (props.actionColumnProps && _typeof(props.actionColumnProps) === 'object') { |
| 68 | 85 | actionColumnProps = _objectSpread(_objectSpread({}, actionColumnProps), props.actionColumnProps); |
| 69 | 86 | } |
| 87 | + | |
| 70 | 88 | if (props.delConfirmProps && _typeof(props.delConfirmProps) === 'object') { |
| 71 | 89 | delConfirmProps = _objectSpread(_objectSpread({}, delConfirmProps), props.delConfirmProps); |
| 72 | 90 | } |
| 91 | + | |
| 73 | 92 | if (props.addBtnProps && _typeof(props.addBtnProps) === 'object') { |
| 74 | 93 | addBtnProps = _objectSpread(_objectSpread({}, addBtnProps), props.addBtnProps); |
| 75 | 94 | } |
| 95 | + | |
| 76 | 96 | var paginationConfig = pagination && _objectSpread({ |
| 77 | 97 | size: 'small', |
| 78 | 98 | hideOnSinglePage: true |
| 79 | 99 | }, pagination); |
| 100 | + | |
| 80 | 101 | var dataSource = displayList.map(function (item, idx) { |
| 81 | 102 | return { |
| 82 | 103 | index: idx |
| ... | ... | @@ -104,6 +125,7 @@ var TableList = function TableList(_ref) { |
| 104 | 125 | } |
| 105 | 126 | }, columnProps); |
| 106 | 127 | }); |
| 128 | + | |
| 107 | 129 | if (!props.hideDelete || !props.hideAdd || !props.hideCopy || !props.hideMove) { |
| 108 | 130 | columns.push({ |
| 109 | 131 | title: actionColumnProps.colHeaderText, |
| ... | ... | @@ -146,14 +168,16 @@ var TableList = function TableList(_ref) { |
| 146 | 168 | } |
| 147 | 169 | }); |
| 148 | 170 | } |
| 171 | + | |
| 149 | 172 | return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { |
| 150 | 173 | className: "w-100 mb2 tr" |
| 151 | 174 | }, !props.hideAdd && /*#__PURE__*/React.createElement(_Button, _extends({}, addBtnProps, { |
| 152 | 175 | onClick: addItem |
| 153 | 176 | })), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { |
| 154 | 177 | var callback = item.callback, |
| 155 | - text = item.text, | |
| 156 | - html = item.html; | |
| 178 | + text = item.text, | |
| 179 | + html = item.html; | |
| 180 | + | |
| 157 | 181 | var onClick = function onClick() { |
| 158 | 182 | console.log({ |
| 159 | 183 | value: listData, |
| ... | ... | @@ -161,6 +185,7 @@ var TableList = function TableList(_ref) { |
| 161 | 185 | schema: schema |
| 162 | 186 | }); |
| 163 | 187 | }; |
| 188 | + | |
| 164 | 189 | if (typeof window[callback] === 'function') { |
| 165 | 190 | onClick = function onClick() { |
| 166 | 191 | window[callback]({ |
| ... | ... | @@ -170,6 +195,7 @@ var TableList = function TableList(_ref) { |
| 170 | 195 | }); |
| 171 | 196 | }; |
| 172 | 197 | } |
| 198 | + | |
| 173 | 199 | return /*#__PURE__*/React.createElement(_Button, { |
| 174 | 200 | key: idx.toString(), |
| 175 | 201 | style: { |
| ... | ... | @@ -193,4 +219,5 @@ var TableList = function TableList(_ref) { |
| 193 | 219 | pagination: paginationConfig |
| 194 | 220 | }, rest))); |
| 195 | 221 | }; |
| 222 | + | |
| 196 | 223 | export default TableList; |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -10,9 +10,6 @@ import _DownOutlined from "@ant-design/icons/es/icons/DownOutlined"; |
| 10 | 10 | import "antd/es/input/style"; |
| 11 | 11 | import _Input from "antd/es/input"; |
| 12 | 12 | import _SearchOutlined from "@ant-design/icons/es/icons/SearchOutlined"; |
| 13 | -import "antd/es/message/style"; | |
| 14 | -import _message from "antd/es/message"; | |
| 15 | -import _ExclamationCircleOutlined from "@ant-design/icons/es/icons/ExclamationCircleOutlined"; | |
| 16 | 13 | import "antd/es/tooltip/style"; |
| 17 | 14 | import _Tooltip from "antd/es/tooltip"; |
| 18 | 15 | import _InfoCircleOutlined from "@ant-design/icons/es/icons/InfoCircleOutlined"; |
| ... | ... | @@ -20,6 +17,9 @@ import "antd/es/menu/style"; |
| 20 | 17 | import _Menu from "antd/es/menu"; |
| 21 | 18 | import "antd/es/button/style"; |
| 22 | 19 | import _Button from "antd/es/button"; |
| 20 | +import _ExclamationCircleOutlined from "@ant-design/icons/es/icons/ExclamationCircleOutlined"; | |
| 21 | +import "antd/es/message/style"; | |
| 22 | +import _message from "antd/es/message"; | |
| 23 | 23 | import _AlertOutlined from "@ant-design/icons/es/icons/AlertOutlined"; |
| 24 | 24 | import _BarsOutlined from "@ant-design/icons/es/icons/BarsOutlined"; |
| 25 | 25 | import _AppstoreOutlined from "@ant-design/icons/es/icons/AppstoreOutlined"; |
| ... | ... | @@ -45,36 +45,52 @@ import _PlusOutlined from "@ant-design/icons/es/icons/PlusOutlined"; |
| 45 | 45 | import "antd/es/modal/style"; |
| 46 | 46 | import _Modal from "antd/es/modal"; |
| 47 | 47 | var _excluded = ["scrollY", "summary", "batchKey", "type", "bar", "line", "searchKey", "rowSelection", "size", "originWidget"]; |
| 48 | -function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; } | |
| 48 | + | |
| 49 | 49 | function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } |
| 50 | + | |
| 50 | 51 | function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } |
| 51 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 52 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 53 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 54 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 55 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 56 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 52 | + | |
| 53 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 54 | + | |
| 55 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 56 | + | |
| 57 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 58 | + | |
| 59 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 60 | + | |
| 57 | 61 | function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } |
| 62 | + | |
| 58 | 63 | function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 64 | + | |
| 59 | 65 | function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } |
| 66 | + | |
| 60 | 67 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } |
| 61 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 68 | + | |
| 69 | +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | |
| 70 | + | |
| 62 | 71 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
| 72 | + | |
| 63 | 73 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 74 | + | |
| 64 | 75 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
| 65 | -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | |
| 66 | -function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } | |
| 76 | + | |
| 77 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | |
| 78 | + | |
| 79 | +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | |
| 80 | + | |
| 67 | 81 | function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } |
| 82 | + | |
| 68 | 83 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } |
| 84 | + | |
| 69 | 85 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } |
| 86 | + | |
| 70 | 87 | /* eslint-disable jsx-a11y/anchor-is-valid */ |
| 71 | 88 | import React, { useEffect, useMemo, useRef, useState } from 'react'; |
| 72 | 89 | import Core from '../../index'; |
| 73 | -var confirm = _Modal.confirm; | |
| 74 | -// import { isDesignPage } from './utils' | |
| 90 | +var confirm = _Modal.confirm; // import { isDesignPage } from './utils' | |
| 91 | + | |
| 75 | 92 | import * as dd from 'dingtalk-jsapi'; |
| 76 | -import moment from 'moment'; | |
| 77 | -// import {useVT} from 'virtualizedtableforantd4'; | |
| 93 | +import moment from 'moment'; // import {useVT} from 'virtualizedtableforantd4'; | |
| 78 | 94 | |
| 79 | 95 | import QxIcon from './icon'; |
| 80 | 96 | var BUTTON_ICONS_MAP = { |
| ... | ... | @@ -110,86 +126,99 @@ var EXPORT_STATUS = { |
| 110 | 126 | // 失败 |
| 111 | 127 | FAIL: 'error' |
| 112 | 128 | }; |
| 129 | + | |
| 113 | 130 | var VirtualList = function VirtualList(_ref) { |
| 114 | 131 | var _dd$env; |
| 132 | + | |
| 115 | 133 | var _ref$displayList = _ref.displayList, |
| 116 | - displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 117 | - dataIndex = _ref.dataIndex, | |
| 118 | - children = _ref.children, | |
| 119 | - deleteItem = _ref.deleteItem, | |
| 120 | - batchDelete = _ref.batchDelete, | |
| 121 | - addItem = _ref.addItem, | |
| 122 | - moveItemUp = _ref.moveItemUp, | |
| 123 | - moveItemDown = _ref.moveItemDown, | |
| 124 | - flatten = _ref.flatten, | |
| 125 | - schema = _ref.schema, | |
| 126 | - listData = _ref.listData, | |
| 127 | - changeList = _ref.changeList, | |
| 128 | - copyItem = _ref.copyItem, | |
| 129 | - dataPath = _ref.dataPath; | |
| 134 | + displayList = _ref$displayList === void 0 ? [] : _ref$displayList, | |
| 135 | + dataIndex = _ref.dataIndex, | |
| 136 | + children = _ref.children, | |
| 137 | + deleteItem = _ref.deleteItem, | |
| 138 | + batchDelete = _ref.batchDelete, | |
| 139 | + addItem = _ref.addItem, | |
| 140 | + moveItemUp = _ref.moveItemUp, | |
| 141 | + moveItemDown = _ref.moveItemDown, | |
| 142 | + flatten = _ref.flatten, | |
| 143 | + schema = _ref.schema, | |
| 144 | + listData = _ref.listData, | |
| 145 | + changeList = _ref.changeList, | |
| 146 | + copyItem = _ref.copyItem, | |
| 147 | + dataPath = _ref.dataPath; | |
| 130 | 148 | var _schema$props = schema.props, |
| 131 | - props = _schema$props === void 0 ? {} : _schema$props, | |
| 132 | - _schema$itemProps = schema.itemProps, | |
| 133 | - itemProps = _schema$itemProps === void 0 ? {} : _schema$itemProps, | |
| 134 | - fieldName = schema.fieldName, | |
| 135 | - _schema$qxProps = schema.qxProps, | |
| 136 | - qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps, | |
| 137 | - subformMode = schema.subformMode, | |
| 138 | - isReadOnly = schema.isReadOnly, | |
| 139 | - subReadOnly = schema.subReadOnly, | |
| 140 | - isLoading = schema.isLoading, | |
| 141 | - isFullScreen = schema.isFullScreen; | |
| 149 | + props = _schema$props === void 0 ? {} : _schema$props, | |
| 150 | + _schema$itemProps = schema.itemProps, | |
| 151 | + itemProps = _schema$itemProps === void 0 ? {} : _schema$itemProps, | |
| 152 | + fieldName = schema.fieldName, | |
| 153 | + _schema$qxProps = schema.qxProps, | |
| 154 | + qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps, | |
| 155 | + subformMode = schema.subformMode, | |
| 156 | + isReadOnly = schema.isReadOnly, | |
| 157 | + subReadOnly = schema.subReadOnly, | |
| 158 | + isLoading = schema.isLoading, | |
| 159 | + isFullScreen = schema.isFullScreen; | |
| 160 | + | |
| 142 | 161 | var _props$scrollY = props.scrollY, |
| 143 | - scrollY = _props$scrollY === void 0 ? 300 : _props$scrollY, | |
| 144 | - _summary = props.summary, | |
| 145 | - batchKey = props.batchKey, | |
| 146 | - type = props.type, | |
| 147 | - _props$bar = props.bar, | |
| 148 | - bar = _props$bar === void 0 ? {} : _props$bar, | |
| 149 | - _props$line = props.line, | |
| 150 | - line = _props$line === void 0 ? {} : _props$line, | |
| 151 | - searchKey = props.searchKey, | |
| 152 | - rowSelection = props.rowSelection, | |
| 153 | - size = props.size, | |
| 154 | - originWidget = props.originWidget, | |
| 155 | - rest = _objectWithoutProperties(props, _excluded); | |
| 156 | - // const [vt, set_components] = useVT(() => ({scroll: {y: scrollY}}), []); | |
| 162 | + scrollY = _props$scrollY === void 0 ? 300 : _props$scrollY, | |
| 163 | + _summary = props.summary, | |
| 164 | + batchKey = props.batchKey, | |
| 165 | + type = props.type, | |
| 166 | + _props$bar = props.bar, | |
| 167 | + bar = _props$bar === void 0 ? {} : _props$bar, | |
| 168 | + _props$line = props.line, | |
| 169 | + line = _props$line === void 0 ? {} : _props$line, | |
| 170 | + searchKey = props.searchKey, | |
| 171 | + rowSelection = props.rowSelection, | |
| 172 | + size = props.size, | |
| 173 | + originWidget = props.originWidget, | |
| 174 | + rest = _objectWithoutProperties(props, _excluded); // const [vt, set_components] = useVT(() => ({scroll: {y: scrollY}}), []); | |
| 175 | + | |
| 176 | + | |
| 157 | 177 | var _useState = useState(''), |
| 158 | - _useState2 = _slicedToArray(_useState, 2), | |
| 159 | - keyWord = _useState2[0], | |
| 160 | - setKeyWord = _useState2[1]; | |
| 178 | + _useState2 = _slicedToArray(_useState, 2), | |
| 179 | + keyWord = _useState2[0], | |
| 180 | + setKeyWord = _useState2[1]; | |
| 181 | + | |
| 161 | 182 | var _useState3 = useState([]), |
| 162 | - _useState4 = _slicedToArray(_useState3, 2), | |
| 163 | - selectedRowKeys = _useState4[0], | |
| 164 | - setSelectedRowKeys = _useState4[1]; | |
| 183 | + _useState4 = _slicedToArray(_useState3, 2), | |
| 184 | + selectedRowKeys = _useState4[0], | |
| 185 | + setSelectedRowKeys = _useState4[1]; | |
| 186 | + | |
| 165 | 187 | var _useState5 = useState(), |
| 166 | - _useState6 = _slicedToArray(_useState5, 2), | |
| 167 | - exportProgressData = _useState6[0], | |
| 168 | - setProgressData = _useState6[1]; | |
| 188 | + _useState6 = _slicedToArray(_useState5, 2), | |
| 189 | + exportProgressData = _useState6[0], | |
| 190 | + setProgressData = _useState6[1]; | |
| 191 | + | |
| 169 | 192 | var _useState7 = useState(), |
| 170 | - _useState8 = _slicedToArray(_useState7, 2), | |
| 171 | - intervalName = _useState8[0], | |
| 172 | - setIntervalName = _useState8[1]; | |
| 193 | + _useState8 = _slicedToArray(_useState7, 2), | |
| 194 | + intervalName = _useState8[0], | |
| 195 | + setIntervalName = _useState8[1]; | |
| 196 | + | |
| 173 | 197 | var exportTaskId = useRef(''); |
| 198 | + | |
| 174 | 199 | var _useState9 = useState(false), |
| 175 | - _useState10 = _slicedToArray(_useState9, 2), | |
| 176 | - isSubCanEdit = _useState10[0], | |
| 177 | - setSubEdit = _useState10[1]; | |
| 200 | + _useState10 = _slicedToArray(_useState9, 2), | |
| 201 | + isSubCanEdit = _useState10[0], | |
| 202 | + setSubEdit = _useState10[1]; | |
| 203 | + | |
| 178 | 204 | var _useState11 = useState(''), |
| 179 | - _useState12 = _slicedToArray(_useState11, 2), | |
| 180 | - searchName = _useState12[0], | |
| 181 | - setSearchName = _useState12[1]; | |
| 182 | - // const [dataSource, setDataSource] = useState([]); | |
| 205 | + _useState12 = _slicedToArray(_useState11, 2), | |
| 206 | + searchName = _useState12[0], | |
| 207 | + setSearchName = _useState12[1]; // const [dataSource, setDataSource] = useState([]); | |
| 183 | 208 | // const [refresh, setRefresh] = useState('1'); |
| 184 | 209 | // const [authDisplayList, setAuthDisplayList] = useState([]) // 有权限展示的数据 |
| 210 | + | |
| 211 | + | |
| 185 | 212 | var _useState13 = useState(false), |
| 186 | - _useState14 = _slicedToArray(_useState13, 2), | |
| 187 | - loading = _useState14[0], | |
| 188 | - setLoading = _useState14[1]; | |
| 213 | + _useState14 = _slicedToArray(_useState13, 2), | |
| 214 | + loading = _useState14[0], | |
| 215 | + setLoading = _useState14[1]; | |
| 216 | + | |
| 189 | 217 | var mergeFieldsMap = useRef({}); |
| 190 | - var isMergeFieldExist = useRef(false); | |
| 191 | - // const [cloneList, setCloneList] = useState([]); | |
| 218 | + var isMergeFieldExist = useRef(false); // const [cloneList, setCloneList] = useState([]); | |
| 219 | + | |
| 192 | 220 | var isInDing = dd && (dd === null || dd === void 0 ? void 0 : (_dd$env = dd.env) === null || _dd$env === void 0 ? void 0 : _dd$env.platform) !== 'notInDingTalk'; |
| 221 | + | |
| 193 | 222 | if (subReadOnly) { |
| 194 | 223 | Object.keys(flatten).forEach(function (key) { |
| 195 | 224 | if (key.indexOf(schema.$id) === 0 && key.split('.').length > 1) { |
| ... | ... | @@ -197,6 +226,7 @@ var VirtualList = function VirtualList(_ref) { |
| 197 | 226 | } |
| 198 | 227 | }); |
| 199 | 228 | } |
| 229 | + | |
| 200 | 230 | useEffect(function () { |
| 201 | 231 | setLoading(!!isLoading); |
| 202 | 232 | }, [isLoading]); |
| ... | ... | @@ -205,25 +235,29 @@ var VirtualList = function VirtualList(_ref) { |
| 205 | 235 | }, [size]); |
| 206 | 236 | var newRowSelection = useMemo(function () { |
| 207 | 237 | var _bar$buttons; |
| 238 | + | |
| 208 | 239 | // if (schema.isReadOnly) return null |
| 209 | - var _rowSelection = _.cloneDeep(rowSelection); | |
| 210 | - // 根据是否含有批量操作按钮,渲染表格是否可选择 | |
| 240 | + var _rowSelection = _.cloneDeep(rowSelection); // 根据是否含有批量操作按钮,渲染表格是否可选择 | |
| 241 | + | |
| 242 | + | |
| 211 | 243 | var selectable = false; |
| 244 | + | |
| 212 | 245 | if (((_bar$buttons = bar.buttons) === null || _bar$buttons === void 0 ? void 0 : _bar$buttons.findIndex(function (item) { |
| 213 | 246 | return item.code === 'DELETE'; |
| 214 | 247 | })) > -1) { |
| 215 | 248 | selectable = true; |
| 216 | 249 | } |
| 250 | + | |
| 217 | 251 | if (_rowSelection && selectable) { |
| 218 | 252 | _rowSelection.onChange = function (_selectedRowKeys) { |
| 219 | 253 | setSelectedRowKeys(_selectedRowKeys); |
| 220 | 254 | }; |
| 255 | + | |
| 221 | 256 | _rowSelection.selectedRowKeys = selectedRowKeys; |
| 222 | 257 | } |
| 223 | - return _rowSelection; | |
| 224 | - }, [JSON.stringify(bar.buttons), JSON.stringify(rowSelection), JSON.stringify(selectedRowKeys)]); | |
| 225 | 258 | |
| 226 | - // useEffect(() => { | |
| 259 | + return _rowSelection; | |
| 260 | + }, [JSON.stringify(bar.buttons), JSON.stringify(rowSelection), JSON.stringify(selectedRowKeys)]); // useEffect(() => { | |
| 227 | 261 | // const _cloneList = _.cloneDeep(displayList); |
| 228 | 262 | // _cloneList.forEach((item, index) => { |
| 229 | 263 | // if (typeof item === 'object') { |
| ... | ... | @@ -245,38 +279,43 @@ var VirtualList = function VirtualList(_ref) { |
| 245 | 279 | // } else { |
| 246 | 280 | // _displayList = [...cloneList] |
| 247 | 281 | // } |
| 282 | + | |
| 248 | 283 | var cloneList = useMemo(function () { |
| 249 | 284 | //console.log('useMemo cloneList', displayList) |
| 250 | - | |
| 251 | 285 | var _cloneList = _.cloneDeep(displayList); |
| 286 | + | |
| 252 | 287 | _cloneList.forEach(function (item, index) { |
| 253 | 288 | if (_typeof(item) === 'object') { |
| 254 | 289 | item.orginIdx = index; |
| 255 | 290 | } |
| 256 | 291 | }); |
| 292 | + | |
| 257 | 293 | return _cloneList; |
| 258 | - }, [displayList]); | |
| 294 | + }, [displayList]); // 数据变化时,子表汇总值重新计算,并加到主表的formData中 | |
| 259 | 295 | |
| 260 | - // 数据变化时,子表汇总值重新计算,并加到主表的formData中 | |
| 261 | 296 | useEffect(function () { |
| 262 | 297 | var _schema$qxProps2; |
| 298 | + | |
| 263 | 299 | console.log('计算汇总'); |
| 264 | 300 | if (schema.originWidget !== 'subform') return; |
| 265 | 301 | var subKey = schema.fieldName || schema.propertyKey; |
| 266 | 302 | if (!schema._setValueByPath) return; |
| 267 | 303 | (((_schema$qxProps2 = schema.qxProps) === null || _schema$qxProps2 === void 0 ? void 0 : _schema$qxProps2.summary) || []).forEach(function (item) { |
| 268 | 304 | var fx = item.fx, |
| 269 | - relField = item.relField, | |
| 270 | - code = item.code; | |
| 271 | - var key = "".concat(subKey, ":").concat(code, ":").concat(fx); | |
| 272 | - // subKey + '.' + code +; | |
| 305 | + relField = item.relField, | |
| 306 | + code = item.code; | |
| 307 | + var key = "".concat(subKey, ":").concat(code, ":").concat(fx); // subKey + '.' + code +; | |
| 308 | + | |
| 273 | 309 | var values = (displayList || []).map(function (it) { |
| 274 | 310 | return it[relField]; |
| 275 | 311 | }); |
| 312 | + | |
| 276 | 313 | if (!values.length) { |
| 277 | 314 | schema._setValueByPath(key, 'EMPTY'); |
| 315 | + | |
| 278 | 316 | return; |
| 279 | 317 | } |
| 318 | + | |
| 280 | 319 | if (['COUNTUNIQUE', 'COUNTA'].includes(fx)) { |
| 281 | 320 | values.forEach(function (_item, index) { |
| 282 | 321 | if (Array.isArray(_item)) { |
| ... | ... | @@ -284,41 +323,51 @@ var VirtualList = function VirtualList(_ref) { |
| 284 | 323 | } |
| 285 | 324 | }); |
| 286 | 325 | } |
| 326 | + | |
| 287 | 327 | values = values.filter(function (item) { |
| 288 | 328 | return item !== undefined; |
| 289 | 329 | }); |
| 330 | + | |
| 290 | 331 | if (fx === 'MAX' || fx === 'MIN') { |
| 291 | 332 | var widget = ''; |
| 292 | 333 | var keys = Object.keys(flatten || {}); |
| 334 | + | |
| 293 | 335 | for (var i = 0; i < keys.length; i++) { |
| 294 | 336 | if (keys[i].indexOf(relField) > -1) { |
| 295 | 337 | var _flatten$keys$i, _flatten$keys$i$schem; |
| 338 | + | |
| 296 | 339 | var _widget = (_flatten$keys$i = flatten[keys[i]]) === null || _flatten$keys$i === void 0 ? void 0 : (_flatten$keys$i$schem = _flatten$keys$i.schema) === null || _flatten$keys$i$schem === void 0 ? void 0 : _flatten$keys$i$schem.widget; |
| 340 | + | |
| 297 | 341 | if (_widget !== 'qxSummary') { |
| 298 | 342 | widget = _widget; |
| 299 | 343 | break; |
| 300 | 344 | } |
| 301 | 345 | } |
| 302 | 346 | } |
| 347 | + | |
| 303 | 348 | if (['qxDatetime', 'createdAt', 'updatedAt'].includes(widget)) { |
| 304 | 349 | var _moment$fx$toLowerCas; |
| 350 | + | |
| 305 | 351 | values = values.filter(function (it) { |
| 306 | 352 | return it; |
| 307 | 353 | }); // 计算日期的最大最小时,过滤掉空值 |
| 354 | + | |
| 308 | 355 | values.forEach(function (it, index) { |
| 309 | 356 | values[index] = moment(it); |
| 310 | - }); | |
| 311 | - // schema.parentFormData[key] = moment[fx.toLowerCase()](values)?._i || 'EMPTY'; | |
| 357 | + }); // schema.parentFormData[key] = moment[fx.toLowerCase()](values)?._i || 'EMPTY'; | |
| 358 | + | |
| 312 | 359 | schema._setValueByPath(key, ((_moment$fx$toLowerCas = moment[fx.toLowerCase()](values)) === null || _moment$fx$toLowerCas === void 0 ? void 0 : _moment$fx$toLowerCas._i) || 'EMPTY'); |
| 313 | 360 | } else if (widget === 'qxTime') { |
| 314 | 361 | var _moment$fx$toLowerCas2, _moment$fx$toLowerCas3; |
| 362 | + | |
| 315 | 363 | values = values.filter(function (it) { |
| 316 | 364 | return it; |
| 317 | 365 | }); // 计算时间的最大最小时,过滤掉空值 |
| 366 | + | |
| 318 | 367 | values.forEach(function (it, index) { |
| 319 | 368 | values[index] = moment('0001-01-01 ' + it); // 随意拼个年月日返回,计算时替换 |
| 320 | - }); | |
| 321 | - // schema.parentFormData[key] = (moment[fx.toLowerCase()](values)?._i)?.slice(11) || 'EMPTY'; | |
| 369 | + }); // schema.parentFormData[key] = (moment[fx.toLowerCase()](values)?._i)?.slice(11) || 'EMPTY'; | |
| 370 | + | |
| 322 | 371 | schema._setValueByPath(key, ((_moment$fx$toLowerCas2 = moment[fx.toLowerCase()](values)) === null || _moment$fx$toLowerCas2 === void 0 ? void 0 : (_moment$fx$toLowerCas3 = _moment$fx$toLowerCas2._i) === null || _moment$fx$toLowerCas3 === void 0 ? void 0 : _moment$fx$toLowerCas3.slice(11)) || 'EMPTY'); |
| 323 | 372 | } else { |
| 324 | 373 | // schema.parentFormData[key] = window[fx](values); |
| ... | ... | @@ -327,19 +376,20 @@ var VirtualList = function VirtualList(_ref) { |
| 327 | 376 | } else { |
| 328 | 377 | // schema.parentFormData['__SUMMARY_' + subKey][key] = window[fx](values); |
| 329 | 378 | var res = window[fx](values); |
| 379 | + | |
| 330 | 380 | if (String(res).startsWith('Error')) { |
| 331 | 381 | res = null; |
| 332 | 382 | } |
| 383 | + | |
| 333 | 384 | schema._setValueByPath(key, res); |
| 334 | 385 | } |
| 335 | 386 | }); |
| 336 | 387 | }, [JSON.stringify(displayList)]); |
| 388 | + | |
| 337 | 389 | var _displayList = useMemo(function () { |
| 338 | 390 | //console.log('useMemo _displayList', cloneList) |
| 391 | + var _displayList1 = []; // 筛选展示的数据 | |
| 339 | 392 | |
| 340 | - var _displayList1 = []; | |
| 341 | - | |
| 342 | - // 筛选展示的数据 | |
| 343 | 393 | if (props.originWidget === 'relSelector') { |
| 344 | 394 | cloneList.forEach(function (item) { |
| 345 | 395 | if (!item.hasOwnProperty('$auth') || item.$auth) { |
| ... | ... | @@ -349,9 +399,9 @@ var VirtualList = function VirtualList(_ref) { |
| 349 | 399 | } else { |
| 350 | 400 | _displayList1 = _toConsumableArray(cloneList); |
| 351 | 401 | } |
| 402 | + | |
| 352 | 403 | return _displayList1; |
| 353 | - }, [cloneList]); | |
| 354 | - // useEffect(() => { | |
| 404 | + }, [cloneList]); // useEffect(() => { | |
| 355 | 405 | // 筛选展示的数据 |
| 356 | 406 | // if (props.originWidget === 'relSelector') { |
| 357 | 407 | // displayList.forEach((item, index) => { |
| ... | ... | @@ -372,7 +422,6 @@ var VirtualList = function VirtualList(_ref) { |
| 372 | 422 | // } |
| 373 | 423 | // setAuthDisplayList(_displayList) |
| 374 | 424 | // }, [displayList, props.originWidget]) |
| 375 | - | |
| 376 | 425 | // const _displayList = useMemo(() => { |
| 377 | 426 | // let arr = [] |
| 378 | 427 | // const cloneList = _.cloneDeep(displayList) |
| ... | ... | @@ -391,6 +440,7 @@ var VirtualList = function VirtualList(_ref) { |
| 391 | 440 | // return arr |
| 392 | 441 | // }, [displayList]) |
| 393 | 442 | |
| 443 | + | |
| 394 | 444 | var selectedIds = useMemo(function () { |
| 395 | 445 | var _selectedIds = []; |
| 396 | 446 | cloneList.forEach(function (item) { |
| ... | ... | @@ -399,13 +449,13 @@ var VirtualList = function VirtualList(_ref) { |
| 399 | 449 | } |
| 400 | 450 | }); |
| 401 | 451 | return _selectedIds; |
| 402 | - }, [selectedRowKeys, cloneList]); | |
| 452 | + }, [selectedRowKeys, cloneList]); // useEffect(() => { | |
| 403 | 453 | |
| 404 | - // useEffect(() => { | |
| 405 | 454 | var dataSource = useMemo(function () { |
| 406 | 455 | //console.log('useMemo dataSource',dataSource); |
| 407 | 456 | return (keyWord.length ? _displayList.filter(function (item) { |
| 408 | 457 | var _String; |
| 458 | + | |
| 409 | 459 | return ((_String = String(item[searchKey])) === null || _String === void 0 ? void 0 : _String.indexOf(keyWord)) > -1; |
| 410 | 460 | }) : _displayList).map(function (item, idx) { |
| 411 | 461 | return _objectSpread(_objectSpread({}, item), {}, { |
| ... | ... | @@ -413,12 +463,9 @@ var VirtualList = function VirtualList(_ref) { |
| 413 | 463 | orginIdx: item.hasOwnProperty('orginIdx') ? item.orginIdx : null |
| 414 | 464 | }); |
| 415 | 465 | }); |
| 416 | - }, [_displayList, keyWord, searchKey]); | |
| 417 | - | |
| 418 | - // useEffect(() => { | |
| 466 | + }, [_displayList, keyWord, searchKey]); // useEffect(() => { | |
| 419 | 467 | // setRefresh(refresh + '1') |
| 420 | 468 | // }, [JSON.stringify(dataSource)]) |
| 421 | - | |
| 422 | 469 | // setDataSource(_dataSource) |
| 423 | 470 | // }, [keyWord, JSON.stringify(_displayList)]) |
| 424 | 471 | // useEffect(() => { |
| ... | ... | @@ -432,6 +479,7 @@ var VirtualList = function VirtualList(_ref) { |
| 432 | 479 | if (!total) { |
| 433 | 480 | total = 0; |
| 434 | 481 | } |
| 482 | + | |
| 435 | 483 | if (props.originWidget === 'subform' || total === displayList.length) { |
| 436 | 484 | return "\u5171".concat(total, "\u6761\u8BB0\u5F55"); |
| 437 | 485 | } else { |
| ... | ... | @@ -443,6 +491,7 @@ var VirtualList = function VirtualList(_ref) { |
| 443 | 491 | }, "(", displayList.length - total, "\u6761\u4E0D\u53EF\u89C1)")); |
| 444 | 492 | } |
| 445 | 493 | }; |
| 494 | + | |
| 446 | 495 | var pagination = useMemo(function () { |
| 447 | 496 | // console.log('useMemo pagination', dataSource?.length, props.limit) |
| 448 | 497 | return { |
| ... | ... | @@ -453,13 +502,14 @@ var VirtualList = function VirtualList(_ref) { |
| 453 | 502 | return handleTotal(total); |
| 454 | 503 | }, |
| 455 | 504 | defaultCurrent: 1, |
| 456 | - size: size || 'small' | |
| 457 | - // hideOnSinglePage: true | |
| 505 | + size: size || 'small' // hideOnSinglePage: true | |
| 506 | + | |
| 458 | 507 | }; |
| 459 | 508 | }, [dataSource === null || dataSource === void 0 ? void 0 : dataSource.length, props.limit]); |
| 460 | 509 | var barButtons = useMemo(function () { |
| 461 | 510 | // console.log('useMemo barButtons', schema.isReadOnly, bar.buttons, originWidget, type, subReadOnly) |
| 462 | 511 | var _barButtons = _.cloneDeep(bar.buttons || []); |
| 512 | + | |
| 463 | 513 | if (schema.isReadOnly) { |
| 464 | 514 | // 关联表只读 |
| 465 | 515 | // return _barButtons.filter(item => item.code === 'EXPORT') |
| ... | ... | @@ -468,27 +518,32 @@ var VirtualList = function VirtualList(_ref) { |
| 468 | 518 | return _barButtons.filter(function (item) { |
| 469 | 519 | return item.code === 'EXPORT'; |
| 470 | 520 | }); |
| 471 | - } | |
| 472 | - // 关联表的导入,先隐藏 TODO | |
| 521 | + } // 关联表的导入,先隐藏 TODO | |
| 522 | + | |
| 523 | + | |
| 473 | 524 | if (props.originWidget === 'relSelector') { |
| 474 | 525 | ['IMPORT'].forEach(function (code) { |
| 475 | 526 | var _index = _barButtons.findIndex(function (item) { |
| 476 | 527 | return item.code === code; |
| 477 | 528 | }); |
| 529 | + | |
| 478 | 530 | if (_index > -1) { |
| 479 | 531 | _barButtons.splice(_index, 1); |
| 480 | 532 | } |
| 481 | 533 | }); |
| 482 | - } | |
| 483 | - // 子表默认可以新增,删掉ADD按钮 | |
| 534 | + } // 子表默认可以新增,删掉ADD按钮 | |
| 535 | + | |
| 536 | + | |
| 484 | 537 | if (props.originWidget === 'subform') { |
| 485 | 538 | var _index = _barButtons.findIndex(function (item) { |
| 486 | 539 | return item.code === 'ADD'; |
| 487 | 540 | }); |
| 541 | + | |
| 488 | 542 | if (_index > -1) { |
| 489 | 543 | _barButtons.splice(_index, 1); |
| 490 | 544 | } |
| 491 | 545 | } |
| 546 | + | |
| 492 | 547 | if (batchKey && type !== 'view') { |
| 493 | 548 | _barButtons.push({ |
| 494 | 549 | code: 'BATCH_ADD', |
| ... | ... | @@ -497,6 +552,7 @@ var VirtualList = function VirtualList(_ref) { |
| 497 | 552 | name: '批量新增' |
| 498 | 553 | }); |
| 499 | 554 | } |
| 555 | + | |
| 500 | 556 | if (props.originWidget === 'relSelector' && subformMode && type === 'edit') { |
| 501 | 557 | _barButtons.unshift({ |
| 502 | 558 | code: 'subformEdit', |
| ... | ... | @@ -505,19 +561,24 @@ var VirtualList = function VirtualList(_ref) { |
| 505 | 561 | action: 'SYS', |
| 506 | 562 | name: '表格编辑' |
| 507 | 563 | }); |
| 508 | - } | |
| 509 | - // 选择位置提前 | |
| 564 | + } // 选择位置提前 | |
| 565 | + | |
| 566 | + | |
| 510 | 567 | ['SELECT'].forEach(function (code) { |
| 511 | 568 | var _index = _barButtons.findIndex(function (item) { |
| 512 | 569 | return item.code === code; |
| 513 | 570 | }); |
| 571 | + | |
| 514 | 572 | if (_index > -1) { |
| 515 | 573 | var btn = _barButtons.splice(_index, 1); |
| 574 | + | |
| 516 | 575 | _barButtons.unshift.apply(_barButtons, _toConsumableArray(btn)); |
| 517 | 576 | } |
| 518 | 577 | }); |
| 578 | + | |
| 519 | 579 | if (type === 'add') { |
| 520 | 580 | var addBtns = ['SELECT', 'IMPORT', 'ADD', 'BATCH_ADD']; |
| 581 | + | |
| 521 | 582 | if (props.originWidget === 'subform') { |
| 522 | 583 | addBtns.push('DELETE'); |
| 523 | 584 | return _barButtons.filter(function (item) { |
| ... | ... | @@ -529,19 +590,84 @@ var VirtualList = function VirtualList(_ref) { |
| 529 | 590 | return item.code === 'EXPORT'; |
| 530 | 591 | }); |
| 531 | 592 | } |
| 593 | + | |
| 532 | 594 | return _barButtons; |
| 533 | 595 | }, [schema.isReadOnly, bar.buttons, originWidget, type, subReadOnly]); |
| 596 | + | |
| 597 | + var barBtnClick = function barBtnClick(code, needConfirm, confirmContent, action, item) { | |
| 598 | + setSelectedRowKeys([]); | |
| 599 | + | |
| 600 | + if (needConfirm && confirmContent) { | |
| 601 | + if (!selectedRowKeys.length) { | |
| 602 | + return _message.warning('请选择数据'); | |
| 603 | + } | |
| 604 | + | |
| 605 | + confirm({ | |
| 606 | + title: confirmContent, | |
| 607 | + icon: /*#__PURE__*/React.createElement(_ExclamationCircleOutlined, null), | |
| 608 | + okText: '确认', | |
| 609 | + okType: 'danger', | |
| 610 | + cancelText: '取消', | |
| 611 | + onOk: function onOk() { | |
| 612 | + if (code === 'DELETE') { | |
| 613 | + if (props.originWidget === 'subform') { | |
| 614 | + batchDelete(selectedRowKeys); | |
| 615 | + setSelectedRowKeys([]); | |
| 616 | + } else { | |
| 617 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | |
| 618 | + } | |
| 619 | + } else if (code === 'EXPORT') { | |
| 620 | + handleExport(); | |
| 621 | + } else if (code === 'SELECT') { | |
| 622 | + props.openRelSelect(schema.$id); | |
| 623 | + } else if (code === 'ADD') { | |
| 624 | + props.handleRelAdd(schema.$id); | |
| 625 | + } else if (code === 'subformEdit') { | |
| 626 | + props.handleBatchEdit(fieldName, schema.$id, selectedIds); | |
| 627 | + } else if (action === 'CUSTOM') { | |
| 628 | + props.handleCustom(item, selectedIds, schema.$id); | |
| 629 | + } else { | |
| 630 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | |
| 631 | + } | |
| 632 | + }, | |
| 633 | + onCancel: function onCancel() {} | |
| 634 | + }); | |
| 635 | + } else { | |
| 636 | + if (code === 'DELETE') { | |
| 637 | + if (props.originWidget === 'subform') { | |
| 638 | + batchDelete(selectedRowKeys); | |
| 639 | + setSelectedRowKeys([]); | |
| 640 | + } else { | |
| 641 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | |
| 642 | + } | |
| 643 | + } else if (code === 'EXPORT') { | |
| 644 | + handleExport(); | |
| 645 | + } else if (code === 'SELECT') { | |
| 646 | + props.openRelSelect(schema.$id); | |
| 647 | + } else if (code === 'ADD') { | |
| 648 | + props.handleRelAdd(schema.$id); | |
| 649 | + } else if (code === 'subformEdit') { | |
| 650 | + props.handleBatchEdit(fieldName, schema.$id, selectedIds); | |
| 651 | + } else if (action === 'CUSTOM') { | |
| 652 | + props.handleCustom(item, selectedIds, schema.$id); | |
| 653 | + } else { | |
| 654 | + props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | |
| 655 | + } | |
| 656 | + } | |
| 657 | + }; | |
| 658 | + | |
| 534 | 659 | var moreButtons = useMemo(function () { |
| 535 | 660 | var _barButtons = _.cloneDeep(barButtons); |
| 661 | + | |
| 536 | 662 | return /*#__PURE__*/React.createElement(_Menu, null, _barButtons.slice(3).filter(function (item) { |
| 537 | 663 | return isInDing ? !['EXPORT', 'IMPORT'].includes(item.code) : true; |
| 538 | 664 | }).map(function (item) { |
| 539 | 665 | var name = item.name, |
| 540 | - code = item.code, | |
| 541 | - needConfirm = item.needConfirm, | |
| 542 | - confirmContent = item.confirmContent, | |
| 543 | - icon = item.icon, | |
| 544 | - action = item.action; | |
| 666 | + code = item.code, | |
| 667 | + needConfirm = item.needConfirm, | |
| 668 | + confirmContent = item.confirmContent, | |
| 669 | + icon = item.icon, | |
| 670 | + action = item.action; | |
| 545 | 671 | return /*#__PURE__*/React.createElement(_Menu.Item, null, /*#__PURE__*/React.createElement(_Button, _extends({ |
| 546 | 672 | key: code, |
| 547 | 673 | style: { |
| ... | ... | @@ -567,9 +693,11 @@ var VirtualList = function VirtualList(_ref) { |
| 567 | 693 | } |
| 568 | 694 | }), name)); |
| 569 | 695 | })); |
| 570 | - }, [barButtons, barBtnClick]); | |
| 696 | + }, [barButtons, barBtnClick, selectedRowKeys]); | |
| 697 | + | |
| 571 | 698 | var handleColumn = function handleColumn(schema, child, index) { |
| 572 | 699 | var _schema$props2; |
| 700 | + | |
| 573 | 701 | if (props.editable && props.originWidget === 'subform') { |
| 574 | 702 | if (isSubCanEdit && !['relField', 'qxFormula'].includes(schema.widget)) { |
| 575 | 703 | schema.readOnly = false; |
| ... | ... | @@ -577,17 +705,22 @@ var VirtualList = function VirtualList(_ref) { |
| 577 | 705 | schema.readOnly = true; |
| 578 | 706 | } |
| 579 | 707 | } |
| 708 | + | |
| 580 | 709 | if (schema.fieldName === searchKey) { |
| 581 | 710 | setSearchName(schema.title); |
| 582 | 711 | } |
| 712 | + | |
| 583 | 713 | var tip = schema.description ? /*#__PURE__*/React.createElement("span", { |
| 584 | 714 | className: 'qx-column_desc' |
| 585 | 715 | }, /*#__PURE__*/React.createElement(_Tooltip, { |
| 586 | 716 | title: schema.description |
| 587 | 717 | }, /*#__PURE__*/React.createElement(_InfoCircleOutlined, null))) : null; |
| 588 | 718 | var column = ((_schema$props2 = schema.props) === null || _schema$props2 === void 0 ? void 0 : _schema$props2.column) || {}; |
| 719 | + | |
| 589 | 720 | var _dataIndex = child.indexOf(dataPath) === -1 ? dataPath + '[].' + child : child; |
| 721 | + | |
| 590 | 722 | var _width = parseInt(column.width); |
| 723 | + | |
| 591 | 724 | return { |
| 592 | 725 | dataIndex: _dataIndex, |
| 593 | 726 | width: (column.width && _width ? _width : FIELD_LENGTH) + padding, |
| ... | ... | @@ -615,8 +748,8 @@ var VirtualList = function VirtualList(_ref) { |
| 615 | 748 | key: index.toString(), |
| 616 | 749 | id: _dataIndex, |
| 617 | 750 | dataIndex: childIndex, |
| 618 | - _item: flatten[_dataIndex] ? null : getItemSchema(_dataIndex) | |
| 619 | - // subReadOnly={subReadOnly} | |
| 751 | + _item: flatten[_dataIndex] ? null : getItemSchema(_dataIndex) // subReadOnly={subReadOnly} | |
| 752 | + | |
| 620 | 753 | }); |
| 621 | 754 | } |
| 622 | 755 | }; |
| ... | ... | @@ -624,6 +757,7 @@ var VirtualList = function VirtualList(_ref) { |
| 624 | 757 | |
| 625 | 758 | var getItemSchema = function getItemSchema(id) { |
| 626 | 759 | var _item; |
| 760 | + | |
| 627 | 761 | Object.keys(mergeFieldsMap.current || {}).forEach(function (key) { |
| 628 | 762 | if (id.indexOf(key) > -1) { |
| 629 | 763 | _item = mergeFieldsMap.current[key]; |
| ... | ... | @@ -631,6 +765,7 @@ var VirtualList = function VirtualList(_ref) { |
| 631 | 765 | }); |
| 632 | 766 | return _item; |
| 633 | 767 | }; |
| 768 | + | |
| 634 | 769 | var handleMergeField = function handleMergeField(schema) { |
| 635 | 770 | // const column = schema.props?.column || {}; |
| 636 | 771 | var _props = schema.props; |
| ... | ... | @@ -640,12 +775,15 @@ var VirtualList = function VirtualList(_ref) { |
| 640 | 775 | dataIndex: _props.dataIndex, |
| 641 | 776 | children: Object.keys(schema.children).map(function (key) { |
| 642 | 777 | var _schema$children$key, _schema$children$key2; |
| 778 | + | |
| 643 | 779 | if (key.indexOf('_merge_field') > -1 && Object.keys((_schema$children$key = schema.children[key]) === null || _schema$children$key === void 0 ? void 0 : _schema$children$key.children).length === 1 && ((_schema$children$key2 = schema.children[key]) === null || _schema$children$key2 === void 0 ? void 0 : _schema$children$key2.children.hidden)) { |
| 644 | 780 | return { |
| 645 | 781 | show: false |
| 646 | 782 | }; |
| 647 | 783 | } |
| 784 | + | |
| 648 | 785 | var isMergeField = key.indexOf('_merge_field') > -1 && Object.keys(schema.children[key].children || {}).length; |
| 786 | + | |
| 649 | 787 | if (isMergeField) { |
| 650 | 788 | return handleMergeField(schema.children[key]); |
| 651 | 789 | } else { |
| ... | ... | @@ -654,16 +792,22 @@ var VirtualList = function VirtualList(_ref) { |
| 654 | 792 | }) |
| 655 | 793 | }; |
| 656 | 794 | }; |
| 795 | + | |
| 657 | 796 | var getMergeMap = function getMergeMap() { |
| 658 | 797 | var _map = {}; |
| 659 | 798 | Object.keys(flatten).forEach(function (key) { |
| 660 | 799 | var _schema$schema; |
| 800 | + | |
| 661 | 801 | var _schema = flatten[key]; |
| 802 | + | |
| 662 | 803 | var _children = (_schema === null || _schema === void 0 ? void 0 : (_schema$schema = _schema.schema) === null || _schema$schema === void 0 ? void 0 : _schema$schema.children) || {}; |
| 804 | + | |
| 663 | 805 | if (key.indexOf('_merge_field') > -1 && Object.keys(_children).length) { |
| 664 | 806 | Object.keys(_children).forEach(function (item) { |
| 665 | 807 | var _schema1 = _children[item]; |
| 808 | + | |
| 666 | 809 | var _children1 = _schema1.children || {}; |
| 810 | + | |
| 667 | 811 | if (item.indexOf('_merge_field') > -1 && Object.keys(_children1).length) { |
| 668 | 812 | Object.keys(_children1).forEach(function (it) { |
| 669 | 813 | _map[it] = { |
| ... | ... | @@ -680,23 +824,30 @@ var VirtualList = function VirtualList(_ref) { |
| 680 | 824 | }); |
| 681 | 825 | return _map; |
| 682 | 826 | }; |
| 827 | + | |
| 683 | 828 | var columns = useMemo(function () { |
| 684 | 829 | var _line_buttons2; |
| 685 | - //console.log('useMemo columns', isSubCanEdit, subReadOnly, JSON.stringify(line.buttons)) | |
| 686 | 830 | |
| 831 | + //console.log('useMemo columns', isSubCanEdit, subReadOnly, JSON.stringify(line.buttons)) | |
| 687 | 832 | mergeFieldsMap.current = getMergeMap(); |
| 688 | 833 | isMergeFieldExist.current = false; |
| 834 | + | |
| 689 | 835 | var _line_buttons = _.cloneDeep(line.buttons); |
| 836 | + | |
| 690 | 837 | var _columns = (children || []).map(function (child, index) { |
| 691 | 838 | var _schema$children; |
| 839 | + | |
| 692 | 840 | var item = flatten[child]; |
| 693 | 841 | var schema = item && item.schema || {}; |
| 842 | + | |
| 694 | 843 | if (child.indexOf('_merge_field') > -1 && (((_schema$children = schema.children) === null || _schema$children === void 0 ? void 0 : _schema$children.hidden) || !Object.keys(schema.children || {}).length)) { |
| 695 | 844 | return { |
| 696 | 845 | show: false |
| 697 | 846 | }; |
| 698 | 847 | } |
| 848 | + | |
| 699 | 849 | var isMergeField = child.indexOf('_merge_field') > -1 && Object.keys(schema.children || {}).length; |
| 850 | + | |
| 700 | 851 | if (isMergeField) { |
| 701 | 852 | isMergeFieldExist.current = true; |
| 702 | 853 | return handleMergeField(schema, index); |
| ... | ... | @@ -704,30 +855,34 @@ var VirtualList = function VirtualList(_ref) { |
| 704 | 855 | return handleColumn(schema, child, index); |
| 705 | 856 | } |
| 706 | 857 | }); |
| 858 | + | |
| 707 | 859 | _columns = _columns.filter(function (item) { |
| 708 | 860 | return Object.keys(item).length !== 1 && (!item.hidden || item.show); |
| 709 | 861 | }); |
| 862 | + | |
| 710 | 863 | if (((_line_buttons2 = _line_buttons) === null || _line_buttons2 === void 0 ? void 0 : _line_buttons2.length) || Array.isArray(itemProps.buttons)) { |
| 711 | 864 | var top = line.top, |
| 712 | - _line$style = line.style, | |
| 713 | - style = _line$style === void 0 ? 'ICON' : _line$style, | |
| 714 | - fixed = line.fixed; | |
| 865 | + _line$style = line.style, | |
| 866 | + style = _line$style === void 0 ? 'ICON' : _line$style, | |
| 867 | + fixed = line.fixed; | |
| 868 | + | |
| 715 | 869 | if (type === 'add') { |
| 716 | 870 | if (props.originWidget === 'subform') { |
| 717 | 871 | _line_buttons = _line_buttons.filter(function (item) { |
| 718 | 872 | return item.code === 'DELETE'; |
| 719 | 873 | }); |
| 720 | - } | |
| 721 | - // 关联记录放开所有行按钮关联XQ230328006 | |
| 874 | + } // 关联记录放开所有行按钮关联XQ230328006 | |
| 722 | 875 | // else if (props.originWidget === 'relSelector') { |
| 723 | 876 | // // jbl ERP需求,新增时放开编辑按钮 |
| 724 | 877 | // _line_buttons = _line_buttons.filter(item => ['REMOVE', 'EDIT'].includes(item.code)) |
| 725 | 878 | // } |
| 879 | + | |
| 726 | 880 | } else if ((type === 'view' || isReadOnly) && originWidget === 'relSelector') { |
| 727 | 881 | _line_buttons = _line_buttons.filter(function (item) { |
| 728 | 882 | return item.code === 'VIEW'; |
| 729 | 883 | }); |
| 730 | 884 | } |
| 885 | + | |
| 731 | 886 | var len = (_line_buttons || []).length; |
| 732 | 887 | var action = subReadOnly || isReadOnly && originWidget === 'subform' ? {} : { |
| 733 | 888 | title: '操作', |
| ... | ... | @@ -738,9 +893,11 @@ var VirtualList = function VirtualList(_ref) { |
| 738 | 893 | render: function render(value, record, idx) { |
| 739 | 894 | return /*#__PURE__*/React.createElement(React.Fragment, null, Array.isArray(itemProps.buttons) ? itemProps.buttons.map(function (item, idx) { |
| 740 | 895 | var callback = item.callback, |
| 741 | - text = item.text, | |
| 742 | - html = item.html; | |
| 896 | + text = item.text, | |
| 897 | + html = item.html; | |
| 898 | + | |
| 743 | 899 | var onClick = function onClick() {}; |
| 900 | + | |
| 744 | 901 | if (typeof window[callback] === 'function') { |
| 745 | 902 | onClick = function onClick() { |
| 746 | 903 | window[callback]({ |
| ... | ... | @@ -750,6 +907,7 @@ var VirtualList = function VirtualList(_ref) { |
| 750 | 907 | }); |
| 751 | 908 | }; |
| 752 | 909 | } |
| 910 | + | |
| 753 | 911 | return /*#__PURE__*/React.createElement("a", { |
| 754 | 912 | key: idx.toString(), |
| 755 | 913 | style: { |
| ... | ... | @@ -763,14 +921,14 @@ var VirtualList = function VirtualList(_ref) { |
| 763 | 921 | })); |
| 764 | 922 | }) : null, Array.isArray(_line_buttons) ? _line_buttons.map(function (item) { |
| 765 | 923 | var name = item.name, |
| 766 | - code = item.code, | |
| 767 | - needConfirm = item.needConfirm, | |
| 768 | - confirmContent = item.confirmContent, | |
| 769 | - icon = item.icon; | |
| 770 | - var display = handleState(record, code, props.originWidget); | |
| 771 | - // if (display === '') { | |
| 924 | + code = item.code, | |
| 925 | + needConfirm = item.needConfirm, | |
| 926 | + confirmContent = item.confirmContent, | |
| 927 | + icon = item.icon; | |
| 928 | + var display = handleState(record, code, props.originWidget); // if (display === '') { | |
| 772 | 929 | // btnMap[code] = '' |
| 773 | 930 | // } |
| 931 | + | |
| 774 | 932 | return /*#__PURE__*/React.createElement(_Tooltip, { |
| 775 | 933 | title: name |
| 776 | 934 | }, /*#__PURE__*/React.createElement(_Button, _extends({ |
| ... | ... | @@ -794,8 +952,7 @@ var VirtualList = function VirtualList(_ref) { |
| 794 | 952 | type: String(icon) |
| 795 | 953 | }) : BUTTON_ICONS_MAP[icon + ''] : null, |
| 796 | 954 | type: 'link', |
| 797 | - size: 'small' | |
| 798 | - // disabled={props.originWidget === 'subform' ? false : handleAuth(record, code)} | |
| 955 | + size: 'small' // disabled={props.originWidget === 'subform' ? false : handleAuth(record, code)} | |
| 799 | 956 | , |
| 800 | 957 | onClick: function onClick() { |
| 801 | 958 | // 已有数据进行操作时才二次提示 |
| ... | ... | @@ -837,12 +994,12 @@ var VirtualList = function VirtualList(_ref) { |
| 837 | 994 | } |
| 838 | 995 | } |
| 839 | 996 | } |
| 840 | - }), style !== 'ICON' || !icon ? name : null)); | |
| 841 | - // } | |
| 997 | + }), style !== 'ICON' || !icon ? name : null)); // } | |
| 842 | 998 | }) : null); |
| 843 | 999 | } |
| 844 | 1000 | }; |
| 845 | 1001 | var actionLength = 0; |
| 1002 | + | |
| 846 | 1003 | _line_buttons.forEach(function (item) { |
| 847 | 1004 | if (props.originWidget === 'subform' || style === 'ICON' && item.icon) { |
| 848 | 1005 | actionLength += 32; |
| ... | ... | @@ -857,7 +1014,9 @@ var VirtualList = function VirtualList(_ref) { |
| 857 | 1014 | div.remove(); |
| 858 | 1015 | } |
| 859 | 1016 | }); |
| 1017 | + | |
| 860 | 1018 | action.width = actionLength + padding * 2 - 8; |
| 1019 | + | |
| 861 | 1020 | if ((_columns || []).findIndex(function (item) { |
| 862 | 1021 | return item.key === '$action'; |
| 863 | 1022 | }) === -1 && len > 0 && action.title) { |
| ... | ... | @@ -868,73 +1027,91 @@ var VirtualList = function VirtualList(_ref) { |
| 868 | 1027 | } |
| 869 | 1028 | } |
| 870 | 1029 | } |
| 1030 | + | |
| 871 | 1031 | return _columns; |
| 872 | 1032 | }, [isSubCanEdit, subReadOnly, JSON.stringify(line.buttons), deleteItem]); |
| 1033 | + | |
| 873 | 1034 | var handleAuth = function handleAuth(record, code) { |
| 874 | 1035 | switch (code) { |
| 875 | 1036 | case 'VIEW': |
| 876 | 1037 | return !record.VIEW_flag_; |
| 1038 | + | |
| 877 | 1039 | case 'DELETE': |
| 878 | 1040 | return !record.DELETE_flag_; |
| 1041 | + | |
| 879 | 1042 | case 'EDIT': |
| 880 | 1043 | return !record.EDIT_flag_; |
| 881 | 1044 | } |
| 882 | 1045 | }; |
| 1046 | + | |
| 883 | 1047 | var handleState = function handleState(record, code, originWidget) { |
| 884 | 1048 | if (originWidget === 'subform') { |
| 885 | 1049 | if (code === 'COPY' && !record.id) { |
| 886 | 1050 | return 'none'; |
| 887 | 1051 | } |
| 1052 | + | |
| 888 | 1053 | return ''; |
| 889 | 1054 | } else { |
| 890 | 1055 | switch (code) { |
| 891 | 1056 | case 'VIEW': |
| 892 | 1057 | return record.VIEW_flag_ === true ? '' : 'none'; |
| 1058 | + | |
| 893 | 1059 | case 'DELETE': |
| 894 | 1060 | return record.DELETE_flag_ === true ? '' : 'none'; |
| 1061 | + | |
| 895 | 1062 | case 'EDIT': |
| 896 | 1063 | return record.EDIT_flag_ === true ? '' : 'none'; |
| 1064 | + | |
| 897 | 1065 | case 'REMOVE': |
| 898 | 1066 | return ''; |
| 1067 | + | |
| 899 | 1068 | default: |
| 900 | 1069 | return record[code + '_flag_'] ? '' : 'none'; |
| 901 | 1070 | } |
| 902 | 1071 | } |
| 903 | 1072 | }; |
| 1073 | + | |
| 904 | 1074 | var handleExport = /*#__PURE__*/function () { |
| 905 | - var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() { | |
| 1075 | + var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { | |
| 906 | 1076 | var queryParams, currentAppCode, currentFunCode, appCode, funCode, fieldName, result; |
| 907 | - return _regeneratorRuntime().wrap(function _callee$(_context) { | |
| 908 | - while (1) switch (_context.prev = _context.next) { | |
| 909 | - case 0: | |
| 910 | - setProgressData({ | |
| 911 | - "percent": 0, | |
| 912 | - "status": "PROCESSING" | |
| 913 | - }); | |
| 914 | - queryParams = _defineProperty({ | |
| 915 | - dataId: props.dataId | |
| 916 | - }, searchKey, keyWord); | |
| 917 | - currentAppCode = qxProps.currentAppCode, currentFunCode = qxProps.currentFunCode, appCode = qxProps.appCode, funCode = qxProps.funCode, fieldName = qxProps.fieldName; | |
| 918 | - _context.next = 5; | |
| 919 | - return props.exportChild(props.originWidget === 'subform' ? appCode : currentAppCode, props.originWidget === 'subform' ? funCode : currentFunCode, fieldName, queryParams); | |
| 920 | - case 5: | |
| 921 | - result = _context.sent; | |
| 922 | - exportTaskId.current = result.taskId || ''; | |
| 923 | - if (result.downloadUrl) { | |
| 924 | - setTimeout(function () { | |
| 925 | - exportData(result.taskId); | |
| 926 | - }, 5000); | |
| 927 | - } | |
| 928 | - case 8: | |
| 929 | - case "end": | |
| 930 | - return _context.stop(); | |
| 1077 | + return regeneratorRuntime.wrap(function _callee$(_context) { | |
| 1078 | + while (1) { | |
| 1079 | + switch (_context.prev = _context.next) { | |
| 1080 | + case 0: | |
| 1081 | + setProgressData({ | |
| 1082 | + "percent": 0, | |
| 1083 | + "status": "PROCESSING" | |
| 1084 | + }); | |
| 1085 | + queryParams = _defineProperty({ | |
| 1086 | + dataId: props.dataId | |
| 1087 | + }, searchKey, keyWord); | |
| 1088 | + currentAppCode = qxProps.currentAppCode, currentFunCode = qxProps.currentFunCode, appCode = qxProps.appCode, funCode = qxProps.funCode, fieldName = qxProps.fieldName; | |
| 1089 | + _context.next = 5; | |
| 1090 | + return props.exportChild(props.originWidget === 'subform' ? appCode : currentAppCode, props.originWidget === 'subform' ? funCode : currentFunCode, fieldName, queryParams); | |
| 1091 | + | |
| 1092 | + case 5: | |
| 1093 | + result = _context.sent; | |
| 1094 | + exportTaskId.current = result.taskId || ''; | |
| 1095 | + | |
| 1096 | + if (result.downloadUrl) { | |
| 1097 | + setTimeout(function () { | |
| 1098 | + exportData(result.taskId); | |
| 1099 | + }, 5000); | |
| 1100 | + } | |
| 1101 | + | |
| 1102 | + case 8: | |
| 1103 | + case "end": | |
| 1104 | + return _context.stop(); | |
| 1105 | + } | |
| 931 | 1106 | } |
| 932 | 1107 | }, _callee); |
| 933 | 1108 | })); |
| 1109 | + | |
| 934 | 1110 | return function handleExport() { |
| 935 | 1111 | return _ref2.apply(this, arguments); |
| 936 | 1112 | }; |
| 937 | 1113 | }(); |
| 1114 | + | |
| 938 | 1115 | var exportData = function exportData(taskId) { |
| 939 | 1116 | // const {appCode, funCode, viewCode} = qxProps |
| 940 | 1117 | // taskType: UPLOAD || EXPORT |
| ... | ... | @@ -943,6 +1120,7 @@ var VirtualList = function VirtualList(_ref) { |
| 943 | 1120 | setProgressData(res || null); |
| 944 | 1121 | }); |
| 945 | 1122 | }; |
| 1123 | + | |
| 946 | 1124 | useEffect(function () { |
| 947 | 1125 | if (exportProgressData) { |
| 948 | 1126 | if (exportProgressData.status === 'PROCESSING' && !intervalName) { |
| ... | ... | @@ -951,11 +1129,13 @@ var VirtualList = function VirtualList(_ref) { |
| 951 | 1129 | }, 1000 * 10)); |
| 952 | 1130 | return; |
| 953 | 1131 | } |
| 1132 | + | |
| 954 | 1133 | if (exportProgressData.status !== 'PROCESSING' && intervalName) { |
| 955 | 1134 | clearInterval(intervalName); |
| 956 | 1135 | return; |
| 957 | 1136 | } |
| 958 | 1137 | } |
| 1138 | + | |
| 959 | 1139 | return function () { |
| 960 | 1140 | if (intervalName) { |
| 961 | 1141 | setTimeout(function () { |
| ... | ... | @@ -964,19 +1144,22 @@ var VirtualList = function VirtualList(_ref) { |
| 964 | 1144 | } |
| 965 | 1145 | }; |
| 966 | 1146 | }, [exportProgressData]); |
| 1147 | + | |
| 967 | 1148 | var handleCloseExport = function handleCloseExport(taskId) { |
| 968 | 1149 | var appCode = qxProps.appCode, |
| 969 | - funCode = qxProps.funCode, | |
| 970 | - viewCode = qxProps.viewCode; | |
| 1150 | + funCode = qxProps.funCode, | |
| 1151 | + viewCode = qxProps.viewCode; | |
| 971 | 1152 | props.closeExport(appCode, funCode, viewCode, { |
| 972 | 1153 | taskId: taskId |
| 973 | 1154 | }).then(function (res) { |
| 974 | 1155 | setProgressData(null); |
| 1156 | + | |
| 975 | 1157 | if (intervalName) { |
| 976 | 1158 | clearInterval(intervalName); |
| 977 | 1159 | } |
| 978 | 1160 | }); |
| 979 | 1161 | }; |
| 1162 | + | |
| 980 | 1163 | var getExportMessage = function getExportMessage() { |
| 981 | 1164 | if (exportProgressData.status === 'SUCCESS') { |
| 982 | 1165 | return /*#__PURE__*/React.createElement("div", null, "\u5BFC\u51FA\u6210\u529F\uFF0C\u70B9\u51FB", /*#__PURE__*/React.createElement(_Button, { |
| ... | ... | @@ -994,6 +1177,7 @@ var VirtualList = function VirtualList(_ref) { |
| 994 | 1177 | type: 'link' |
| 995 | 1178 | }, "\u3010\u5173\u95ED\u63D0\u9192\u3011")); |
| 996 | 1179 | } |
| 1180 | + | |
| 997 | 1181 | return /*#__PURE__*/React.createElement("div", null, "\u5BFC\u51FA\u8FDB\u884C\u4E2D\uFF0C\u8BF7\u7A0D\u540E......", /*#__PURE__*/React.createElement(_Button, { |
| 998 | 1182 | onClick: function onClick() { |
| 999 | 1183 | return exportData(''); |
| ... | ... | @@ -1009,71 +1193,15 @@ var VirtualList = function VirtualList(_ref) { |
| 1009 | 1193 | type: 'link' |
| 1010 | 1194 | }, "\u3010\u5173\u95ED\u63D0\u9192\u3011")); |
| 1011 | 1195 | }; |
| 1196 | + | |
| 1012 | 1197 | var cancelSubEdit = function cancelSubEdit() { |
| 1013 | 1198 | setSubEdit(false); |
| 1014 | 1199 | }; |
| 1200 | + | |
| 1015 | 1201 | var submitSubEdit = function submitSubEdit() { |
| 1016 | 1202 | setSubEdit(false); |
| 1017 | 1203 | }; |
| 1018 | - var barBtnClick = function barBtnClick(code, needConfirm, confirmContent, action, item) { | |
| 1019 | - setSelectedRowKeys([]); | |
| 1020 | - if (needConfirm && confirmContent) { | |
| 1021 | - if (!selectedRowKeys.length) { | |
| 1022 | - return _message.warning('请选择数据'); | |
| 1023 | - } | |
| 1024 | - confirm({ | |
| 1025 | - title: confirmContent, | |
| 1026 | - icon: /*#__PURE__*/React.createElement(_ExclamationCircleOutlined, null), | |
| 1027 | - okText: '确认', | |
| 1028 | - okType: 'danger', | |
| 1029 | - cancelText: '取消', | |
| 1030 | - onOk: function onOk() { | |
| 1031 | - if (code === 'DELETE') { | |
| 1032 | - if (props.originWidget === 'subform') { | |
| 1033 | - batchDelete(selectedRowKeys); | |
| 1034 | - setSelectedRowKeys([]); | |
| 1035 | - } else { | |
| 1036 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | |
| 1037 | - } | |
| 1038 | - } else if (code === 'EXPORT') { | |
| 1039 | - handleExport(); | |
| 1040 | - } else if (code === 'SELECT') { | |
| 1041 | - props.openRelSelect(schema.$id); | |
| 1042 | - } else if (code === 'ADD') { | |
| 1043 | - props.handleRelAdd(schema.$id); | |
| 1044 | - } else if (code === 'subformEdit') { | |
| 1045 | - props.handleBatchEdit(fieldName, schema.$id, selectedIds); | |
| 1046 | - } else if (action === 'CUSTOM') { | |
| 1047 | - props.handleCustom(item, selectedIds, schema.$id); | |
| 1048 | - } else { | |
| 1049 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | |
| 1050 | - } | |
| 1051 | - }, | |
| 1052 | - onCancel: function onCancel() {} | |
| 1053 | - }); | |
| 1054 | - } else { | |
| 1055 | - if (code === 'DELETE') { | |
| 1056 | - if (props.originWidget === 'subform') { | |
| 1057 | - batchDelete(selectedRowKeys); | |
| 1058 | - setSelectedRowKeys([]); | |
| 1059 | - } else { | |
| 1060 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | |
| 1061 | - } | |
| 1062 | - } else if (code === 'EXPORT') { | |
| 1063 | - handleExport(); | |
| 1064 | - } else if (code === 'SELECT') { | |
| 1065 | - props.openRelSelect(schema.$id); | |
| 1066 | - } else if (code === 'ADD') { | |
| 1067 | - props.handleRelAdd(schema.$id); | |
| 1068 | - } else if (code === 'subformEdit') { | |
| 1069 | - props.handleBatchEdit(fieldName, schema.$id, selectedIds); | |
| 1070 | - } else if (action === 'CUSTOM') { | |
| 1071 | - props.handleCustom(item, selectedIds, schema.$id); | |
| 1072 | - } else { | |
| 1073 | - props.handleBarBtnClick(code, fieldName, batchKey, selectedRowKeys, schema.$id, selectedIds); | |
| 1074 | - } | |
| 1075 | - } | |
| 1076 | - }; | |
| 1204 | + | |
| 1077 | 1205 | return /*#__PURE__*/React.createElement("div", null, props.editable ? isSubCanEdit ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, { |
| 1078 | 1206 | type: 'text', |
| 1079 | 1207 | size: "small", |
| ... | ... | @@ -1116,17 +1244,18 @@ var VirtualList = function VirtualList(_ref) { |
| 1116 | 1244 | }), |
| 1117 | 1245 | onChange: function onChange(e) { |
| 1118 | 1246 | var _e$target; |
| 1247 | + | |
| 1119 | 1248 | setKeyWord(((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) || ''); |
| 1120 | 1249 | } |
| 1121 | 1250 | }) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement("div", null, (barButtons.length > 4 ? barButtons.slice(0, 3) : barButtons.slice(0, 4)).filter(function (item) { |
| 1122 | 1251 | return isInDing ? !['EXPORT', 'IMPORT'].includes(item.code) : true; |
| 1123 | 1252 | }).map(function (item) { |
| 1124 | 1253 | var name = item.name, |
| 1125 | - code = item.code, | |
| 1126 | - needConfirm = item.needConfirm, | |
| 1127 | - confirmContent = item.confirmContent, | |
| 1128 | - icon = item.icon, | |
| 1129 | - action = item.action; | |
| 1254 | + code = item.code, | |
| 1255 | + needConfirm = item.needConfirm, | |
| 1256 | + confirmContent = item.confirmContent, | |
| 1257 | + icon = item.icon, | |
| 1258 | + action = item.action; | |
| 1130 | 1259 | return /*#__PURE__*/React.createElement(_Button, _extends({ |
| 1131 | 1260 | key: code, |
| 1132 | 1261 | style: { |
| ... | ... | @@ -1149,8 +1278,7 @@ var VirtualList = function VirtualList(_ref) { |
| 1149 | 1278 | onClick: function onClick() { |
| 1150 | 1279 | barBtnClick(code, needConfirm, confirmContent, action, item); |
| 1151 | 1280 | } |
| 1152 | - }), name); | |
| 1153 | - // } | |
| 1281 | + }), name); // } | |
| 1154 | 1282 | }), barButtons.slice(4).length ? /*#__PURE__*/React.createElement(_Dropdown, { |
| 1155 | 1283 | overlay: moreButtons |
| 1156 | 1284 | }, /*#__PURE__*/React.createElement(_Button, { |
| ... | ... | @@ -1159,9 +1287,11 @@ var VirtualList = function VirtualList(_ref) { |
| 1159 | 1287 | } |
| 1160 | 1288 | }, /*#__PURE__*/React.createElement(_Space, null, "\u66F4\u591A\u64CD\u4F5C", /*#__PURE__*/React.createElement(_DownOutlined, null)))) : null), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { |
| 1161 | 1289 | var callback = item.callback, |
| 1162 | - text = item.text, | |
| 1163 | - html = item.html; | |
| 1290 | + text = item.text, | |
| 1291 | + html = item.html; | |
| 1292 | + | |
| 1164 | 1293 | var onClick = function onClick() {}; |
| 1294 | + | |
| 1165 | 1295 | if (typeof window[callback] === 'function') { |
| 1166 | 1296 | onClick = function onClick() { |
| 1167 | 1297 | window[callback]({ |
| ... | ... | @@ -1179,6 +1309,7 @@ var VirtualList = function VirtualList(_ref) { |
| 1179 | 1309 | }); |
| 1180 | 1310 | } |
| 1181 | 1311 | } |
| 1312 | + | |
| 1182 | 1313 | return /*#__PURE__*/React.createElement(_Button, { |
| 1183 | 1314 | key: idx.toString(), |
| 1184 | 1315 | style: { |
| ... | ... | @@ -1210,8 +1341,7 @@ var VirtualList = function VirtualList(_ref) { |
| 1210 | 1341 | x: '100%' |
| 1211 | 1342 | }, !isFullScreen && { |
| 1212 | 1343 | y: scrollY |
| 1213 | - }) | |
| 1214 | - // components={vt} | |
| 1344 | + }) // components={vt} | |
| 1215 | 1345 | , |
| 1216 | 1346 | size: size || 'small' |
| 1217 | 1347 | }, props.originWidget === 'relSelector' ? { |
| ... | ... | @@ -1219,14 +1349,14 @@ var VirtualList = function VirtualList(_ref) { |
| 1219 | 1349 | } : {}, { |
| 1220 | 1350 | columns: columns, |
| 1221 | 1351 | dataSource: dataSource, |
| 1222 | - pagination: pagination | |
| 1223 | - // style={{marginBottom: 25}} | |
| 1352 | + pagination: pagination // style={{marginBottom: 25}} | |
| 1224 | 1353 | , |
| 1225 | 1354 | rowSelection: newRowSelection, |
| 1226 | 1355 | summary: function summary() { |
| 1227 | 1356 | if (!_summary || Array.isArray(_summary) && !_summary.length) { |
| 1228 | 1357 | return null; |
| 1229 | 1358 | } |
| 1359 | + | |
| 1230 | 1360 | return _summary(listData); |
| 1231 | 1361 | } |
| 1232 | 1362 | }, rest)), !props.hideAdd && props.originWidget === 'subform' && !subReadOnly && /*#__PURE__*/React.createElement(_Button, { |
| ... | ... | @@ -1237,7 +1367,6 @@ var VirtualList = function VirtualList(_ref) { |
| 1237 | 1367 | } |
| 1238 | 1368 | }, "\u65B0\u589E")); |
| 1239 | 1369 | }; |
| 1240 | - | |
| 1241 | 1370 | /** |
| 1242 | 1371 | * 文件下载。依赖HTML页面 |
| 1243 | 1372 | * |
| ... | ... | @@ -1245,76 +1374,86 @@ var VirtualList = function VirtualList(_ref) { |
| 1245 | 1374 | * @param name 指定的文件名(包括扩展名) |
| 1246 | 1375 | * @param request |
| 1247 | 1376 | */ |
| 1248 | -function handleDownload(_x2, _x3, _x4) { | |
| 1377 | + | |
| 1378 | + | |
| 1379 | +function handleDownload(_x, _x2, _x3) { | |
| 1249 | 1380 | return _handleDownload.apply(this, arguments); |
| 1250 | 1381 | } |
| 1382 | + | |
| 1251 | 1383 | function _handleDownload() { |
| 1252 | - _handleDownload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(url, name, request) { | |
| 1384 | + _handleDownload = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(url, name, request) { | |
| 1253 | 1385 | var isDownload, |
| 1254 | - link, | |
| 1255 | - blob, | |
| 1256 | - downloadUrl, | |
| 1257 | - _args2 = arguments; | |
| 1258 | - return _regeneratorRuntime().wrap(function _callee2$(_context2) { | |
| 1259 | - while (1) switch (_context2.prev = _context2.next) { | |
| 1260 | - case 0: | |
| 1261 | - // eslint-disable-next-line prefer-rest-params | |
| 1262 | - isDownload = _args2[3]; | |
| 1263 | - if (isDownload === null || Boolean(isDownload)) { | |
| 1264 | - _message.warning('即将开始下载,请勿重复点击。'); | |
| 1265 | - } | |
| 1266 | - // console.log('url========', url); | |
| 1267 | - // const isInDing = dd && dd?.env?.platform !== 'notInDingTalk'; | |
| 1268 | - // if (isInDing) { | |
| 1269 | - // // 比如导出 导入 | |
| 1270 | - // const needToken = !(url.includes('http://') || url.includes('https://')); | |
| 1271 | - // let dingUrl; | |
| 1272 | - // if (needToken) { | |
| 1273 | - // const apiUri = process.env.apiUrl || ''; | |
| 1274 | - // const needConcat = !(apiUri.includes('http://') || apiUri.includes('https://')); // 打包后 | |
| 1275 | - // const prev = `${needConcat ? location.origin : ''}${apiUri}${url}`; | |
| 1276 | - // const append = `_token=${QIXIAO_TOKEN}${isDesignPage() ? '&_bizCode=design' : ''}`; | |
| 1277 | - // dingUrl = `${prev}${prev.includes('?') ? '&' : '?'}${append}`; // 文件服务器 不能加参数 | |
| 1278 | - // } else { | |
| 1279 | - // dingUrl = url; | |
| 1280 | - // } | |
| 1281 | - // console.log('dingUrl========', dingUrl); | |
| 1282 | - // const fileName = name || '下载文件'; | |
| 1283 | - // dd.biz.util.downloadFile({ | |
| 1284 | - // url: dingUrl, | |
| 1285 | - // name: fileName, | |
| 1286 | - // onFail: function () { | |
| 1287 | - // message.error(`${fileName} 文件下载失败`); | |
| 1288 | - // }, | |
| 1289 | - // }); | |
| 1290 | - // return; | |
| 1291 | - // } | |
| 1292 | - link = document.createElement('a'); | |
| 1293 | - link.href = url; | |
| 1294 | - link.download = name; | |
| 1295 | - link.target = '_blank'; | |
| 1296 | - document.body.appendChild(link); | |
| 1297 | - | |
| 1298 | - //TODO 文件过大时,看不到下载进度 | |
| 1299 | - _context2.next = 9; | |
| 1300 | - return request.get(url, { | |
| 1301 | - autoShowError: true | |
| 1302 | - }); | |
| 1303 | - case 9: | |
| 1304 | - blob = _context2.sent; | |
| 1305 | - if (blob !== null) { | |
| 1306 | - downloadUrl = URL.createObjectURL(blob); | |
| 1307 | - link.href = downloadUrl; | |
| 1308 | - link.click(); | |
| 1309 | - document.body.removeChild(link); | |
| 1310 | - URL.revokeObjectURL(downloadUrl); | |
| 1311 | - } | |
| 1312 | - case 11: | |
| 1313 | - case "end": | |
| 1314 | - return _context2.stop(); | |
| 1386 | + link, | |
| 1387 | + blob, | |
| 1388 | + downloadUrl, | |
| 1389 | + _args2 = arguments; | |
| 1390 | + return regeneratorRuntime.wrap(function _callee2$(_context2) { | |
| 1391 | + while (1) { | |
| 1392 | + switch (_context2.prev = _context2.next) { | |
| 1393 | + case 0: | |
| 1394 | + // eslint-disable-next-line prefer-rest-params | |
| 1395 | + isDownload = _args2[3]; | |
| 1396 | + | |
| 1397 | + if (isDownload === null || Boolean(isDownload)) { | |
| 1398 | + _message.warning('即将开始下载,请勿重复点击。'); | |
| 1399 | + } // console.log('url========', url); | |
| 1400 | + // const isInDing = dd && dd?.env?.platform !== 'notInDingTalk'; | |
| 1401 | + // if (isInDing) { | |
| 1402 | + // // 比如导出 导入 | |
| 1403 | + // const needToken = !(url.includes('http://') || url.includes('https://')); | |
| 1404 | + // let dingUrl; | |
| 1405 | + // if (needToken) { | |
| 1406 | + // const apiUri = process.env.apiUrl || ''; | |
| 1407 | + // const needConcat = !(apiUri.includes('http://') || apiUri.includes('https://')); // 打包后 | |
| 1408 | + // const prev = `${needConcat ? location.origin : ''}${apiUri}${url}`; | |
| 1409 | + // const append = `_token=${QIXIAO_TOKEN}${isDesignPage() ? '&_bizCode=design' : ''}`; | |
| 1410 | + // dingUrl = `${prev}${prev.includes('?') ? '&' : '?'}${append}`; // 文件服务器 不能加参数 | |
| 1411 | + // } else { | |
| 1412 | + // dingUrl = url; | |
| 1413 | + // } | |
| 1414 | + // console.log('dingUrl========', dingUrl); | |
| 1415 | + // const fileName = name || '下载文件'; | |
| 1416 | + // dd.biz.util.downloadFile({ | |
| 1417 | + // url: dingUrl, | |
| 1418 | + // name: fileName, | |
| 1419 | + // onFail: function () { | |
| 1420 | + // message.error(`${fileName} 文件下载失败`); | |
| 1421 | + // }, | |
| 1422 | + // }); | |
| 1423 | + // return; | |
| 1424 | + // } | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + link = document.createElement('a'); | |
| 1428 | + link.href = url; | |
| 1429 | + link.download = name; | |
| 1430 | + link.target = '_blank'; | |
| 1431 | + document.body.appendChild(link); //TODO 文件过大时,看不到下载进度 | |
| 1432 | + | |
| 1433 | + _context2.next = 9; | |
| 1434 | + return request.get(url, { | |
| 1435 | + autoShowError: true | |
| 1436 | + }); | |
| 1437 | + | |
| 1438 | + case 9: | |
| 1439 | + blob = _context2.sent; | |
| 1440 | + | |
| 1441 | + if (blob !== null) { | |
| 1442 | + downloadUrl = URL.createObjectURL(blob); | |
| 1443 | + link.href = downloadUrl; | |
| 1444 | + link.click(); | |
| 1445 | + document.body.removeChild(link); | |
| 1446 | + URL.revokeObjectURL(downloadUrl); | |
| 1447 | + } | |
| 1448 | + | |
| 1449 | + case 11: | |
| 1450 | + case "end": | |
| 1451 | + return _context2.stop(); | |
| 1452 | + } | |
| 1315 | 1453 | } |
| 1316 | 1454 | }, _callee2); |
| 1317 | 1455 | })); |
| 1318 | 1456 | return _handleDownload.apply(this, arguments); |
| 1319 | 1457 | } |
| 1458 | + | |
| 1320 | 1459 | export default VirtualList; |
| \ No newline at end of file | ... | ... |
| 1 | 1 | import { createFromIconfontCN } from '@ant-design/icons/lib'; |
| 2 | - | |
| 3 | 2 | /** |
| 4 | 3 | * 使用: |
| 5 | 4 | * import QxIcon from '@/packages/qx-icon'; |
| ... | ... | @@ -11,6 +10,7 @@ import { createFromIconfontCN } from '@ant-design/icons/lib'; |
| 11 | 10 | * |
| 12 | 11 | * @type {React.FC<IconFontProps<string>>} |
| 13 | 12 | */ |
| 13 | + | |
| 14 | 14 | var QxIcon = createFromIconfontCN({ |
| 15 | 15 | scriptUrl: 'https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/icons_13749_95.b05de9dc2fbe8efffb150f83b64da806.es5.js' |
| 16 | 16 | }); | ... | ... |
| 1 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 2 | 1 | function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } |
| 2 | + | |
| 3 | 3 | function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 4 | + | |
| 4 | 5 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
| 6 | + | |
| 5 | 7 | function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } |
| 8 | + | |
| 6 | 9 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } |
| 7 | -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | |
| 8 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 9 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 10 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 11 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 12 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 10 | + | |
| 11 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | |
| 12 | + | |
| 13 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 14 | + | |
| 15 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 16 | + | |
| 17 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 18 | + | |
| 13 | 19 | /* eslint-disable jsx-a11y/anchor-is-valid */ |
| 14 | 20 | import React from 'react'; |
| 15 | 21 | import { cloneDeep, get, isFunction } from 'lodash-es'; |
| ... | ... | @@ -23,46 +29,58 @@ import TableList from './TableList'; |
| 23 | 29 | import TabList from './TabList'; |
| 24 | 30 | import VirtualList from './VirtualList'; |
| 25 | 31 | import ListForMobile from "./ListForMobile"; |
| 32 | + | |
| 26 | 33 | var RenderList = function RenderList(_ref) { |
| 27 | 34 | var parentId = _ref.parentId, |
| 28 | - _ref$schema = _ref.schema, | |
| 29 | - schema = _ref$schema === void 0 ? {} : _ref$schema, | |
| 30 | - _ref$dataIndex = _ref.dataIndex, | |
| 31 | - dataIndex = _ref$dataIndex === void 0 ? [] : _ref$dataIndex, | |
| 32 | - _ref$children = _ref.children, | |
| 33 | - children = _ref$children === void 0 ? [] : _ref$children, | |
| 34 | - errorFields = _ref.errorFields, | |
| 35 | - displayType = _ref.displayType; | |
| 35 | + _ref$schema = _ref.schema, | |
| 36 | + schema = _ref$schema === void 0 ? {} : _ref$schema, | |
| 37 | + _ref$dataIndex = _ref.dataIndex, | |
| 38 | + dataIndex = _ref$dataIndex === void 0 ? [] : _ref$dataIndex, | |
| 39 | + _ref$children = _ref.children, | |
| 40 | + children = _ref$children === void 0 ? [] : _ref$children, | |
| 41 | + errorFields = _ref.errorFields, | |
| 42 | + displayType = _ref.displayType; | |
| 43 | + | |
| 36 | 44 | var _useStore = useStore(), |
| 37 | - formData = _useStore.formData, | |
| 38 | - flatten = _useStore.flatten; | |
| 45 | + formData = _useStore.formData, | |
| 46 | + flatten = _useStore.flatten; | |
| 47 | + | |
| 39 | 48 | var _useTools = useTools(), |
| 40 | - onItemChange = _useTools.onItemChange, | |
| 41 | - removeTouched = _useTools.removeTouched, | |
| 42 | - methods = _useTools.methods, | |
| 43 | - layoutWidgets = _useTools.layoutWidgets; | |
| 49 | + onItemChange = _useTools.onItemChange, | |
| 50 | + removeTouched = _useTools.removeTouched, | |
| 51 | + methods = _useTools.methods, | |
| 52 | + layoutWidgets = _useTools.layoutWidgets; | |
| 53 | + | |
| 44 | 54 | var _schema$props = schema.props, |
| 45 | - props = _schema$props === void 0 ? {} : _schema$props; | |
| 55 | + props = _schema$props === void 0 ? {} : _schema$props; | |
| 46 | 56 | var renderWidget = 'list'; |
| 57 | + | |
| 47 | 58 | try { |
| 48 | 59 | renderWidget = schema.widget; |
| 49 | - } catch (error) {} | |
| 60 | + } catch (error) {} // 计算 list对应的formData | |
| 61 | + | |
| 50 | 62 | |
| 51 | - // 计算 list对应的formData | |
| 52 | 63 | var dataPath = getDataPath(parentId, dataIndex); |
| 53 | 64 | var listData; |
| 65 | + | |
| 54 | 66 | if (typeof dataPath === 'string') { |
| 55 | 67 | // TODO: listData会有不少“窟窿”,submit 的时候,listData 需要补齐 or filter |
| 56 | 68 | listData = get(formData, dataPath); |
| 57 | 69 | } |
| 70 | + | |
| 58 | 71 | var displayList = Array.isArray(listData) && JSON.stringify(listData) !== '[{}]' ? listData : []; |
| 72 | + | |
| 59 | 73 | var changeList = function changeList(newList) { |
| 60 | 74 | onItemChange(dataPath, newList); |
| 61 | 75 | }; |
| 76 | + | |
| 62 | 77 | var addItem = function addItem() { |
| 63 | 78 | var _item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; |
| 79 | + | |
| 64 | 80 | var _schema = getSchemaFromFlatten(flatten, parentId); |
| 81 | + | |
| 65 | 82 | var newItem = _objectSpread(_objectSpread({}, generateDataSkeleton(_schema.items) || {}), _item); |
| 83 | + | |
| 66 | 84 | var newList = [].concat(_toConsumableArray(displayList), [_objectSpread(_objectSpread({}, newItem), {}, { |
| 67 | 85 | _active: true |
| 68 | 86 | })]); |
| ... | ... | @@ -70,12 +88,14 @@ var RenderList = function RenderList(_ref) { |
| 70 | 88 | onItemChange(dataPath, newList); |
| 71 | 89 | return newIndex; |
| 72 | 90 | }; |
| 91 | + | |
| 73 | 92 | var copyItem = function copyItem(idx) { |
| 74 | 93 | var newItem = cloneDeep(displayList[idx]); |
| 75 | 94 | delete newItem.id; |
| 76 | 95 | var newList = [].concat(_toConsumableArray(displayList.slice(0, idx + 1)), [newItem], _toConsumableArray(displayList.slice(idx + 1))); |
| 77 | 96 | onItemChange(dataPath, JSON.parse(JSON.stringify(newList))); |
| 78 | 97 | }; |
| 98 | + | |
| 79 | 99 | var deleteItem = function deleteItem(idx) { |
| 80 | 100 | // TODO: 删除元素的时候,也需要delete相对于的校验信息(errorFields) |
| 81 | 101 | // remark: 删除时,不存在的item需要补齐,用null |
| ... | ... | @@ -88,16 +108,18 @@ var RenderList = function RenderList(_ref) { |
| 88 | 108 | onItemChange(dataPath, newList); |
| 89 | 109 | removeTouched("".concat(dataPath, "[").concat(idx, "]")); |
| 90 | 110 | }; |
| 111 | + | |
| 91 | 112 | var handleMoving = function handleMoving() { |
| 92 | 113 | if (props.onMove && typeof props.onMove === 'string') { |
| 93 | 114 | var cb = methods[props.onMove]; |
| 115 | + | |
| 94 | 116 | if (typeof cb === 'function') { |
| 95 | 117 | cb(); |
| 96 | 118 | } |
| 97 | 119 | } |
| 98 | - }; | |
| 120 | + }; // 批量删除的方法 | |
| 121 | + | |
| 99 | 122 | |
| 100 | - // 批量删除的方法 | |
| 101 | 123 | var batchDelete = function batchDelete(ids) { |
| 102 | 124 | displayList.forEach(function (item) { |
| 103 | 125 | return delete item.orginIdx; |
| ... | ... | @@ -109,9 +131,9 @@ var RenderList = function RenderList(_ref) { |
| 109 | 131 | (ids || []).forEach(function (id) { |
| 110 | 132 | removeTouched("".concat(dataPath, "[").concat(id, "]")); |
| 111 | 133 | }); |
| 112 | - }; | |
| 134 | + }; //TODO1: 上线翻页要正确!!现在是错的 | |
| 135 | + | |
| 113 | 136 | |
| 114 | - //TODO1: 上线翻页要正确!!现在是错的 | |
| 115 | 137 | var moveItemUp = function moveItemUp(idx) { |
| 116 | 138 | handleMoving(); |
| 117 | 139 | if (idx === 0) return; |
| ... | ... | @@ -120,10 +142,11 @@ var RenderList = function RenderList(_ref) { |
| 120 | 142 | var newList = displayList; |
| 121 | 143 | newList[idx] = itemAbove; |
| 122 | 144 | newList[idx - 1] = currentItem; |
| 123 | - onItemChange(dataPath, newList); | |
| 124 | - // TODO: 这块懒了,之后要处理一下 | |
| 145 | + onItemChange(dataPath, newList); // TODO: 这块懒了,之后要处理一下 | |
| 146 | + | |
| 125 | 147 | removeTouched("".concat(dataPath, "[").concat(idx, "]")); |
| 126 | 148 | }; |
| 149 | + | |
| 127 | 150 | var moveItemDown = function moveItemDown(idx) { |
| 128 | 151 | handleMoving(); |
| 129 | 152 | if (idx >= displayList.length - 1) return; |
| ... | ... | @@ -132,10 +155,11 @@ var RenderList = function RenderList(_ref) { |
| 132 | 155 | var newList = displayList; |
| 133 | 156 | newList[idx] = itemBelow; |
| 134 | 157 | newList[idx + 1] = currentItem; |
| 135 | - onItemChange(dataPath, newList); | |
| 136 | - // TODO: 这块懒了,之后要处理一下 | |
| 158 | + onItemChange(dataPath, newList); // TODO: 这块懒了,之后要处理一下 | |
| 159 | + | |
| 137 | 160 | removeTouched("".concat(dataPath, "[").concat(idx, "]")); |
| 138 | 161 | }; |
| 162 | + | |
| 139 | 163 | var itemSchema = { |
| 140 | 164 | type: 'object', |
| 141 | 165 | properties: {}, |
| ... | ... | @@ -146,12 +170,14 @@ var RenderList = function RenderList(_ref) { |
| 146 | 170 | schema: itemSchema, |
| 147 | 171 | children: children |
| 148 | 172 | }; |
| 173 | + | |
| 149 | 174 | var getFieldsProps = function getFieldsProps(idx, extraProps) { |
| 150 | 175 | return _objectSpread({ |
| 151 | 176 | _item: itemFlatten, |
| 152 | 177 | dataIndex: [].concat(_toConsumableArray(dataIndex), [idx]) |
| 153 | 178 | }, extraProps); |
| 154 | 179 | }; |
| 180 | + | |
| 155 | 181 | var displayProps = { |
| 156 | 182 | displayList: displayList, |
| 157 | 183 | changeList: changeList, |
| ... | ... | @@ -170,9 +196,10 @@ var RenderList = function RenderList(_ref) { |
| 170 | 196 | errorFields: errorFields, |
| 171 | 197 | displayType: displayType, |
| 172 | 198 | getFieldsProps: getFieldsProps |
| 173 | - }; | |
| 174 | - // 外部定义:添加按钮事件 | |
| 199 | + }; // 外部定义:添加按钮事件 | |
| 200 | + | |
| 175 | 201 | var onAdd = methods[props.onAdd]; |
| 202 | + | |
| 176 | 203 | if (isFunction(onAdd)) { |
| 177 | 204 | displayProps.addItem = function () { |
| 178 | 205 | return onAdd(function (_item) { |
| ... | ... | @@ -182,32 +209,41 @@ var RenderList = function RenderList(_ref) { |
| 182 | 209 | }); |
| 183 | 210 | }; |
| 184 | 211 | } |
| 212 | + | |
| 185 | 213 | if (renderWidget === 'listForMobile') { |
| 186 | 214 | return /*#__PURE__*/React.createElement(ListForMobile, displayProps); |
| 187 | 215 | } |
| 216 | + | |
| 188 | 217 | if (layoutWidgets && layoutWidgets[renderWidget]) { |
| 189 | 218 | var Component = layoutWidgets[renderWidget]; |
| 190 | 219 | return /*#__PURE__*/React.createElement(Component, displayProps); |
| 191 | 220 | } |
| 221 | + | |
| 192 | 222 | switch (renderWidget) { |
| 193 | 223 | case 'list1': |
| 194 | 224 | case 'simpleList': |
| 195 | 225 | return /*#__PURE__*/React.createElement(SimpleList, displayProps); |
| 226 | + | |
| 196 | 227 | case 'list2': |
| 197 | 228 | case 'tableList': |
| 198 | 229 | return /*#__PURE__*/React.createElement(TableList, displayProps); |
| 230 | + | |
| 199 | 231 | case 'list3': |
| 200 | 232 | case 'drawerList': |
| 201 | 233 | return /*#__PURE__*/React.createElement(DrawerList, displayProps); |
| 234 | + | |
| 202 | 235 | case 'list4': |
| 203 | 236 | case 'virtualList': |
| 204 | 237 | return /*#__PURE__*/React.createElement(VirtualList, displayProps); |
| 238 | + | |
| 205 | 239 | case 'tabList': |
| 206 | 240 | return /*#__PURE__*/React.createElement(TabList, displayProps); |
| 241 | + | |
| 207 | 242 | case 'list0': |
| 208 | 243 | case 'cardList': |
| 209 | 244 | default: |
| 210 | 245 | return /*#__PURE__*/React.createElement(CardList, displayProps); |
| 211 | 246 | } |
| 212 | 247 | }; |
| 248 | + | |
| 213 | 249 | export default RenderList; |
| \ No newline at end of file | ... | ... |
| 1 | 1 | export function isDesignPage() { |
| 2 | 2 | var href = location.href; |
| 3 | 3 | var res = false; |
| 4 | + | |
| 4 | 5 | if (href.indexOf('/app-view/') > -1) { |
| 5 | 6 | res = true; |
| 6 | 7 | } else if (href.indexOf('/apps/design') > -1) { |
| ... | ... | @@ -32,5 +33,6 @@ export function isDesignPage() { |
| 32 | 33 | } else if (href.indexOf('/datacube/design') > -1) { |
| 33 | 34 | res = true; |
| 34 | 35 | } |
| 36 | + | |
| 35 | 37 | return res; |
| 36 | 38 | } |
| \ No newline at end of file | ... | ... |
| 1 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 1 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 2 | + | |
| 2 | 3 | import React from 'react'; |
| 3 | 4 | import Core from '../index'; |
| 5 | + | |
| 4 | 6 | var RenderObject = function RenderObject(_ref) { |
| 5 | 7 | var _ref$children = _ref.children, |
| 6 | - children = _ref$children === void 0 ? [] : _ref$children, | |
| 7 | - _ref$dataIndex = _ref.dataIndex, | |
| 8 | - dataIndex = _ref$dataIndex === void 0 ? [] : _ref$dataIndex, | |
| 9 | - displayType = _ref.displayType, | |
| 10 | - labelAlign = _ref.labelAlign, | |
| 11 | - hideTitle = _ref.hideTitle; | |
| 8 | + children = _ref$children === void 0 ? [] : _ref$children, | |
| 9 | + _ref$dataIndex = _ref.dataIndex, | |
| 10 | + dataIndex = _ref$dataIndex === void 0 ? [] : _ref$dataIndex, | |
| 11 | + displayType = _ref.displayType, | |
| 12 | + labelAlign = _ref.labelAlign, | |
| 13 | + hideTitle = _ref.hideTitle; | |
| 12 | 14 | return /*#__PURE__*/React.createElement(React.Fragment, null, children.map(function (child, i) { |
| 13 | 15 | var FRProps = { |
| 14 | 16 | displayType: displayType, |
| ... | ... | @@ -22,4 +24,5 @@ var RenderObject = function RenderObject(_ref) { |
| 22 | 24 | }, FRProps)); |
| 23 | 25 | })); |
| 24 | 26 | }; |
| 27 | + | |
| 25 | 28 | export default RenderObject; |
| \ No newline at end of file | ... | ... |
| 1 | 1 | import React from 'react'; |
| 2 | 2 | import { translateMessage } from '../../utils'; |
| 3 | 3 | import "./ErrorMessage.css"; |
| 4 | + | |
| 4 | 5 | var ErrorMessage = function ErrorMessage(_ref) { |
| 5 | 6 | var message = _ref.message, |
| 6 | - schema = _ref.schema, | |
| 7 | - softHidden = _ref.softHidden, | |
| 8 | - hardHidden = _ref.hardHidden; | |
| 7 | + schema = _ref.schema, | |
| 8 | + softHidden = _ref.softHidden, | |
| 9 | + hardHidden = _ref.hardHidden; | |
| 9 | 10 | var msg = ''; |
| 10 | 11 | if (typeof message === 'string') msg = message; |
| 12 | + | |
| 11 | 13 | if (Array.isArray(message)) { |
| 12 | 14 | msg = message[0] || ''; |
| 13 | 15 | } |
| 14 | - msg = translateMessage(msg, schema); | |
| 15 | 16 | |
| 16 | - // 无错误信息不渲染 msg 元素占位,表单之间的间隔通过 field-block 元素分隔 | |
| 17 | + msg = translateMessage(msg, schema); // 无错误信息不渲染 msg 元素占位,表单之间的间隔通过 field-block 元素分隔 | |
| 18 | + | |
| 17 | 19 | if (!msg) return null; |
| 18 | 20 | if (hardHidden) return /*#__PURE__*/React.createElement("div", { |
| 19 | 21 | className: "error-message" |
| ... | ... | @@ -22,4 +24,5 @@ var ErrorMessage = function ErrorMessage(_ref) { |
| 22 | 24 | className: "error-message" |
| 23 | 25 | }, msg); |
| 24 | 26 | }; |
| 27 | + | |
| 25 | 28 | export default ErrorMessage; |
| \ No newline at end of file | ... | ... |
| 1 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 2 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 3 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 4 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 5 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 6 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 1 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 2 | + | |
| 3 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 4 | + | |
| 5 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 6 | + | |
| 7 | 7 | import React, { Suspense } from 'react'; |
| 8 | 8 | import { transformProps } from '../../createWidget'; |
| 9 | 9 | import { useStore, useTools } from '../../hooks'; |
| 10 | 10 | import { extraSchemaList, getWidgetName } from '../../mapping'; |
| 11 | 11 | import { isListType, isObject, isObjType } from '../../utils'; |
| 12 | + | |
| 12 | 13 | var ErrorSchema = function ErrorSchema(schema) { |
| 13 | 14 | return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", { |
| 14 | 15 | style: { |
| ... | ... | @@ -16,74 +17,81 @@ var ErrorSchema = function ErrorSchema(schema) { |
| 16 | 17 | } |
| 17 | 18 | }, "schema\u672A\u5339\u914D\u5230\u5C55\u793A\u7EC4\u4EF6\uFF1A"), /*#__PURE__*/React.createElement("div", null, JSON.stringify(schema))); |
| 18 | 19 | }; |
| 20 | + | |
| 19 | 21 | var ExtendedWidget = function ExtendedWidget(_ref) { |
| 20 | 22 | var schema = _ref.schema, |
| 21 | - onChange = _ref.onChange, | |
| 22 | - value = _ref.value, | |
| 23 | - dependValues = _ref.dependValues, | |
| 24 | - children = _ref.children, | |
| 25 | - onItemChange = _ref.onItemChange, | |
| 26 | - formData = _ref.formData, | |
| 27 | - getValue = _ref.getValue, | |
| 28 | - readOnly = _ref.readOnly, | |
| 29 | - dataPath = _ref.dataPath, | |
| 30 | - disabled = _ref.disabled, | |
| 31 | - dataIndex = _ref.dataIndex, | |
| 32 | - watch = _ref.watch, | |
| 33 | - hasError = _ref.hasError; | |
| 23 | + onChange = _ref.onChange, | |
| 24 | + value = _ref.value, | |
| 25 | + dependValues = _ref.dependValues, | |
| 26 | + children = _ref.children, | |
| 27 | + onItemChange = _ref.onItemChange, | |
| 28 | + formData = _ref.formData, | |
| 29 | + getValue = _ref.getValue, | |
| 30 | + readOnly = _ref.readOnly, | |
| 31 | + dataPath = _ref.dataPath, | |
| 32 | + disabled = _ref.disabled, | |
| 33 | + dataIndex = _ref.dataIndex, | |
| 34 | + watch = _ref.watch, | |
| 35 | + hasError = _ref.hasError; | |
| 36 | + | |
| 34 | 37 | var _useTools = useTools(), |
| 35 | - widgets = _useTools.widgets, | |
| 36 | - mapping = _useTools.mapping, | |
| 37 | - setValueByPath = _useTools.setValueByPath, | |
| 38 | - getSchemaByPath = _useTools.getSchemaByPath, | |
| 39 | - setSchemaByPath = _useTools.setSchemaByPath, | |
| 40 | - setSchema = _useTools.setSchema, | |
| 41 | - setValues = _useTools.setValues, | |
| 42 | - getValues = _useTools.getValues, | |
| 43 | - resetFields = _useTools.resetFields, | |
| 44 | - setErrorFields = _useTools.setErrorFields, | |
| 45 | - removeErrorField = _useTools.removeErrorField, | |
| 46 | - validateFields = _useTools.validateFields, | |
| 47 | - isFieldTouched = _useTools.isFieldTouched, | |
| 48 | - isFieldsTouched = _useTools.isFieldsTouched, | |
| 49 | - isFieldValidating = _useTools.isFieldValidating, | |
| 50 | - scrollToPath = _useTools.scrollToPath, | |
| 51 | - getFieldError = _useTools.getFieldError, | |
| 52 | - getFieldsError = _useTools.getFieldsError, | |
| 53 | - setFields = _useTools.setFields; | |
| 54 | - var _useStore = useStore(), | |
| 55 | - globalProps = _useStore.globalProps; | |
| 38 | + widgets = _useTools.widgets, | |
| 39 | + mapping = _useTools.mapping, | |
| 40 | + setValueByPath = _useTools.setValueByPath, | |
| 41 | + getSchemaByPath = _useTools.getSchemaByPath, | |
| 42 | + setSchemaByPath = _useTools.setSchemaByPath, | |
| 43 | + setSchema = _useTools.setSchema, | |
| 44 | + setValues = _useTools.setValues, | |
| 45 | + getValues = _useTools.getValues, | |
| 46 | + resetFields = _useTools.resetFields, | |
| 47 | + setErrorFields = _useTools.setErrorFields, | |
| 48 | + removeErrorField = _useTools.removeErrorField, | |
| 49 | + validateFields = _useTools.validateFields, | |
| 50 | + isFieldTouched = _useTools.isFieldTouched, | |
| 51 | + isFieldsTouched = _useTools.isFieldsTouched, | |
| 52 | + isFieldValidating = _useTools.isFieldValidating, | |
| 53 | + scrollToPath = _useTools.scrollToPath, | |
| 54 | + getFieldError = _useTools.getFieldError, | |
| 55 | + getFieldsError = _useTools.getFieldsError, | |
| 56 | + setFields = _useTools.setFields; | |
| 56 | 57 | |
| 57 | - // if (isObjType(schema)) { | |
| 58 | + var _useStore = useStore(), | |
| 59 | + globalProps = _useStore.globalProps; // if (isObjType(schema)) { | |
| 58 | 60 | // return <Map value={value} onChange={onChange} children={children} />; |
| 59 | 61 | // } |
| 60 | 62 | // if (isListType(schema)) { |
| 61 | 63 | // return 'haha'; |
| 62 | 64 | // } |
| 63 | 65 | // return <Input value={value} onChange={e => onChange(e.target.value)} />; |
| 64 | - | |
| 65 | 66 | // TODO: calc widget, better way? |
| 66 | 67 | // let widgetName = useMemo(() => getWidgetName(schema, mapping), [ |
| 67 | 68 | // JSON.stringify(schema), |
| 68 | 69 | // ]); |
| 70 | + | |
| 71 | + | |
| 69 | 72 | var widgetName = getWidgetName(schema, mapping); |
| 70 | 73 | var customName = schema.widget || schema['ui:widget']; |
| 74 | + | |
| 71 | 75 | if (customName && widgets[customName]) { |
| 72 | 76 | widgetName = customName; |
| 73 | 77 | } |
| 78 | + | |
| 74 | 79 | var readOnlyName = schema.readOnlyWidget || 'html'; |
| 80 | + | |
| 75 | 81 | if (readOnly && !isObjType(schema) && !isListType(schema)) { |
| 76 | 82 | widgetName = readOnlyName; |
| 77 | 83 | } |
| 84 | + | |
| 78 | 85 | if (!widgetName) { |
| 79 | 86 | widgetName = 'input'; |
| 80 | 87 | return /*#__PURE__*/React.createElement(ErrorSchema, { |
| 81 | 88 | schema: schema |
| 82 | 89 | }); |
| 83 | 90 | } |
| 91 | + | |
| 84 | 92 | var Widget = widgets[widgetName] || widgets['html']; |
| 85 | - var extraSchema = extraSchemaList[widgetName]; | |
| 86 | - // console.log(hasError, '----------'); | |
| 93 | + var extraSchema = extraSchemaList[widgetName]; // console.log(hasError, '----------'); | |
| 94 | + | |
| 87 | 95 | var widgetProps = _objectSpread(_objectSpread({ |
| 88 | 96 | schema: _objectSpread(_objectSpread({}, schema), extraSchema), |
| 89 | 97 | onChange: onChange, |
| ... | ... | @@ -95,36 +103,40 @@ var ExtendedWidget = function ExtendedWidget(_ref) { |
| 95 | 103 | // dataIndex, |
| 96 | 104 | className: hasError ? 'fr-item-status-error' : '' |
| 97 | 105 | }, schema.props), globalProps); |
| 106 | + | |
| 98 | 107 | if (schema.type === 'string' && typeof schema.max === 'number') { |
| 99 | 108 | widgetProps.maxLength = schema.max; |
| 100 | 109 | } |
| 110 | + | |
| 101 | 111 | ['title', 'placeholder', 'disabled', 'format'].forEach(function (key) { |
| 102 | 112 | if (schema[key]) { |
| 103 | 113 | widgetProps[key] = schema[key]; |
| 104 | 114 | } |
| 105 | 115 | }); |
| 116 | + | |
| 106 | 117 | if (schema.props) { |
| 107 | 118 | widgetProps = _objectSpread(_objectSpread({}, widgetProps), schema.props); |
| 108 | 119 | } |
| 120 | + | |
| 109 | 121 | Object.keys(schema).forEach(function (key) { |
| 110 | 122 | if (typeof key === 'string' && key.toLowerCase().indexOf('props') > -1 && key.length > 5) { |
| 111 | 123 | widgetProps[key] = schema[key]; |
| 112 | 124 | } |
| 113 | - }); | |
| 125 | + }); // 支持 addonAfter 为自定义组件的情况 | |
| 114 | 126 | |
| 115 | - // 支持 addonAfter 为自定义组件的情况 | |
| 116 | 127 | if (isObject(widgetProps.addonAfter) && widgetProps.addonAfter.widget) { |
| 117 | 128 | var AddonAfterWidget = widgets[widgetProps.addonAfter.widget]; |
| 118 | 129 | widgetProps.addonAfter = /*#__PURE__*/React.createElement(AddonAfterWidget, schema); |
| 119 | 130 | } |
| 131 | + | |
| 120 | 132 | var hideSelf = function hideSelf() { |
| 121 | 133 | var hidden = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; |
| 122 | 134 | setSchemaByPath(schema.$id, { |
| 123 | 135 | hidden: hidden |
| 124 | 136 | }); |
| 125 | - }; | |
| 137 | + }; // 避免传组件不接受的props,按情况传多余的props | |
| 138 | + | |
| 126 | 139 | |
| 127 | - // 避免传组件不接受的props,按情况传多余的props | |
| 128 | 140 | widgetProps.addons = { |
| 129 | 141 | dependValues: dependValues, |
| 130 | 142 | onItemChange: onItemChange, |
| ... | ... | @@ -160,10 +172,12 @@ var ExtendedWidget = function ExtendedWidget(_ref) { |
| 160 | 172 | className: "fr-item-wrapper" |
| 161 | 173 | }, /*#__PURE__*/React.createElement(Widget, finalProps))); |
| 162 | 174 | }; |
| 175 | + | |
| 163 | 176 | function getValue(_data, key) { |
| 164 | 177 | if (!key) { |
| 165 | 178 | return null; |
| 166 | 179 | } |
| 180 | + | |
| 167 | 181 | var keys = key.split('.'); |
| 168 | 182 | return keys.reduce(function (prev, cur) { |
| 169 | 183 | if (cur === keys[keys.length - 1]) { |
| ... | ... | @@ -173,39 +187,48 @@ function getValue(_data, key) { |
| 173 | 187 | } |
| 174 | 188 | }, _data); |
| 175 | 189 | } |
| 190 | + | |
| 176 | 191 | var areEqual = function areEqual(prev, current) { |
| 177 | 192 | var _prev$schema, _prev$schema$props; |
| 193 | + | |
| 178 | 194 | if (prev.schema && current.schema) { |
| 179 | 195 | if (prev.schema.$id === '#') { |
| 180 | 196 | return false; |
| 181 | - } | |
| 182 | - // if (prev.schema.hidden && current.schema.hidden) { | |
| 197 | + } // if (prev.schema.hidden && current.schema.hidden) { | |
| 183 | 198 | // return true; |
| 184 | 199 | // } |
| 200 | + | |
| 185 | 201 | } |
| 186 | 202 | |
| 187 | 203 | if (prev.readOnly !== current.readOnly) { |
| 188 | 204 | return false; |
| 189 | 205 | } |
| 206 | + | |
| 190 | 207 | if (prev.hasError !== current.hasError) { |
| 191 | 208 | return false; |
| 192 | 209 | } |
| 210 | + | |
| 193 | 211 | if (prev.disabled !== current.disabled) { |
| 194 | 212 | return false; |
| 195 | 213 | } |
| 214 | + | |
| 196 | 215 | if (JSON.stringify(prev.dependValues) !== JSON.stringify(current.dependValues)) { |
| 197 | 216 | return false; |
| 198 | 217 | } |
| 218 | + | |
| 199 | 219 | if ((prev.schema.widget === 'virtualList' || prev.schema.widget === 'relSelector') && ((_prev$schema = prev.schema) === null || _prev$schema === void 0 ? void 0 : (_prev$schema$props = _prev$schema.props) === null || _prev$schema$props === void 0 ? void 0 : _prev$schema$props.mode) === 'TAG' && JSON.stringify(getValue(prev.formData, prev.schema.relformKey)) !== JSON.stringify(getValue(current.formData, current.schema.relformKey))) { |
| 200 | 220 | return false; |
| 201 | 221 | } |
| 222 | + | |
| 202 | 223 | if (isObjType(prev.schema) && isObjType(current.schema)) { |
| 203 | 224 | return false; |
| 204 | 225 | } |
| 226 | + | |
| 205 | 227 | if (JSON.stringify(prev.value) === JSON.stringify(current.value) && JSON.stringify(prev.schema) === JSON.stringify(current.schema)) { |
| 206 | 228 | return true; |
| 207 | 229 | } |
| 230 | + | |
| 208 | 231 | return false; |
| 209 | 232 | }; |
| 210 | -export default /*#__PURE__*/React.memo(ExtendedWidget, areEqual); | |
| 211 | -// export default ExtendedWidget; | |
| \ No newline at end of file | ||
| 233 | + | |
| 234 | +export default /*#__PURE__*/React.memo(ExtendedWidget, areEqual); // export default ExtendedWidget; | |
| \ No newline at end of file | ... | ... |
| 1 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 1 | +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | |
| 2 | + | |
| 2 | 3 | import React from 'react'; |
| 3 | 4 | import { useTools } from '../../hooks'; |
| 4 | 5 | import "./Extra.css"; |
| 6 | + | |
| 5 | 7 | var Extra = function Extra(_ref) { |
| 6 | 8 | var schema = _ref.schema; |
| 7 | 9 | var extra = schema.extra; |
| 10 | + | |
| 8 | 11 | var _useTools = useTools(), |
| 9 | - widgets = _useTools.widgets; | |
| 10 | - if (!extra) return null; | |
| 12 | + widgets = _useTools.widgets; | |
| 13 | + | |
| 14 | + if (!extra) return null; // widget 这个api也可以不对外 | |
| 11 | 15 | |
| 12 | - // widget 这个api也可以不对外 | |
| 13 | 16 | var widgetName = extra.widget; |
| 14 | 17 | var Widget = widgets[widgetName]; |
| 15 | 18 | if (Widget) return /*#__PURE__*/React.createElement(Widget, { |
| 16 | 19 | schema: schema |
| 17 | 20 | }); |
| 18 | 21 | var __html = ''; |
| 22 | + | |
| 19 | 23 | if (typeof extra === 'string') { |
| 20 | 24 | __html = extra; |
| 21 | - } | |
| 22 | - // 内部BU使用的口子,这个api不对外,也没有必要 | |
| 25 | + } // 内部BU使用的口子,这个api不对外,也没有必要 | |
| 26 | + | |
| 27 | + | |
| 23 | 28 | if (_typeof(extra) === 'object' && extra.text) { |
| 24 | 29 | __html = extra.text; |
| 25 | 30 | } |
| 31 | + | |
| 26 | 32 | return __html && /*#__PURE__*/React.createElement("div", { |
| 27 | 33 | className: "fr-form-item-extra", |
| 28 | 34 | dangerouslySetInnerHTML: { |
| ... | ... | @@ -30,4 +36,5 @@ var Extra = function Extra(_ref) { |
| 30 | 36 | } |
| 31 | 37 | }); |
| 32 | 38 | }; |
| 39 | + | |
| 33 | 40 | export default Extra; |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -3,45 +3,56 @@ import _Tooltip from "antd/es/tooltip"; |
| 3 | 3 | import React from 'react'; |
| 4 | 4 | import { useStore2, useTools } from '../../hooks'; |
| 5 | 5 | import { isCheckBoxType } from '../../utils'; |
| 6 | + | |
| 6 | 7 | var Description = function Description(_ref) { |
| 7 | 8 | var displayType = _ref.displayType, |
| 8 | - schema = _ref.schema; | |
| 9 | + schema = _ref.schema; | |
| 9 | 10 | var description = schema.description, |
| 10 | - descType = schema.descType, | |
| 11 | - descWidget = schema.descWidget; | |
| 11 | + descType = schema.descType, | |
| 12 | + descWidget = schema.descWidget; | |
| 12 | 13 | if (!description && !descWidget) return null; |
| 14 | + | |
| 13 | 15 | var _useTools = useTools(), |
| 14 | - widgets = _useTools.widgets; | |
| 16 | + widgets = _useTools.widgets; | |
| 17 | + | |
| 15 | 18 | var _description = typeof description === 'string' && /(^<|\/>)/.test(description) ? /*#__PURE__*/React.createElement("div", { |
| 16 | 19 | dangerouslySetInnerHTML: { |
| 17 | 20 | __html: description |
| 18 | 21 | } |
| 19 | 22 | }) : description; |
| 23 | + | |
| 20 | 24 | var RenderDesc = function RenderDesc() { |
| 21 | 25 | var Widget = widgets[schema.descWidget]; |
| 26 | + | |
| 22 | 27 | if (Widget) { |
| 23 | 28 | return /*#__PURE__*/React.createElement(Widget, { |
| 24 | 29 | schema: schema |
| 25 | 30 | }); |
| 26 | 31 | } |
| 32 | + | |
| 27 | 33 | return null; |
| 28 | 34 | }; |
| 35 | + | |
| 29 | 36 | switch (displayType) { |
| 30 | 37 | case 'row': |
| 31 | 38 | if (descType === 'widget') { |
| 32 | 39 | return /*#__PURE__*/React.createElement(RenderDesc, null); |
| 33 | 40 | } |
| 41 | + | |
| 34 | 42 | return /*#__PURE__*/React.createElement(_Tooltip, { |
| 35 | 43 | title: _description |
| 36 | 44 | }, /*#__PURE__*/React.createElement("i", { |
| 37 | 45 | className: "fr-tooltip-icon" |
| 38 | 46 | })); |
| 47 | + | |
| 39 | 48 | case 'inline': |
| 40 | 49 | return null; |
| 50 | + | |
| 41 | 51 | default: |
| 42 | 52 | if (descType === 'widget') { |
| 43 | 53 | return /*#__PURE__*/React.createElement(RenderDesc, null); |
| 44 | 54 | } |
| 55 | + | |
| 45 | 56 | if (descType === 'icon') { |
| 46 | 57 | return /*#__PURE__*/React.createElement(_Tooltip, { |
| 47 | 58 | title: _description |
| ... | ... | @@ -49,29 +60,35 @@ var Description = function Description(_ref) { |
| 49 | 60 | className: "fr-tooltip-icon" |
| 50 | 61 | })); |
| 51 | 62 | } |
| 63 | + | |
| 52 | 64 | return /*#__PURE__*/React.createElement("span", { |
| 53 | 65 | className: "fr-desc ml2", |
| 54 | 66 | title: description |
| 55 | 67 | }, "( ".concat(description, " )")); |
| 56 | 68 | } |
| 57 | 69 | }; |
| 70 | + | |
| 58 | 71 | var Title = function Title(_ref2) { |
| 59 | 72 | var labelClass = _ref2.labelClass, |
| 60 | - labelStyle = _ref2.labelStyle, | |
| 61 | - schema = _ref2.schema, | |
| 62 | - displayType = _ref2.displayType, | |
| 63 | - renderTitle = _ref2.renderTitle, | |
| 64 | - globalRequiredMark = _ref2.requiredMark; | |
| 73 | + labelStyle = _ref2.labelStyle, | |
| 74 | + schema = _ref2.schema, | |
| 75 | + displayType = _ref2.displayType, | |
| 76 | + renderTitle = _ref2.renderTitle, | |
| 77 | + globalRequiredMark = _ref2.requiredMark; | |
| 78 | + | |
| 65 | 79 | var _useStore = useStore2(), |
| 66 | - globalDisplayType = _useStore.displayType, | |
| 67 | - readOnly = _useStore.readOnly, | |
| 68 | - colon = _useStore.colon; | |
| 80 | + globalDisplayType = _useStore.displayType, | |
| 81 | + readOnly = _useStore.readOnly, | |
| 82 | + colon = _useStore.colon; | |
| 83 | + | |
| 69 | 84 | var title = schema.title, |
| 70 | - required = schema.required, | |
| 71 | - type = schema.type, | |
| 72 | - schemaRequiredMark = schema.requiredMark; | |
| 85 | + required = schema.required, | |
| 86 | + type = schema.type, | |
| 87 | + schemaRequiredMark = schema.requiredMark; | |
| 73 | 88 | var isObjType = type === 'object'; |
| 89 | + | |
| 74 | 90 | var _displayType = schema.displayType || displayType || globalDisplayType || 'column'; |
| 91 | + | |
| 75 | 92 | if (renderTitle) { |
| 76 | 93 | return renderTitle({ |
| 77 | 94 | labelClass: labelClass, |
| ... | ... | @@ -82,12 +99,13 @@ var Title = function Title(_ref2) { |
| 82 | 99 | colon: colon |
| 83 | 100 | }); |
| 84 | 101 | } |
| 85 | - var requiredMark = typeof schemaRequiredMark === 'undefined' ? globalRequiredMark : schemaRequiredMark; | |
| 86 | 102 | |
| 87 | - // 左侧的的 * 号提示 | |
| 88 | - var TitleRequiredMark = null; | |
| 89 | - // 左侧的 option 提示 | |
| 103 | + var requiredMark = typeof schemaRequiredMark === 'undefined' ? globalRequiredMark : schemaRequiredMark; // 左侧的的 * 号提示 | |
| 104 | + | |
| 105 | + var TitleRequiredMark = null; // 左侧的 option 提示 | |
| 106 | + | |
| 90 | 107 | var TitleTextMark = null; |
| 108 | + | |
| 91 | 109 | if (required) { |
| 92 | 110 | /** |
| 93 | 111 | * ant-design requiredMark 实现 |
| ... | ... | @@ -106,13 +124,14 @@ var Title = function Title(_ref2) { |
| 106 | 124 | className: "fr-label-required-text" |
| 107 | 125 | }, "\uFF08\u53EF\u9009\uFF09"); |
| 108 | 126 | } |
| 109 | - } | |
| 127 | + } // requiredMark 为 false 不展示必填符号 | |
| 128 | + | |
| 110 | 129 | |
| 111 | - // requiredMark 为 false 不展示必填符号 | |
| 112 | 130 | if (requiredMark === false) { |
| 113 | 131 | TitleRequiredMark = null; |
| 114 | 132 | TitleTextMark = null; |
| 115 | 133 | } |
| 134 | + | |
| 116 | 135 | return /*#__PURE__*/React.createElement("div", { |
| 117 | 136 | className: labelClass, |
| 118 | 137 | style: labelStyle |
| ... | ... | @@ -131,4 +150,5 @@ var Title = function Title(_ref2) { |
| 131 | 150 | displayType: _displayType |
| 132 | 151 | })) : null); |
| 133 | 152 | }; |
| 153 | + | |
| 134 | 154 | export default Title; |
| \ No newline at end of file | ... | ... |
| 1 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 2 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 1 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 2 | + | |
| 3 | 3 | function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } |
| 4 | + | |
| 4 | 5 | function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 6 | + | |
| 5 | 7 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
| 8 | + | |
| 6 | 9 | function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } |
| 10 | + | |
| 7 | 11 | function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } |
| 8 | -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | |
| 9 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 10 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 11 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 12 | + | |
| 13 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | |
| 14 | + | |
| 15 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 16 | + | |
| 12 | 17 | import React, { useRef } from 'react'; |
| 13 | 18 | import { useStore, useStore2, useTools } from '../../hooks'; |
| 14 | 19 | import useDebouncedCallback from '../../useDebounce'; |
| ... | ... | @@ -17,71 +22,80 @@ import { validateField } from '../../validator'; |
| 17 | 22 | import ErrorMessage from './ErrorMessage'; |
| 18 | 23 | import ExtendedWidget from './ExtendedWidget'; |
| 19 | 24 | import Extra from './Extra'; |
| 20 | -import FieldTitle from './Title'; | |
| 25 | +import FieldTitle from './Title'; // TODO: 之后不要直接用get,收口到一个内部方法getValue,便于全局 ctrl + f 查找 | |
| 21 | 26 | |
| 22 | -// TODO: 之后不要直接用get,收口到一个内部方法getValue,便于全局 ctrl + f 查找 | |
| 23 | 27 | var RenderField = function RenderField(props) { |
| 24 | 28 | var $id = props.$id, |
| 25 | - dataIndex = props.dataIndex, | |
| 26 | - dataPath = props.dataPath, | |
| 27 | - _value = props._value, | |
| 28 | - dependValues = props.dependValues, | |
| 29 | - _schema = props._schema, | |
| 30 | - labelClass = props.labelClass, | |
| 31 | - labelStyle = props.labelStyle, | |
| 32 | - _contentClass = props.contentClass, | |
| 33 | - children = props.children, | |
| 34 | - _props$errorFields = props.errorFields, | |
| 35 | - errorFields = _props$errorFields === void 0 ? [] : _props$errorFields, | |
| 36 | - hideTitle = props.hideTitle, | |
| 37 | - displayType = props.displayType; | |
| 29 | + dataIndex = props.dataIndex, | |
| 30 | + dataPath = props.dataPath, | |
| 31 | + _value = props._value, | |
| 32 | + dependValues = props.dependValues, | |
| 33 | + _schema = props._schema, | |
| 34 | + labelClass = props.labelClass, | |
| 35 | + labelStyle = props.labelStyle, | |
| 36 | + _contentClass = props.contentClass, | |
| 37 | + children = props.children, | |
| 38 | + _props$errorFields = props.errorFields, | |
| 39 | + errorFields = _props$errorFields === void 0 ? [] : _props$errorFields, | |
| 40 | + hideTitle = props.hideTitle, | |
| 41 | + displayType = props.displayType; | |
| 42 | + | |
| 38 | 43 | var _useStore = useStore(), |
| 39 | - formData = _useStore.formData, | |
| 40 | - flatten = _useStore.flatten; | |
| 44 | + formData = _useStore.formData, | |
| 45 | + flatten = _useStore.flatten; | |
| 46 | + | |
| 41 | 47 | var _useStore2 = useStore2(), |
| 42 | - debounceInput = _useStore2.debounceInput, | |
| 43 | - readOnly = _useStore2.readOnly, | |
| 44 | - disabled = _useStore2.disabled, | |
| 45 | - showValidate = _useStore2.showValidate, | |
| 46 | - validateMessages = _useStore2.validateMessages, | |
| 47 | - locale = _useStore2.locale, | |
| 48 | - watch = _useStore2.watch; | |
| 48 | + debounceInput = _useStore2.debounceInput, | |
| 49 | + readOnly = _useStore2.readOnly, | |
| 50 | + disabled = _useStore2.disabled, | |
| 51 | + showValidate = _useStore2.showValidate, | |
| 52 | + validateMessages = _useStore2.validateMessages, | |
| 53 | + locale = _useStore2.locale, | |
| 54 | + watch = _useStore2.watch; | |
| 55 | + | |
| 49 | 56 | var _useTools = useTools(), |
| 50 | - onValuesChange = _useTools.onValuesChange, | |
| 51 | - onItemChange = _useTools.onItemChange, | |
| 52 | - setEditing = _useTools.setEditing, | |
| 53 | - touchKey = _useTools.touchKey, | |
| 54 | - _setErrors = _useTools._setErrors, | |
| 55 | - renderTitle = _useTools.renderTitle, | |
| 56 | - requiredMark = _useTools.requiredMark, | |
| 57 | - setFieldValidating = _useTools.setFieldValidating, | |
| 58 | - removeFieldValidating = _useTools.removeFieldValidating, | |
| 59 | - setValueByPath = _useTools.setValueByPath; | |
| 57 | + onValuesChange = _useTools.onValuesChange, | |
| 58 | + onItemChange = _useTools.onItemChange, | |
| 59 | + setEditing = _useTools.setEditing, | |
| 60 | + touchKey = _useTools.touchKey, | |
| 61 | + _setErrors = _useTools._setErrors, | |
| 62 | + renderTitle = _useTools.renderTitle, | |
| 63 | + requiredMark = _useTools.requiredMark, | |
| 64 | + setFieldValidating = _useTools.setFieldValidating, | |
| 65 | + removeFieldValidating = _useTools.removeFieldValidating, | |
| 66 | + setValueByPath = _useTools.setValueByPath; | |
| 67 | + | |
| 60 | 68 | var formDataRef = useRef(); |
| 61 | - formDataRef.current = formData; | |
| 62 | - // console.log('<renderField>', $id); | |
| 69 | + formDataRef.current = formData; // console.log('<renderField>', $id); | |
| 63 | 70 | |
| 64 | 71 | var errObj = errorFields.find(function (err) { |
| 65 | 72 | return err.name === dataPath; |
| 66 | 73 | }); |
| 67 | 74 | var errorMessage = errObj && errObj.error; // 是一个list |
| 68 | - var hasError = Array.isArray(errorMessage) && errorMessage.length > 0; | |
| 69 | - // 补上这个class,会自动让下面所有的展示ui变红! | |
| 75 | + | |
| 76 | + var hasError = Array.isArray(errorMessage) && errorMessage.length > 0; // 补上这个class,会自动让下面所有的展示ui变红! | |
| 77 | + | |
| 70 | 78 | var contentClass = hasError && showValidate ? _contentClass + ' ant-form-item-has-error' : _contentClass; |
| 71 | 79 | var contentStyle = {}; |
| 72 | 80 | var debouncedSetEditing = useDebouncedCallback(setEditing, 350); |
| 81 | + | |
| 73 | 82 | var _readOnly = readOnly !== undefined ? readOnly : _schema.readOnly; |
| 83 | + | |
| 74 | 84 | var _disabled = disabled !== undefined ? disabled : _schema.disabled; |
| 85 | + | |
| 75 | 86 | var removeDupErrors = function removeDupErrors(arr) { |
| 76 | 87 | if (!Array.isArray(arr)) { |
| 77 | 88 | console.log('in removeDups: param is not an array'); |
| 78 | 89 | return; |
| 79 | 90 | } |
| 91 | + | |
| 80 | 92 | var array = []; |
| 93 | + | |
| 81 | 94 | for (var i = 0; i < arr.length; i++) { |
| 82 | 95 | var sameNameIndex = array.findIndex(function (item) { |
| 83 | 96 | return item.name === arr[i].name; |
| 84 | 97 | }); |
| 98 | + | |
| 85 | 99 | if (sameNameIndex > -1) { |
| 86 | 100 | var sameNameItem = array[sameNameIndex]; |
| 87 | 101 | var error1 = sameNameItem.error; |
| ... | ... | @@ -94,27 +108,31 @@ var RenderField = function RenderField(props) { |
| 94 | 108 | array.push(arr[i]); |
| 95 | 109 | } |
| 96 | 110 | } |
| 111 | + | |
| 97 | 112 | return array.filter(function (item) { |
| 98 | 113 | return Array.isArray(item.error) && item.error.length > 0; |
| 99 | 114 | }); |
| 100 | - }; | |
| 115 | + }; // TODO: 优化一下,只有touch还是false的时候,setTouched | |
| 116 | + | |
| 101 | 117 | |
| 102 | - // TODO: 优化一下,只有touch还是false的时候,setTouched | |
| 103 | 118 | var onChange = function onChange(value) { |
| 104 | 119 | // 动过的key,算被touch了, 这里之后要考虑动的来源 |
| 105 | - touchKey(dataPath); | |
| 106 | - // 开始编辑,节流 | |
| 120 | + touchKey(dataPath); // 开始编辑,节流 | |
| 121 | + | |
| 107 | 122 | if (debounceInput) { |
| 108 | 123 | setEditing(true); |
| 109 | 124 | debouncedSetEditing(false); |
| 110 | 125 | } |
| 126 | + | |
| 111 | 127 | if (typeof dataPath === 'string') { |
| 112 | 128 | onItemChange(dataPath, value); |
| 113 | - } | |
| 114 | - // 先不暴露给外部,这个api | |
| 129 | + } // 先不暴露给外部,这个api | |
| 130 | + | |
| 131 | + | |
| 115 | 132 | if (typeof onValuesChange === 'function') { |
| 116 | 133 | onValuesChange(_defineProperty({}, dataPath, value), formDataRef.current); |
| 117 | 134 | } |
| 135 | + | |
| 118 | 136 | validateField({ |
| 119 | 137 | path: dataPath, |
| 120 | 138 | formData: formDataRef.current, |
| ... | ... | @@ -133,6 +151,7 @@ var RenderField = function RenderField(props) { |
| 133 | 151 | }); |
| 134 | 152 | }); |
| 135 | 153 | }; |
| 154 | + | |
| 136 | 155 | var titleProps = { |
| 137 | 156 | labelClass: labelClass, |
| 138 | 157 | labelStyle: labelStyle, |
| ... | ... | @@ -148,23 +167,28 @@ var RenderField = function RenderField(props) { |
| 148 | 167 | softHidden: displayType === 'inline', |
| 149 | 168 | // 这个是如果没有校验信息时,展示与否 |
| 150 | 169 | hardHidden: showValidate === false || _readOnly === true // 这个是强制的展示与否 |
| 151 | - }; | |
| 152 | 170 | |
| 171 | + }; | |
| 153 | 172 | var placeholderTitleProps = { |
| 154 | 173 | className: labelClass, |
| 155 | 174 | style: labelStyle |
| 156 | 175 | }; |
| 157 | - var _showTitle = !hideTitle && typeof _schema.title === 'string'; | |
| 158 | - // TODO: 这块最好能判断上一层是list1, | |
| 176 | + | |
| 177 | + var _showTitle = !hideTitle && typeof _schema.title === 'string'; // TODO: 这块最好能判断上一层是list1, | |
| 178 | + | |
| 179 | + | |
| 159 | 180 | if (hideTitle && _schema.title) { |
| 160 | 181 | _schema.placeholder = _schema.placeholder || _schema.title; |
| 161 | 182 | } |
| 183 | + | |
| 162 | 184 | var _getValue = function _getValue(path) { |
| 163 | 185 | return getValueByPath(formData, path); |
| 164 | 186 | }; |
| 187 | + | |
| 165 | 188 | if (formDataRef.current && ['virtualList', 'listForMobile'].includes(_schema.widget)) { |
| 166 | 189 | _schema._setValueByPath = setValueByPath; |
| 167 | 190 | } |
| 191 | + | |
| 168 | 192 | var widgetProps = { |
| 169 | 193 | $id: $id, |
| 170 | 194 | schema: _schema, |
| ... | ... | @@ -182,18 +206,19 @@ var RenderField = function RenderField(props) { |
| 182 | 206 | watch: watch, |
| 183 | 207 | hasError: hasError |
| 184 | 208 | }; |
| 209 | + | |
| 185 | 210 | var displayBlock = function displayBlock() { |
| 186 | 211 | if (hasError && !_schema.extra) { |
| 187 | 212 | return false; |
| 188 | 213 | } |
| 189 | - return true; | |
| 190 | - }; | |
| 191 | 214 | |
| 192 | - // if (_schema && _schema.default !== undefined) { | |
| 215 | + return true; | |
| 216 | + }; // if (_schema && _schema.default !== undefined) { | |
| 193 | 217 | // widgetProps.value = _schema.default; |
| 194 | 218 | // } |
| 195 | - | |
| 196 | 219 | // checkbox必须单独处理,布局太不同了 |
| 220 | + | |
| 221 | + | |
| 197 | 222 | if (isCheckBoxType(_schema, _readOnly)) { |
| 198 | 223 | return /*#__PURE__*/React.createElement(React.Fragment, null, _showTitle && /*#__PURE__*/React.createElement("div", placeholderTitleProps), /*#__PURE__*/React.createElement("div", { |
| 199 | 224 | className: contentClass, |
| ... | ... | @@ -203,7 +228,9 @@ var RenderField = function RenderField(props) { |
| 203 | 228 | className: "field-block" |
| 204 | 229 | }))); |
| 205 | 230 | } |
| 231 | + | |
| 206 | 232 | var titleElement = /*#__PURE__*/React.createElement(FieldTitle, titleProps); |
| 233 | + | |
| 207 | 234 | if (isObjType(_schema)) { |
| 208 | 235 | titleElement = /*#__PURE__*/React.createElement("div", { |
| 209 | 236 | style: { |
| ... | ... | @@ -225,6 +252,7 @@ var RenderField = function RenderField(props) { |
| 225 | 252 | datapath: dataPath |
| 226 | 253 | }, /*#__PURE__*/React.createElement(ExtendedWidget, widgetProps)); |
| 227 | 254 | } |
| 255 | + | |
| 228 | 256 | return /*#__PURE__*/React.createElement(React.Fragment, null, _showTitle && titleElement, /*#__PURE__*/React.createElement("div", { |
| 229 | 257 | className: "".concat(contentClass, " ").concat(hideTitle ? 'fr-content-no-title' : ''), |
| 230 | 258 | style: contentStyle, |
| ... | ... | @@ -233,4 +261,5 @@ var RenderField = function RenderField(props) { |
| 233 | 261 | className: "field-block" |
| 234 | 262 | }))); |
| 235 | 263 | }; |
| 264 | + | |
| 236 | 265 | export default RenderField; |
| \ No newline at end of file | ... | ... |
| 1 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 2 | 1 | var _excluded = ["id", "_item", "dataIndex", "hideTitle", "hideValidation", "debugCss"], |
| 3 | - _excluded2 = ["id", "item", "dataIndex", "dataPath", "hideTitle", "hideValidation", "debugCss", "schema", "_value", "dependValues", "displayType", "labelAlign", "column", "labelWidth", "readOnly", "errorFields", "effectiveLabelWidth"]; | |
| 4 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 5 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 6 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 7 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 8 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 2 | + _excluded2 = ["id", "item", "dataIndex", "dataPath", "hideTitle", "hideValidation", "debugCss", "schema", "_value", "dependValues", "displayType", "labelAlign", "column", "labelWidth", "readOnly", "errorFields", "effectiveLabelWidth"]; | |
| 3 | + | |
| 4 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 5 | + | |
| 6 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 7 | + | |
| 8 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 9 | + | |
| 9 | 10 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } |
| 11 | + | |
| 10 | 12 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } |
| 13 | + | |
| 11 | 14 | import React, { useRef } from 'react'; |
| 12 | 15 | import { useStore, useStore2 } from '../hooks'; |
| 13 | 16 | import { clone, getDataPath, getParentPath, getParentProps, getValueByPath, isCheckBoxType, isCssLength, isListType, isLooselyNumber, isObjType, parseRootValueInSchema } from '../utils'; |
| 14 | 17 | import RenderList from './RenderChildren/RenderList'; |
| 15 | 18 | import RenderObject from './RenderChildren/RenderObject'; |
| 16 | 19 | import RenderField from './RenderField'; |
| 20 | + | |
| 17 | 21 | var Core = function Core(_ref) { |
| 18 | 22 | var _ref$id = _ref.id, |
| 19 | - id = _ref$id === void 0 ? '#' : _ref$id, | |
| 20 | - _item = _ref._item, | |
| 21 | - _ref$dataIndex = _ref.dataIndex, | |
| 22 | - dataIndex = _ref$dataIndex === void 0 ? [] : _ref$dataIndex, | |
| 23 | - _ref$hideTitle = _ref.hideTitle, | |
| 24 | - hideTitle = _ref$hideTitle === void 0 ? false : _ref$hideTitle, | |
| 25 | - _ref$hideValidation = _ref.hideValidation, | |
| 26 | - hideValidation = _ref$hideValidation === void 0 ? false : _ref$hideValidation, | |
| 27 | - debugCss = _ref.debugCss, | |
| 28 | - rest = _objectWithoutProperties(_ref, _excluded); | |
| 23 | + id = _ref$id === void 0 ? '#' : _ref$id, | |
| 24 | + _item = _ref._item, | |
| 25 | + _ref$dataIndex = _ref.dataIndex, | |
| 26 | + dataIndex = _ref$dataIndex === void 0 ? [] : _ref$dataIndex, | |
| 27 | + _ref$hideTitle = _ref.hideTitle, | |
| 28 | + hideTitle = _ref$hideTitle === void 0 ? false : _ref$hideTitle, | |
| 29 | + _ref$hideValidation = _ref.hideValidation, | |
| 30 | + hideValidation = _ref$hideValidation === void 0 ? false : _ref$hideValidation, | |
| 31 | + debugCss = _ref.debugCss, | |
| 32 | + rest = _objectWithoutProperties(_ref, _excluded); | |
| 33 | + | |
| 29 | 34 | var snapShot = useRef(); |
| 35 | + | |
| 30 | 36 | var _useStore = useStore(), |
| 31 | - flatten = _useStore.flatten, | |
| 32 | - errorFields = _useStore.errorFields, | |
| 33 | - isEditing = _useStore.isEditing, | |
| 34 | - formData = _useStore.formData, | |
| 35 | - allTouched = _useStore.allTouched; | |
| 37 | + flatten = _useStore.flatten, | |
| 38 | + errorFields = _useStore.errorFields, | |
| 39 | + isEditing = _useStore.isEditing, | |
| 40 | + formData = _useStore.formData, | |
| 41 | + allTouched = _useStore.allTouched; | |
| 42 | + | |
| 36 | 43 | var _useStore2 = useStore2(), |
| 37 | - displayType = _useStore2.displayType, | |
| 38 | - column = _useStore2.column, | |
| 39 | - labelWidth = _useStore2.labelWidth, | |
| 40 | - readOnly = _useStore2.readOnly, | |
| 41 | - labelAlign = _useStore2.labelAlign; | |
| 44 | + displayType = _useStore2.displayType, | |
| 45 | + column = _useStore2.column, | |
| 46 | + labelWidth = _useStore2.labelWidth, | |
| 47 | + readOnly = _useStore2.readOnly, | |
| 48 | + labelAlign = _useStore2.labelAlign; | |
| 49 | + | |
| 42 | 50 | var item = _item ? _item : flatten[id]; |
| 43 | 51 | if (!item) return null; |
| 44 | 52 | var dataPath = getDataPath(id, dataIndex); |
| 45 | 53 | var parentPath = getParentPath(dataPath); |
| 54 | + | |
| 46 | 55 | var _value = getValueByPath(formData, dataPath); |
| 47 | - var schema = clone(item.schema); | |
| 48 | - // schema.disabled = !!subReadOnly; | |
| 56 | + | |
| 57 | + var schema = clone(item.schema); // schema.disabled = !!subReadOnly; | |
| 58 | + | |
| 49 | 59 | var dependencies = schema.dependencies; |
| 50 | 60 | var dependValues = []; |
| 51 | 61 | var rootValue; |
| 62 | + | |
| 52 | 63 | try { |
| 53 | 64 | if (Array.isArray(dependencies)) { |
| 54 | 65 | dependencies.forEach(function (item) { |
| ... | ... | @@ -60,25 +71,29 @@ var Core = function Core(_ref) { |
| 60 | 71 | } catch (error) { |
| 61 | 72 | console.error("dependencies \u8BA1\u7B97\u62A5\u9519\uFF0C".concat(dependencies)); |
| 62 | 73 | } |
| 74 | + | |
| 63 | 75 | try { |
| 64 | 76 | rootValue = getValueByPath(formData, parentPath); |
| 77 | + | |
| 65 | 78 | if (dataIndex.length) { |
| 66 | 79 | rootValue.index = dataIndex[dataIndex.length - 1]; |
| 67 | 80 | } |
| 68 | - } catch (error) {} | |
| 81 | + } catch (error) {} // 节流部分逻辑,编辑时不执行 | |
| 82 | + | |
| 69 | 83 | |
| 70 | - // 节流部分逻辑,编辑时不执行 | |
| 71 | 84 | if (isEditing && snapShot.current) { |
| 72 | 85 | schema = snapShot.current; |
| 73 | 86 | } else { |
| 74 | 87 | if (JSON.stringify(schema).indexOf('rootValue') > -1) { |
| 75 | 88 | schema = parseRootValueInSchema(schema, rootValue); |
| 76 | 89 | } |
| 90 | + | |
| 77 | 91 | snapShot.current = schema; |
| 78 | - } | |
| 92 | + } // 真正有效的label宽度需要从现在所在item开始一直往上回溯(设计成了继承关系),找到的第一个有值的 ui:labelWidth | |
| 93 | + | |
| 79 | 94 | |
| 80 | - // 真正有效的label宽度需要从现在所在item开始一直往上回溯(设计成了继承关系),找到的第一个有值的 ui:labelWidth | |
| 81 | 95 | var effectiveLabelWidth = getParentProps('labelWidth', id, flatten) || labelWidth; |
| 96 | + | |
| 82 | 97 | var dataProps = _objectSpread({ |
| 83 | 98 | id: id, |
| 84 | 99 | item: item, |
| ... | ... | @@ -101,34 +116,39 @@ var Core = function Core(_ref) { |
| 101 | 116 | allTouched: allTouched, |
| 102 | 117 | labelAlign: labelAlign |
| 103 | 118 | }, rest); |
| 119 | + | |
| 104 | 120 | return /*#__PURE__*/React.createElement(CoreRender, dataProps); |
| 105 | 121 | }; |
| 122 | + | |
| 106 | 123 | var CoreRender = function CoreRender(_ref2) { |
| 107 | 124 | var id = _ref2.id, |
| 108 | - item = _ref2.item, | |
| 109 | - dataIndex = _ref2.dataIndex, | |
| 110 | - dataPath = _ref2.dataPath, | |
| 111 | - hideTitle = _ref2.hideTitle, | |
| 112 | - hideValidation = _ref2.hideValidation, | |
| 113 | - debugCss = _ref2.debugCss, | |
| 114 | - schema = _ref2.schema, | |
| 115 | - _value = _ref2._value, | |
| 116 | - dependValues = _ref2.dependValues, | |
| 117 | - displayType = _ref2.displayType, | |
| 118 | - labelAlign = _ref2.labelAlign, | |
| 119 | - column = _ref2.column, | |
| 120 | - labelWidth = _ref2.labelWidth, | |
| 121 | - readOnly = _ref2.readOnly, | |
| 122 | - errorFields = _ref2.errorFields, | |
| 123 | - effectiveLabelWidth = _ref2.effectiveLabelWidth, | |
| 124 | - rest = _objectWithoutProperties(_ref2, _excluded2); | |
| 125 | + item = _ref2.item, | |
| 126 | + dataIndex = _ref2.dataIndex, | |
| 127 | + dataPath = _ref2.dataPath, | |
| 128 | + hideTitle = _ref2.hideTitle, | |
| 129 | + hideValidation = _ref2.hideValidation, | |
| 130 | + debugCss = _ref2.debugCss, | |
| 131 | + schema = _ref2.schema, | |
| 132 | + _value = _ref2._value, | |
| 133 | + dependValues = _ref2.dependValues, | |
| 134 | + displayType = _ref2.displayType, | |
| 135 | + labelAlign = _ref2.labelAlign, | |
| 136 | + column = _ref2.column, | |
| 137 | + labelWidth = _ref2.labelWidth, | |
| 138 | + readOnly = _ref2.readOnly, | |
| 139 | + errorFields = _ref2.errorFields, | |
| 140 | + effectiveLabelWidth = _ref2.effectiveLabelWidth, | |
| 141 | + rest = _objectWithoutProperties(_ref2, _excluded2); | |
| 142 | + | |
| 125 | 143 | // if (schema.hidden) { |
| 126 | 144 | // return null; |
| 127 | 145 | // } |
| 128 | 146 | // 样式的逻辑全放在这层 |
| 129 | 147 | // displayType 一层层网上找值 |
| 130 | 148 | var _displayType = schema.displayType || rest.displayType || displayType || 'column'; |
| 149 | + | |
| 131 | 150 | var _labelAlign = schema.labelAlign || rest.labelAlign || labelAlign || 'right'; |
| 151 | + | |
| 132 | 152 | var isList = isListType(schema); |
| 133 | 153 | var isObj = isObjType(schema); |
| 134 | 154 | var isComplex = isObj || isList; |
| ... | ... | @@ -137,53 +157,68 @@ var CoreRender = function CoreRender(_ref2) { |
| 137 | 157 | var containerClass = "fr-field ".concat(_displayType === 'inline' ? '' : 'w-100', " flex"); |
| 138 | 158 | var labelClass = "fr-label"; |
| 139 | 159 | var contentClass = "fr-content"; |
| 160 | + | |
| 140 | 161 | if (typeof schema.className === 'string') { |
| 141 | 162 | containerClass += ' ' + schema.className; |
| 142 | - } | |
| 163 | + } // common classNames dispite row or column | |
| 164 | + | |
| 143 | 165 | |
| 144 | - // common classNames dispite row or column | |
| 145 | 166 | switch (schema.type) { |
| 146 | 167 | case 'object': |
| 147 | 168 | if (isObj) { |
| 148 | 169 | if (schema.title) { |
| 149 | 170 | labelClass += ' fr-label-object'; |
| 150 | 171 | } |
| 172 | + | |
| 151 | 173 | containerClass += ' fr-field-object'; |
| 152 | 174 | } |
| 175 | + | |
| 153 | 176 | break; |
| 177 | + | |
| 154 | 178 | case 'array': |
| 155 | 179 | // list 有两种展示形式! |
| 156 | 180 | if (isList) { |
| 157 | 181 | if (schema.title) { |
| 158 | 182 | labelClass += ' fr-label-list'; |
| 159 | 183 | } |
| 184 | + | |
| 160 | 185 | containerClass += ' fr-field-column'; |
| 161 | 186 | } |
| 187 | + | |
| 162 | 188 | break; |
| 189 | + | |
| 163 | 190 | case 'boolean': |
| 164 | 191 | if (isCheckBox) { |
| 165 | 192 | contentClass += ' fr-content-column'; // checkbox高度短,需要居中对齐 |
| 193 | + | |
| 166 | 194 | containerClass += " flex ".concat(_displayType === 'column' ? 'flex-column' : ''); |
| 167 | 195 | } |
| 196 | + | |
| 168 | 197 | break; |
| 198 | + | |
| 169 | 199 | default: |
| 170 | - } | |
| 171 | - // column specific className | |
| 200 | + } // column specific className | |
| 201 | + | |
| 202 | + | |
| 172 | 203 | if (!isComplex && !isCheckBox) { |
| 173 | 204 | if (_displayType === 'column') { |
| 174 | 205 | containerClass += ' flex-column'; |
| 175 | 206 | labelClass += ' fr-label-column'; |
| 176 | 207 | contentClass += ' fr-content-column'; |
| 208 | + | |
| 177 | 209 | switch (schema.type) { |
| 178 | 210 | case 'object': |
| 179 | 211 | break; |
| 212 | + | |
| 180 | 213 | case 'array': |
| 181 | - if (schema.title && !schema.enum) { | |
| 182 | - // labelClass += ' b mb2'; | |
| 214 | + if (schema.title && !schema.enum) {// labelClass += ' b mb2'; | |
| 183 | 215 | } |
| 216 | + | |
| 184 | 217 | break; |
| 218 | + | |
| 185 | 219 | case 'boolean': |
| 186 | 220 | break; |
| 221 | + | |
| 187 | 222 | default: |
| 188 | 223 | } |
| 189 | 224 | } else if (_displayType === 'row') { |
| ... | ... | @@ -191,25 +226,29 @@ var CoreRender = function CoreRender(_ref2) { |
| 191 | 226 | containerClass += ''; |
| 192 | 227 | labelClass += " fr-label-row ".concat(_labelAlign === 'right' ? 'fr-label-align-right' : 'fr-label-align-left'); |
| 193 | 228 | contentClass += ' fr-content-row'; |
| 229 | + | |
| 194 | 230 | if (!isObj && !isCheckBox) { |
| 195 | 231 | labelClass += ' flex-shrink-0 fr-label-row'; |
| 196 | 232 | contentClass += ' flex-grow-1 relative'; |
| 197 | 233 | } |
| 198 | 234 | } |
| 199 | - } | |
| 235 | + } // style part | |
| 236 | + | |
| 200 | 237 | |
| 201 | - // style part | |
| 202 | 238 | var columnStyle = {}; |
| 239 | + | |
| 203 | 240 | if (schema.currentStep === false) { |
| 204 | 241 | columnStyle.display = 'none'; |
| 205 | 242 | } else { |
| 206 | 243 | columnStyle = {}; |
| 207 | 244 | } |
| 245 | + | |
| 208 | 246 | if (schema.hidden) { |
| 209 | 247 | columnStyle.display = 'none'; |
| 210 | - } | |
| 211 | - // if (!isComplex) { | |
| 248 | + } // if (!isComplex) { | |
| 212 | 249 | // } |
| 250 | + | |
| 251 | + | |
| 213 | 252 | if (!isObj) { |
| 214 | 253 | if (width) { |
| 215 | 254 | columnStyle.width = width; |
| ... | ... | @@ -219,16 +258,20 @@ var CoreRender = function CoreRender(_ref2) { |
| 219 | 258 | columnStyle.paddingRight = 8; |
| 220 | 259 | } |
| 221 | 260 | } |
| 261 | + | |
| 222 | 262 | var _labelWidth = isLooselyNumber(effectiveLabelWidth) ? Number(effectiveLabelWidth) : isCssLength(effectiveLabelWidth) ? effectiveLabelWidth : 110; // 默认是 110px 的长度 |
| 223 | 263 | |
| 264 | + | |
| 224 | 265 | var labelStyle = { |
| 225 | 266 | width: _labelWidth |
| 226 | 267 | }; |
| 268 | + | |
| 227 | 269 | if (isComplex || _displayType === 'column') { |
| 228 | 270 | labelStyle = { |
| 229 | 271 | flexGrow: 1 |
| 230 | 272 | }; |
| 231 | 273 | } |
| 274 | + | |
| 232 | 275 | if (_displayType === 'inline') { |
| 233 | 276 | labelStyle = { |
| 234 | 277 | marginTop: 5, |
| ... | ... | @@ -236,10 +279,12 @@ var CoreRender = function CoreRender(_ref2) { |
| 236 | 279 | }; |
| 237 | 280 | labelClass = ''; |
| 238 | 281 | contentClass += ' fr-content-inline'; |
| 282 | + | |
| 239 | 283 | if (containerClass.indexOf('fr-field-object') === -1) { |
| 240 | 284 | containerClass += ' fr-field-inline'; |
| 241 | 285 | } |
| 242 | 286 | } |
| 287 | + | |
| 243 | 288 | var hasChildren = item.children && item.children.length > 0; |
| 244 | 289 | var fieldProps = { |
| 245 | 290 | $id: id, |
| ... | ... | @@ -273,10 +318,10 @@ var CoreRender = function CoreRender(_ref2) { |
| 273 | 318 | errorFields: errorFields, |
| 274 | 319 | displayType: _displayType, |
| 275 | 320 | hideTitle: hideTitle |
| 276 | - }, item.children); | |
| 321 | + }, item.children); // 计算 children | |
| 277 | 322 | |
| 278 | - // 计算 children | |
| 279 | 323 | var _children = null; |
| 324 | + | |
| 280 | 325 | if (hasChildren) { |
| 281 | 326 | if (isObj) { |
| 282 | 327 | _children = objChildren; |
| ... | ... | @@ -286,46 +331,58 @@ var CoreRender = function CoreRender(_ref2) { |
| 286 | 331 | } else if (isCheckBox) { |
| 287 | 332 | _children = schema.title; |
| 288 | 333 | } |
| 334 | + | |
| 289 | 335 | return /*#__PURE__*/React.createElement("div", { |
| 290 | 336 | style: columnStyle, |
| 291 | 337 | className: "".concat(containerClass, " ").concat(debugCss ? 'debug' : '') |
| 292 | 338 | }, /*#__PURE__*/React.createElement(RenderField, fieldProps, _children)); |
| 293 | -}; | |
| 339 | +}; // haven't used | |
| 340 | + | |
| 294 | 341 | |
| 295 | -// haven't used | |
| 296 | 342 | var areEqual = function areEqual(prev, current) { |
| 297 | 343 | if (prev.allTouched !== current.allTouched) { |
| 298 | 344 | return false; |
| 299 | 345 | } |
| 346 | + | |
| 300 | 347 | if (prev.displayType !== current.displayType) { |
| 301 | 348 | return false; |
| 302 | 349 | } |
| 350 | + | |
| 303 | 351 | if (prev.column !== current.column) { |
| 304 | 352 | return false; |
| 305 | 353 | } |
| 354 | + | |
| 306 | 355 | if (prev.labelWidth !== current.labelWidth) { |
| 307 | 356 | return false; |
| 308 | 357 | } |
| 358 | + | |
| 309 | 359 | if (prev.readOnly !== current.readOnly) { |
| 310 | 360 | return false; |
| 311 | 361 | } |
| 362 | + | |
| 312 | 363 | if (prev.disabled !== current.disabled) { |
| 313 | 364 | return false; |
| 314 | 365 | } |
| 366 | + | |
| 315 | 367 | if (prev.schema && current.schema) { |
| 316 | 368 | if (prev.schema.$id === '#') { |
| 317 | 369 | return false; |
| 318 | 370 | } |
| 319 | 371 | } |
| 372 | + | |
| 320 | 373 | if (isObjType(prev.schema) && isObjType(current.schema)) { |
| 321 | 374 | return false; |
| 322 | 375 | } |
| 376 | + | |
| 323 | 377 | if (JSON.stringify(prev.dependValues) !== JSON.stringify(current.dependValues)) { |
| 324 | 378 | return false; |
| 325 | 379 | } |
| 380 | + | |
| 326 | 381 | if (JSON.stringify(prev._value) === JSON.stringify(current._value) && JSON.stringify(prev.schema) === JSON.stringify(current.schema) && JSON.stringify(prev.errorFields) === JSON.stringify(current.errorFields)) { |
| 327 | 382 | return true; |
| 328 | 383 | } |
| 384 | + | |
| 329 | 385 | return false; |
| 330 | 386 | }; |
| 387 | + | |
| 331 | 388 | export default Core; |
| \ No newline at end of file | ... | ... |
| 1 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 2 | 1 | var _excluded = ["schema"], |
| 3 | - _excluded2 = ["onChange", "value", "defaultValue", "schema", "readOnly"]; | |
| 4 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 5 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 6 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 7 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 8 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 9 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 2 | + _excluded2 = ["onChange", "value", "defaultValue", "schema", "readOnly"]; | |
| 3 | + | |
| 4 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 5 | + | |
| 6 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 7 | + | |
| 8 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 9 | + | |
| 10 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 11 | + | |
| 10 | 12 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } |
| 13 | + | |
| 11 | 14 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } |
| 15 | + | |
| 12 | 16 | import React from "react"; |
| 13 | 17 | import { defaultGetValueFromEvent } from './utils'; |
| 14 | 18 | export var createWidget = function createWidget(mapProps, extraSchema) { |
| 15 | 19 | return function (Component) { |
| 16 | 20 | return function (props) { |
| 17 | 21 | var schema = props.schema, |
| 18 | - rest = _objectWithoutProperties(props, _excluded); | |
| 22 | + rest = _objectWithoutProperties(props, _excluded); | |
| 23 | + | |
| 19 | 24 | var _schema = _objectSpread(_objectSpread({}, schema), extraSchema); |
| 25 | + | |
| 20 | 26 | var propsMap = typeof mapProps === 'function' ? mapProps(_objectSpread({ |
| 21 | 27 | schema: _schema |
| 22 | 28 | }, rest)) : {}; |
| 29 | + | |
| 23 | 30 | var _props = _objectSpread(_objectSpread({ |
| 24 | 31 | schema: _schema |
| 25 | 32 | }, rest), propsMap); |
| 33 | + | |
| 26 | 34 | var finalProps = transformProps(_props); |
| 27 | 35 | return /*#__PURE__*/React.createElement(Component, _extends({}, finalProps, { |
| 28 | 36 | getPopupContainer: function getPopupContainer(triggerNode) { |
| ... | ... | @@ -34,44 +42,55 @@ export var createWidget = function createWidget(mapProps, extraSchema) { |
| 34 | 42 | }; |
| 35 | 43 | export var transformProps = function transformProps(props) { |
| 36 | 44 | var onChange = props.onChange, |
| 37 | - value = props.value, | |
| 38 | - defaultValue = props.defaultValue, | |
| 39 | - ownSchema = props.schema, | |
| 40 | - readOnly = props.readOnly, | |
| 41 | - rest = _objectWithoutProperties(props, _excluded2); | |
| 45 | + value = props.value, | |
| 46 | + defaultValue = props.defaultValue, | |
| 47 | + ownSchema = props.schema, | |
| 48 | + readOnly = props.readOnly, | |
| 49 | + rest = _objectWithoutProperties(props, _excluded2); | |
| 50 | + | |
| 42 | 51 | var schema = _objectSpread({}, ownSchema); |
| 52 | + | |
| 43 | 53 | var _ref = schema || {}, |
| 44 | - trigger = _ref.trigger, | |
| 45 | - valuePropName = _ref.valuePropName; | |
| 54 | + trigger = _ref.trigger, | |
| 55 | + valuePropName = _ref.valuePropName; | |
| 56 | + | |
| 46 | 57 | var controlProps = {}; |
| 47 | 58 | var _valuePropName = 'value'; |
| 59 | + | |
| 48 | 60 | var _value = value === undefined ? defaultValue : value; |
| 61 | + | |
| 49 | 62 | if (valuePropName && typeof valuePropName === 'string') { |
| 50 | 63 | _valuePropName = valuePropName; |
| 51 | 64 | controlProps[valuePropName] = _value; |
| 52 | 65 | } else { |
| 53 | 66 | controlProps.value = _value; |
| 54 | 67 | } |
| 68 | + | |
| 55 | 69 | var _onChange = function _onChange() { |
| 56 | 70 | for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { |
| 57 | 71 | args[_key] = arguments[_key]; |
| 58 | 72 | } |
| 73 | + | |
| 59 | 74 | var newValue = defaultGetValueFromEvent.apply(void 0, [_valuePropName].concat(args)); |
| 60 | 75 | onChange(newValue); |
| 61 | 76 | }; |
| 77 | + | |
| 62 | 78 | if (trigger && typeof trigger === 'string') { |
| 63 | 79 | controlProps.onChange = _onChange; |
| 64 | 80 | controlProps[trigger] = _onChange; |
| 65 | 81 | } else { |
| 66 | 82 | controlProps.onChange = _onChange; |
| 67 | 83 | } |
| 84 | + | |
| 68 | 85 | var usefulPropsFromSchema = { |
| 69 | 86 | disabled: schema.disabled || schema['ui:disabled'], |
| 70 | 87 | readOnly: schema.readOnly || schema['ui:readonly'] || readOnly, |
| 71 | 88 | hidden: schema.hidden || schema['ui:hidden'] |
| 72 | 89 | }; |
| 90 | + | |
| 73 | 91 | var _props = _objectSpread(_objectSpread(_objectSpread({}, controlProps), {}, { |
| 74 | 92 | schema: schema |
| 75 | 93 | }, usefulPropsFromSchema), rest); |
| 94 | + | |
| 76 | 95 | return _props; |
| 77 | 96 | }; |
| \ No newline at end of file | ... | ... |
| 1 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 2 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 3 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 4 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 5 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 6 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 1 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 2 | + | |
| 3 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 4 | + | |
| 5 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 6 | + | |
| 7 | 7 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
| 8 | + | |
| 8 | 9 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
| 10 | + | |
| 9 | 11 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
| 10 | -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | |
| 11 | -function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } | |
| 12 | + | |
| 13 | +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | |
| 14 | + | |
| 15 | +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | |
| 16 | + | |
| 12 | 17 | function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } |
| 18 | + | |
| 13 | 19 | import { createContext, useContext, useEffect, useReducer, useRef, useState } from 'react'; |
| 14 | 20 | export var Ctx = /*#__PURE__*/createContext(function () {}); |
| 15 | 21 | export var StoreCtx = /*#__PURE__*/createContext({}); |
| ... | ... | @@ -25,27 +31,38 @@ export var useStore2 = function useStore2() { |
| 25 | 31 | }; |
| 26 | 32 | export var useSet = function useSet(initState) { |
| 27 | 33 | var _useReducer = useReducer(function (state, newState) { |
| 28 | - var action = newState; | |
| 29 | - if (typeof newState === 'function') { | |
| 34 | + var action = newState; | |
| 35 | + | |
| 36 | + if (typeof newState === 'function') { | |
| 37 | + action = action(state); | |
| 38 | + } | |
| 39 | + | |
| 40 | + if (newState.action && newState.payload) { | |
| 41 | + action = newState.payload; | |
| 42 | + | |
| 43 | + if (typeof action === 'function') { | |
| 30 | 44 | action = action(state); |
| 31 | 45 | } |
| 32 | - if (newState.action && newState.payload) { | |
| 33 | - action = newState.payload; | |
| 34 | - if (typeof action === 'function') { | |
| 35 | - action = action(state); | |
| 36 | - } | |
| 37 | - } | |
| 38 | - var result = _objectSpread(_objectSpread({}, state), action); | |
| 39 | - // console.group(newState.action || 'action'); // TODO: give it a name | |
| 40 | - // console.log('%cState:', 'color: #9E9E9E; font-weight: 700;', state); | |
| 41 | - // console.log('%cAction:', 'color: #00A7F7; font-weight: 700;', action); | |
| 42 | - // console.log('%cNext:', 'color: #47B04B; font-weight: 700;', result); | |
| 43 | - // console.groupEnd(); | |
| 44 | - return result; | |
| 45 | - }, initState), | |
| 46 | - _useReducer2 = _slicedToArray(_useReducer, 2), | |
| 47 | - state = _useReducer2[0], | |
| 48 | - setState = _useReducer2[1]; | |
| 46 | + } | |
| 47 | + | |
| 48 | + var result = _objectSpread(_objectSpread({}, state), action); // console.group(newState.action || 'action'); // TODO: give it a name | |
| 49 | + // console.log('%cState:', 'color: #9E9E9E; font-weight: 700;', state); | |
| 50 | + // console.log('%cAction:', 'color: #00A7F7; font-weight: 700;', action); | |
| 51 | + // console.log('%cNext:', 'color: #47B04B; font-weight: 700;', result); | |
| 52 | + // console.groupEnd(); | |
| 53 | + | |
| 54 | + | |
| 55 | + // console.group(newState.action || 'action'); // TODO: give it a name | |
| 56 | + // console.log('%cState:', 'color: #9E9E9E; font-weight: 700;', state); | |
| 57 | + // console.log('%cAction:', 'color: #00A7F7; font-weight: 700;', action); | |
| 58 | + // console.log('%cNext:', 'color: #47B04B; font-weight: 700;', result); | |
| 59 | + // console.groupEnd(); | |
| 60 | + return result; | |
| 61 | + }, initState), | |
| 62 | + _useReducer2 = _slicedToArray(_useReducer, 2), | |
| 63 | + state = _useReducer2[0], | |
| 64 | + setState = _useReducer2[1]; | |
| 65 | + | |
| 49 | 66 | return [state, setState]; |
| 50 | 67 | }; |
| 51 | 68 | export function useInterval(callback, delay, start) { |
| ... | ... | @@ -58,10 +75,13 @@ export function useInterval(callback, delay, start) { |
| 58 | 75 | if (!start) { |
| 59 | 76 | return; |
| 60 | 77 | } |
| 78 | + | |
| 61 | 79 | function tick() { |
| 62 | 80 | savedCallback && savedCallback.current && savedCallback.current(); |
| 63 | 81 | } |
| 82 | + | |
| 64 | 83 | tick(); |
| 84 | + | |
| 65 | 85 | if (delay !== null) { |
| 66 | 86 | id.current = setInterval(tick, delay); |
| 67 | 87 | return function () { |
| ... | ... | @@ -76,54 +96,62 @@ export function useInterval(callback, delay, start) { |
| 76 | 96 | export function usePrevious(value) { |
| 77 | 97 | // The ref object is a generic container whose current property is mutable ... |
| 78 | 98 | // ... and can hold any value, similar to an instance property on a class |
| 79 | - var ref = useRef(); | |
| 99 | + var ref = useRef(); // Store current value in ref | |
| 80 | 100 | |
| 81 | - // Store current value in ref | |
| 82 | 101 | useEffect(function () { |
| 83 | 102 | ref.current = value; |
| 84 | 103 | }, [value]); // Only re-run if value changes |
| 85 | - | |
| 86 | 104 | // Return previous value (happens before update in useEffect above) |
| 105 | + | |
| 87 | 106 | return ref.current; |
| 88 | 107 | } |
| 89 | 108 | export var useShowOnce = function useShowOnce(localKey) { |
| 90 | 109 | // 从 localStorage 读取 key 值 |
| 91 | 110 | var _useState = useState(false), |
| 92 | - _useState2 = _slicedToArray(_useState, 2), | |
| 93 | - show = _useState2[0], | |
| 94 | - setShow = _useState2[1]; | |
| 111 | + _useState2 = _slicedToArray(_useState, 2), | |
| 112 | + show = _useState2[0], | |
| 113 | + setShow = _useState2[1]; | |
| 114 | + | |
| 95 | 115 | var localStr; |
| 116 | + | |
| 96 | 117 | try { |
| 97 | 118 | localStr = localStorage.getItem(localKey); |
| 98 | 119 | } catch (error) {} |
| 120 | + | |
| 99 | 121 | if (!localStr) { |
| 100 | 122 | setShow(true); |
| 101 | 123 | localStorage.setItem(localKey, JSON.stringify(true)); |
| 102 | 124 | } |
| 125 | + | |
| 103 | 126 | return show; |
| 104 | 127 | }; |
| 105 | 128 | export var useModal = function useModal() { |
| 106 | 129 | var _useState3 = useState(false), |
| 107 | - _useState4 = _slicedToArray(_useState3, 2), | |
| 108 | - show = _useState4[0], | |
| 109 | - setShow = _useState4[1]; | |
| 130 | + _useState4 = _slicedToArray(_useState3, 2), | |
| 131 | + show = _useState4[0], | |
| 132 | + setShow = _useState4[1]; | |
| 133 | + | |
| 110 | 134 | var toggle = function toggle() { |
| 111 | 135 | return setShow(!show); |
| 112 | 136 | }; |
| 137 | + | |
| 113 | 138 | return [show, toggle]; |
| 114 | 139 | }; |
| 115 | 140 | export var useWindowState = function useWindowState(initState) { |
| 116 | 141 | var _useState5 = useState(initState), |
| 117 | - _useState6 = _slicedToArray(_useState5, 2), | |
| 118 | - state = _useState6[0], | |
| 119 | - setState = _useState6[1]; | |
| 142 | + _useState6 = _slicedToArray(_useState5, 2), | |
| 143 | + state = _useState6[0], | |
| 144 | + setState = _useState6[1]; | |
| 145 | + | |
| 120 | 146 | return [state, setState]; |
| 121 | 147 | }; |
| 122 | 148 | export var useStorageState = function useStorageState() { |
| 123 | 149 | var initState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; |
| 124 | 150 | var searchKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'SAVES'; |
| 151 | + | |
| 125 | 152 | var readSearchFromStorage = function readSearchFromStorage() { |
| 126 | 153 | var searchStr = localStorage.getItem(searchKey); |
| 154 | + | |
| 127 | 155 | if (searchStr) { |
| 128 | 156 | try { |
| 129 | 157 | return JSON.parse(searchStr); |
| ... | ... | @@ -131,15 +159,19 @@ export var useStorageState = function useStorageState() { |
| 131 | 159 | return initState; |
| 132 | 160 | } |
| 133 | 161 | } |
| 162 | + | |
| 134 | 163 | return initState; |
| 135 | 164 | }; |
| 165 | + | |
| 136 | 166 | var _useState7 = useState(readSearchFromStorage()), |
| 137 | - _useState8 = _slicedToArray(_useState7, 2), | |
| 138 | - data = _useState8[0], | |
| 139 | - setData = _useState8[1]; | |
| 167 | + _useState8 = _slicedToArray(_useState7, 2), | |
| 168 | + data = _useState8[0], | |
| 169 | + setData = _useState8[1]; | |
| 170 | + | |
| 140 | 171 | var setSearchWithStorage = function setSearchWithStorage(search) { |
| 141 | 172 | setData(search); |
| 142 | 173 | localStorage.setItem(searchKey, JSON.stringify(search)); |
| 143 | 174 | }; |
| 175 | + | |
| 144 | 176 | return [data, setSearchWithStorage]; |
| 145 | 177 | }; |
| \ No newline at end of file | ... | ... |
| 1 | 1 | var _excluded = ["id", "widgets", "layoutWidgets", "mapping", "form", "className", "style", "beforeFinish", "onFinish", "displayType", "labelAlign", "colon", "schema", "debug", "debugCss", "locale", "debounceInput", "size", "configProvider", "theme", "validateMessages", "watch", "config", "onMount", "labelWidth", "readOnly", "disabled", "allCollapsed", "onValuesChange", "column", "removeHiddenData", "globalProps", "methods", "renderTitle", "requiredMark"], |
| 2 | - _excluded2 = ["onItemChange", "setEditing", "touchKey", "setValueByPath", "getSchemaByPath", "setSchemaByPath", "setSchema", "setValues", "getValues", "resetFields", "submit", "endValidating", "endSubmitting", "setErrorFields", "removeErrorField", "removeTouched", "changeTouchedKeys", "syncStuff", "logOnMount", "logOnSubmit", "setFirstMount", "_setErrors"], | |
| 3 | - _excluded3 = ["isOldVersion", "schema"]; | |
| 4 | -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 5 | -function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | |
| 6 | -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | |
| 7 | -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | |
| 8 | -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 9 | -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } | |
| 10 | -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } | |
| 2 | + _excluded2 = ["onItemChange", "setEditing", "touchKey", "setValueByPath", "getSchemaByPath", "setSchemaByPath", "setSchema", "setValues", "getValues", "resetFields", "submit", "endValidating", "endSubmitting", "setErrorFields", "removeErrorField", "removeTouched", "changeTouchedKeys", "syncStuff", "logOnMount", "logOnSubmit", "setFirstMount", "_setErrors"], | |
| 3 | + _excluded3 = ["isOldVersion", "schema"]; | |
| 4 | + | |
| 5 | +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | |
| 6 | + | |
| 7 | +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | |
| 8 | + | |
| 9 | +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } | |
| 10 | + | |
| 11 | +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | |
| 12 | + | |
| 13 | +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | |
| 14 | + | |
| 11 | 15 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } |
| 16 | + | |
| 12 | 17 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } |
| 18 | + | |
| 13 | 19 | /* eslint-disable react-hooks/exhaustive-deps */ |
| 14 | 20 | import React, { useEffect, useMemo, useRef } from 'react'; |
| 15 | 21 | import "./atom.css"; |
| ... | ... | @@ -19,102 +25,109 @@ import "./index.css"; |
| 19 | 25 | import { mapping as defaultMapping } from './mapping'; |
| 20 | 26 | import { getParamByName, msToTime, updateSchemaToNewVersion, yymmdd } from './utils'; |
| 21 | 27 | import Watcher from './Watcher'; |
| 28 | + | |
| 22 | 29 | var defaultFinish = function defaultFinish(data, errors) { |
| 23 | 30 | console.log('onFinish:', { |
| 24 | 31 | data: data, |
| 25 | 32 | errors: errors |
| 26 | 33 | }); |
| 27 | 34 | }; |
| 35 | + | |
| 28 | 36 | export { default as connectForm } from './connectForm'; |
| 29 | 37 | export { createWidget } from './createWidget'; |
| 30 | 38 | export { default as useForm } from './useForm'; |
| 31 | 39 | export { defaultMapping as mapping }; |
| 40 | + | |
| 32 | 41 | function App(_ref) { |
| 33 | 42 | var id = _ref.id, |
| 34 | - widgets = _ref.widgets, | |
| 35 | - layoutWidgets = _ref.layoutWidgets, | |
| 36 | - mapping = _ref.mapping, | |
| 37 | - form = _ref.form, | |
| 38 | - className = _ref.className, | |
| 39 | - style = _ref.style, | |
| 40 | - beforeFinish = _ref.beforeFinish, | |
| 41 | - _ref$onFinish = _ref.onFinish, | |
| 42 | - onFinish = _ref$onFinish === void 0 ? defaultFinish : _ref$onFinish, | |
| 43 | - _ref$displayType = _ref.displayType, | |
| 44 | - displayType = _ref$displayType === void 0 ? 'column' : _ref$displayType, | |
| 45 | - _ref$labelAlign = _ref.labelAlign, | |
| 46 | - labelAlign = _ref$labelAlign === void 0 ? 'right' : _ref$labelAlign, | |
| 47 | - _ref$colon = _ref.colon, | |
| 48 | - colon = _ref$colon === void 0 ? true : _ref$colon, | |
| 49 | - schema = _ref.schema, | |
| 50 | - debug = _ref.debug, | |
| 51 | - debugCss = _ref.debugCss, | |
| 52 | - _ref$locale = _ref.locale, | |
| 53 | - locale = _ref$locale === void 0 ? 'cn' : _ref$locale, | |
| 54 | - _ref$debounceInput = _ref.debounceInput, | |
| 55 | - debounceInput = _ref$debounceInput === void 0 ? false : _ref$debounceInput, | |
| 56 | - size = _ref.size, | |
| 57 | - configProvider = _ref.configProvider, | |
| 58 | - theme = _ref.theme, | |
| 59 | - validateMessages = _ref.validateMessages, | |
| 60 | - _ref$watch = _ref.watch, | |
| 61 | - watch = _ref$watch === void 0 ? {} : _ref$watch, | |
| 62 | - config = _ref.config, | |
| 63 | - onMount = _ref.onMount, | |
| 64 | - labelWidth = _ref.labelWidth, | |
| 65 | - readOnly = _ref.readOnly, | |
| 66 | - disabled = _ref.disabled, | |
| 67 | - _ref$allCollapsed = _ref.allCollapsed, | |
| 68 | - allCollapsed = _ref$allCollapsed === void 0 ? false : _ref$allCollapsed, | |
| 69 | - onValuesChange = _ref.onValuesChange, | |
| 70 | - column = _ref.column, | |
| 71 | - _ref$removeHiddenData = _ref.removeHiddenData, | |
| 72 | - removeHiddenData = _ref$removeHiddenData === void 0 ? false : _ref$removeHiddenData, | |
| 73 | - _ref$globalProps = _ref.globalProps, | |
| 74 | - globalProps = _ref$globalProps === void 0 ? {} : _ref$globalProps, | |
| 75 | - _ref$methods = _ref.methods, | |
| 76 | - methods = _ref$methods === void 0 ? {} : _ref$methods, | |
| 77 | - renderTitle = _ref.renderTitle, | |
| 78 | - requiredMark = _ref.requiredMark, | |
| 79 | - rest = _objectWithoutProperties(_ref, _excluded); | |
| 43 | + widgets = _ref.widgets, | |
| 44 | + layoutWidgets = _ref.layoutWidgets, | |
| 45 | + mapping = _ref.mapping, | |
| 46 | + form = _ref.form, | |
| 47 | + className = _ref.className, | |
| 48 | + style = _ref.style, | |
| 49 | + beforeFinish = _ref.beforeFinish, | |
| 50 | + _ref$onFinish = _ref.onFinish, | |
| 51 | + onFinish = _ref$onFinish === void 0 ? defaultFinish : _ref$onFinish, | |
| 52 | + _ref$displayType = _ref.displayType, | |
| 53 | + displayType = _ref$displayType === void 0 ? 'column' : _ref$displayType, | |
| 54 | + _ref$labelAlign = _ref.labelAlign, | |
| 55 | + labelAlign = _ref$labelAlign === void 0 ? 'right' : _ref$labelAlign, | |
| 56 | + _ref$colon = _ref.colon, | |
| 57 | + colon = _ref$colon === void 0 ? true : _ref$colon, | |
| 58 | + schema = _ref.schema, | |
| 59 | + debug = _ref.debug, | |
| 60 | + debugCss = _ref.debugCss, | |
| 61 | + _ref$locale = _ref.locale, | |
| 62 | + locale = _ref$locale === void 0 ? 'cn' : _ref$locale, | |
| 63 | + _ref$debounceInput = _ref.debounceInput, | |
| 64 | + debounceInput = _ref$debounceInput === void 0 ? false : _ref$debounceInput, | |
| 65 | + size = _ref.size, | |
| 66 | + configProvider = _ref.configProvider, | |
| 67 | + theme = _ref.theme, | |
| 68 | + validateMessages = _ref.validateMessages, | |
| 69 | + _ref$watch = _ref.watch, | |
| 70 | + watch = _ref$watch === void 0 ? {} : _ref$watch, | |
| 71 | + config = _ref.config, | |
| 72 | + onMount = _ref.onMount, | |
| 73 | + labelWidth = _ref.labelWidth, | |
| 74 | + readOnly = _ref.readOnly, | |
| 75 | + disabled = _ref.disabled, | |
| 76 | + _ref$allCollapsed = _ref.allCollapsed, | |
| 77 | + allCollapsed = _ref$allCollapsed === void 0 ? false : _ref$allCollapsed, | |
| 78 | + onValuesChange = _ref.onValuesChange, | |
| 79 | + column = _ref.column, | |
| 80 | + _ref$removeHiddenData = _ref.removeHiddenData, | |
| 81 | + removeHiddenData = _ref$removeHiddenData === void 0 ? false : _ref$removeHiddenData, | |
| 82 | + _ref$globalProps = _ref.globalProps, | |
| 83 | + globalProps = _ref$globalProps === void 0 ? {} : _ref$globalProps, | |
| 84 | + _ref$methods = _ref.methods, | |
| 85 | + methods = _ref$methods === void 0 ? {} : _ref$methods, | |
| 86 | + renderTitle = _ref.renderTitle, | |
| 87 | + requiredMark = _ref.requiredMark, | |
| 88 | + rest = _objectWithoutProperties(_ref, _excluded); | |
| 89 | + | |
| 80 | 90 | try { |
| 81 | 91 | var _ = form.submit; |
| 82 | 92 | } catch (error) { |
| 83 | 93 | console.error('form 为必填 props,<FormRender /> 没有接收到 form 属性!'); |
| 84 | 94 | } |
| 95 | + | |
| 85 | 96 | var _column = schema && schema.column || column; |
| 97 | + | |
| 86 | 98 | var onItemChange = form.onItemChange, |
| 87 | - setEditing = form.setEditing, | |
| 88 | - touchKey = form.touchKey, | |
| 89 | - setValueByPath = form.setValueByPath, | |
| 90 | - getSchemaByPath = form.getSchemaByPath, | |
| 91 | - setSchemaByPath = form.setSchemaByPath, | |
| 92 | - setSchema = form.setSchema, | |
| 93 | - setValues = form.setValues, | |
| 94 | - getValues = form.getValues, | |
| 95 | - resetFields = form.resetFields, | |
| 96 | - submit = form.submit, | |
| 97 | - endValidating = form.endValidating, | |
| 98 | - endSubmitting = form.endSubmitting, | |
| 99 | - setErrorFields = form.setErrorFields, | |
| 100 | - removeErrorField = form.removeErrorField, | |
| 101 | - removeTouched = form.removeTouched, | |
| 102 | - changeTouchedKeys = form.changeTouchedKeys, | |
| 103 | - syncStuff = form.syncStuff, | |
| 104 | - logOnMount = form.logOnMount, | |
| 105 | - logOnSubmit = form.logOnSubmit, | |
| 106 | - setFirstMount = form.setFirstMount, | |
| 107 | - _setErrors = form._setErrors, | |
| 108 | - valuesThatWillChange = _objectWithoutProperties(form, _excluded2); | |
| 99 | + setEditing = form.setEditing, | |
| 100 | + touchKey = form.touchKey, | |
| 101 | + setValueByPath = form.setValueByPath, | |
| 102 | + getSchemaByPath = form.getSchemaByPath, | |
| 103 | + setSchemaByPath = form.setSchemaByPath, | |
| 104 | + setSchema = form.setSchema, | |
| 105 | + setValues = form.setValues, | |
| 106 | + getValues = form.getValues, | |
| 107 | + resetFields = form.resetFields, | |
| 108 | + submit = form.submit, | |
| 109 | + endValidating = form.endValidating, | |
| 110 | + endSubmitting = form.endSubmitting, | |
| 111 | + setErrorFields = form.setErrorFields, | |
| 112 | + removeErrorField = form.removeErrorField, | |
| 113 | + removeTouched = form.removeTouched, | |
| 114 | + changeTouchedKeys = form.changeTouchedKeys, | |
| 115 | + syncStuff = form.syncStuff, | |
| 116 | + logOnMount = form.logOnMount, | |
| 117 | + logOnSubmit = form.logOnSubmit, | |
| 118 | + setFirstMount = form.setFirstMount, | |
| 119 | + _setErrors = form._setErrors, | |
| 120 | + valuesThatWillChange = _objectWithoutProperties(form, _excluded2); | |
| 121 | + | |
| 109 | 122 | var submitData = valuesThatWillChange.submitData, |
| 110 | - errorFields = valuesThatWillChange.errorFields, | |
| 111 | - isValidating = valuesThatWillChange.isValidating, | |
| 112 | - outsideValidating = valuesThatWillChange.outsideValidating, | |
| 113 | - isSubmitting = valuesThatWillChange.isSubmitting, | |
| 114 | - formData = valuesThatWillChange.formData, | |
| 115 | - flatten = valuesThatWillChange.flatten, | |
| 116 | - showValidate = valuesThatWillChange.showValidate, | |
| 117 | - firstMount = valuesThatWillChange.firstMount; | |
| 123 | + errorFields = valuesThatWillChange.errorFields, | |
| 124 | + isValidating = valuesThatWillChange.isValidating, | |
| 125 | + outsideValidating = valuesThatWillChange.outsideValidating, | |
| 126 | + isSubmitting = valuesThatWillChange.isSubmitting, | |
| 127 | + formData = valuesThatWillChange.formData, | |
| 128 | + flatten = valuesThatWillChange.flatten, | |
| 129 | + showValidate = valuesThatWillChange.showValidate, | |
| 130 | + firstMount = valuesThatWillChange.firstMount; | |
| 118 | 131 | useEffect(function () { |
| 119 | 132 | // Schema最外层的type是object来判断,没有的话,认为schema没有传 |
| 120 | 133 | if (schema && schema.type) { |
| ... | ... | @@ -137,15 +150,19 @@ function App(_ref) { |
| 137 | 150 | onMount(); |
| 138 | 151 | }, 0); |
| 139 | 152 | } |
| 153 | + | |
| 140 | 154 | setTimeout(onMountLogger, 0); |
| 141 | 155 | } |
| 142 | 156 | }, [JSON.stringify(schema), firstMount]); |
| 157 | + | |
| 143 | 158 | var onMountLogger = function onMountLogger() { |
| 144 | 159 | var start = new Date().getTime(); |
| 160 | + | |
| 145 | 161 | if (typeof logOnMount === 'function' || typeof logOnSubmit === 'function') { |
| 146 | 162 | sessionStorage.setItem('FORM_MOUNT_TIME', start); |
| 147 | 163 | sessionStorage.setItem('FORM_START', start); |
| 148 | 164 | } |
| 165 | + | |
| 149 | 166 | if (typeof logOnMount === 'function') { |
| 150 | 167 | var logParams = { |
| 151 | 168 | schema: schema, |
| ... | ... | @@ -153,19 +170,22 @@ function App(_ref) { |
| 153 | 170 | formData: JSON.stringify(form.getValues()), |
| 154 | 171 | formMount: yymmdd(start) |
| 155 | 172 | }; |
| 173 | + | |
| 156 | 174 | if (id) { |
| 157 | 175 | logParams.id = id; |
| 158 | 176 | } |
| 177 | + | |
| 159 | 178 | logOnMount(logParams); |
| 160 | - } | |
| 161 | - // 如果是要计算时间,在 onMount 时存一个时间戳 | |
| 179 | + } // 如果是要计算时间,在 onMount 时存一个时间戳 | |
| 180 | + | |
| 181 | + | |
| 162 | 182 | if (typeof logOnSubmit === 'function') { |
| 163 | 183 | sessionStorage.setItem('NUMBER_OF_SUBMITS', 0); |
| 164 | 184 | sessionStorage.setItem('FAILED_ATTEMPTS', 0); |
| 165 | 185 | } |
| 166 | - }; | |
| 186 | + }; // 组件 destroy 的时候,destroy form,因为useForm可能在上层,所以不一定会跟着destroy | |
| 187 | + | |
| 167 | 188 | |
| 168 | - // 组件 destroy 的时候,destroy form,因为useForm可能在上层,所以不一定会跟着destroy | |
| 169 | 189 | useEffect(function () { |
| 170 | 190 | return function () { |
| 171 | 191 | form.resetFields(); |
| ... | ... | @@ -175,9 +195,8 @@ function App(_ref) { |
| 175 | 195 | return _objectSpread(_objectSpread({}, valuesThatWillChange), {}, { |
| 176 | 196 | globalProps: globalProps |
| 177 | 197 | }, rest); |
| 178 | - }, [JSON.stringify(flatten), JSON.stringify(formData), JSON.stringify(errorFields), JSON.stringify(globalProps)]); | |
| 198 | + }, [JSON.stringify(flatten), JSON.stringify(formData), JSON.stringify(errorFields), JSON.stringify(globalProps)]); // 不常用的context单独放一个地方 | |
| 179 | 199 | |
| 180 | - // 不常用的context单独放一个地方 | |
| 181 | 200 | var store2 = useMemo(function () { |
| 182 | 201 | return { |
| 183 | 202 | displayType: displayType, |
| ... | ... | @@ -219,23 +238,28 @@ function App(_ref) { |
| 219 | 238 | if (error) { |
| 220 | 239 | setErrorFields(error); |
| 221 | 240 | } |
| 241 | + | |
| 222 | 242 | endValidating(); |
| 223 | 243 | }); |
| 224 | 244 | return; |
| 225 | - } | |
| 226 | - // 如果validation结束,submitting开始 | |
| 245 | + } // 如果validation结束,submitting开始 | |
| 246 | + | |
| 247 | + | |
| 227 | 248 | if (isValidating === false && isSubmitting === true) { |
| 228 | 249 | endSubmitting(); |
| 229 | 250 | onFinish(submitData, errorFields); |
| 251 | + | |
| 230 | 252 | if (typeof logOnSubmit === 'function') { |
| 231 | 253 | var start = sessionStorage.getItem('FORM_START'); |
| 232 | 254 | var mount = sessionStorage.getItem('FORM_MOUNT_TIME'); |
| 233 | 255 | var numberOfSubmits = Number(sessionStorage.getItem('NUMBER_OF_SUBMITS')) + 1; |
| 234 | 256 | var end = new Date().getTime(); |
| 235 | 257 | var failedAttempts = Number(sessionStorage.getItem('FAILED_ATTEMPTS')); |
| 258 | + | |
| 236 | 259 | if (errorFields.length > 0) { |
| 237 | 260 | failedAttempts = failedAttempts + 1; |
| 238 | 261 | } |
| 262 | + | |
| 239 | 263 | var logParams = { |
| 240 | 264 | formMount: yymmdd(mount), |
| 241 | 265 | ms: end - start, |
| ... | ... | @@ -247,33 +271,39 @@ function App(_ref) { |
| 247 | 271 | errors: JSON.stringify(errorFields), |
| 248 | 272 | schema: JSON.stringify(schema) |
| 249 | 273 | }; |
| 274 | + | |
| 250 | 275 | if (id) { |
| 251 | 276 | logParams.id = id; |
| 252 | 277 | } |
| 278 | + | |
| 253 | 279 | logOnSubmit(logParams); |
| 254 | 280 | sessionStorage.setItem('FORM_START', end); |
| 255 | 281 | sessionStorage.setItem('NUMBER_OF_SUBMITS', numberOfSubmits); |
| 256 | 282 | sessionStorage.setItem('FAILED_ATTEMPTS', failedAttempts); |
| 257 | 283 | } |
| 258 | 284 | } |
| 259 | - }, [isValidating, isSubmitting, outsideValidating]); | |
| 285 | + }, [isValidating, isSubmitting, outsideValidating]); // TODO: fk doesn't work | |
| 260 | 286 | |
| 261 | - // TODO: fk doesn't work | |
| 262 | 287 | var sizeCls = ''; |
| 288 | + | |
| 263 | 289 | if (size === 'small') { |
| 264 | 290 | sizeCls = 'fr-form-small'; |
| 265 | 291 | } else if (size === 'large') { |
| 266 | 292 | sizeCls = 'fr-form-large'; |
| 267 | 293 | } |
| 294 | + | |
| 268 | 295 | var rootProps = { |
| 269 | 296 | className: "fr-container ".concat(sizeCls, " ").concat(className || '') |
| 270 | 297 | }; |
| 298 | + | |
| 271 | 299 | if (style && _typeof(style) === 'object') { |
| 272 | 300 | rootProps.style = style; |
| 273 | 301 | } |
| 302 | + | |
| 274 | 303 | if (id && ['number', 'string'].indexOf(_typeof(id)) > -1) { |
| 275 | 304 | rootProps.id = id; |
| 276 | 305 | } |
| 306 | + | |
| 277 | 307 | var debugForm = getParamByName('_debug_form'); |
| 278 | 308 | var debugFormCss = getParamByName('_debug_form_css'); |
| 279 | 309 | var isPre = location.href.indexOf('pre') > -1; |
| ... | ... | @@ -309,18 +339,23 @@ function App(_ref) { |
| 309 | 339 | debugCss: isPre && debugFormCss || debugCss |
| 310 | 340 | }))))); |
| 311 | 341 | } |
| 342 | + | |
| 312 | 343 | var Wrapper = function Wrapper(props) { |
| 313 | 344 | var _ref2 = props || {}, |
| 314 | - _ref2$isOldVersion = _ref2.isOldVersion, | |
| 315 | - isOldVersion = _ref2$isOldVersion === void 0 ? true : _ref2$isOldVersion, | |
| 316 | - schema = _ref2.schema, | |
| 317 | - rest = _objectWithoutProperties(_ref2, _excluded3); | |
| 345 | + _ref2$isOldVersion = _ref2.isOldVersion, | |
| 346 | + isOldVersion = _ref2$isOldVersion === void 0 ? true : _ref2$isOldVersion, | |
| 347 | + schema = _ref2.schema, | |
| 348 | + rest = _objectWithoutProperties(_ref2, _excluded3); | |
| 349 | + | |
| 318 | 350 | var _schema = useRef(schema); |
| 351 | + | |
| 319 | 352 | if (isOldVersion) { |
| 320 | 353 | _schema.current = updateSchemaToNewVersion(schema); |
| 321 | 354 | } |
| 355 | + | |
| 322 | 356 | return /*#__PURE__*/React.createElement(App, _extends({ |
| 323 | 357 | schema: _schema.current |
| 324 | 358 | }, rest)); |
| 325 | 359 | }; |
| 360 | + | |
| 326 | 361 | export default Wrapper; |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -31,42 +31,47 @@ export var mapping = { |
| 31 | 31 | 'array?enum': 'checkboxes', |
| 32 | 32 | 'array?enum_long': 'multiSelect', |
| 33 | 33 | '*?readOnly': 'html' // TODO: html widgets for list / object |
| 34 | -}; | |
| 35 | 34 | |
| 35 | +}; | |
| 36 | 36 | export function getWidgetName(schema) { |
| 37 | 37 | var _mapping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : mapping; |
| 38 | - var type = schema.type, | |
| 39 | - format = schema.format, | |
| 40 | - enums = schema.enum, | |
| 41 | - readOnly = schema.readOnly, | |
| 42 | - widget = schema.widget; | |
| 43 | 38 | |
| 44 | - // 如果已经注明了渲染widget,那最好 | |
| 39 | + var type = schema.type, | |
| 40 | + format = schema.format, | |
| 41 | + enums = schema.enum, | |
| 42 | + readOnly = schema.readOnly, | |
| 43 | + widget = schema.widget; // 如果已经注明了渲染widget,那最好 | |
| 45 | 44 | // if (schema['ui:widget']) { |
| 46 | 45 | // return schema['ui:widget']; |
| 47 | 46 | // } |
| 48 | 47 | |
| 49 | 48 | var list = []; |
| 49 | + | |
| 50 | 50 | if (readOnly) { |
| 51 | 51 | list.push("".concat(type, "?readOnly")); |
| 52 | 52 | list.push('*?readOnly'); |
| 53 | 53 | } |
| 54 | + | |
| 54 | 55 | if (enums) { |
| 55 | 56 | // 根据enum长度来智能选择控件 |
| 56 | 57 | if (Array.isArray(enums) && (type === 'array' && enums.length > 6 || type !== 'array' && enums.length > 2)) { |
| 57 | 58 | list.push("".concat(type, "?enum_long")); |
| 58 | 59 | list.push('*?enum_long'); |
| 59 | 60 | } else { |
| 60 | - list.push("".concat(type, "?enum")); | |
| 61 | - // array 默认使用list,array?enum 默认使用checkboxes,*?enum 默认使用select | |
| 61 | + list.push("".concat(type, "?enum")); // array 默认使用list,array?enum 默认使用checkboxes,*?enum 默认使用select | |
| 62 | + | |
| 62 | 63 | list.push('*?enum'); |
| 63 | 64 | } |
| 64 | 65 | } |
| 66 | + | |
| 65 | 67 | var _widget = widget || format; |
| 68 | + | |
| 66 | 69 | if (_widget) { |
| 67 | 70 | list.push("".concat(type, ":").concat(_widget)); |
| 68 | 71 | } |
| 72 | + | |
| 69 | 73 | list.push(type); // 放在最后兜底,其他都不match时使用type默认的组件 |
| 74 | + | |
| 70 | 75 | var found = ''; |
| 71 | 76 | list.some(function (item) { |
| 72 | 77 | found = _mapping[item]; | ... | ... |