Commit 5d305bd5be05cd104e17318d763b37e5459b9f53

Authored by 邢晴晴
1 parent 3bc50ca7

fix:更多按钮操作

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