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]; | ... | ... |