fan-standard-comp 3.1.10 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/Readme.md +35 -0
  2. package/dist/fan-standard-comp.umd.js +15 -15
  3. package/es/ButtonGroup/ButtonList.js +0 -3
  4. package/es/ButtonGroup/ButtonMenu.js +0 -3
  5. package/es/ButtonGroup/PopConfirmTitle.js +5 -15
  6. package/es/ButtonGroup/index.js +214 -215
  7. package/es/ButtonGroup/style/index.less +1 -1
  8. package/es/DragContent/DragBar.js +2 -6
  9. package/es/DragContent/index.js +44 -75
  10. package/es/FormComp/ChunkUploader/api.js +6 -10
  11. package/es/FormComp/ChunkUploader/index.js +105 -171
  12. package/es/FormComp/ChunkUploader/lib.js +4 -17
  13. package/es/FormComp/ChunkUploader/upload-queue.class.js +10 -45
  14. package/es/FormComp/ChunkUploader/worker.js +0 -3
  15. package/es/FormComp/EditButton/index.js +24 -49
  16. package/es/FormComp/FieldComponent/ReUpload.js +18 -38
  17. package/es/FormComp/FieldComponent/RefactorTreeSelect.js +36 -74
  18. package/es/FormComp/FieldComponent/TitleNode.js +1 -3
  19. package/es/FormComp/FieldComponent/index.js +38 -74
  20. package/es/FormComp/FieldComponent/setReadonlyValues.js +34 -63
  21. package/es/FormComp/RenderItemGroup/index.js +46 -74
  22. package/es/FormComp/Uploader/index.js +36 -77
  23. package/es/FormComp/Uploader/util.js +0 -6
  24. package/es/FormComp/VarTemplate/index.js +58 -96
  25. package/es/NavLeafScroll/index.js +172 -154
  26. package/es/NavLeafScroll/style/index.less +33 -1
  27. package/es/RefactorTree/index.js +36 -53
  28. package/es/RefactorTree/indexTreeNode.js +35 -68
  29. package/es/RefactorTree/util.js +9 -43
  30. package/es/SpecIcon/fonts/iconfont.js +7 -12
  31. package/es/SpecIcon/index.js +16 -25
  32. package/es/SplitterLayout/Pane.js +2 -5
  33. package/es/SplitterLayout/index.js +20 -70
  34. package/es/StandardContent/SplitterLayout/Pane.js +6 -10
  35. package/es/StandardContent/SplitterLayout/index.js +12 -63
  36. package/es/StandardContent/SubfieldContent.js +12 -14
  37. package/es/StandardContent/WrapperContent.js +8 -10
  38. package/es/StandardDragModal/ChangeStandardModal.d.ts +44 -0
  39. package/es/StandardDragModal/ChangeStandardModal.js +493 -0
  40. package/es/StandardDragModal/DraggableModal.d.ts +7 -0
  41. package/es/StandardDragModal/DraggableModal.js +31 -0
  42. package/es/StandardDragModal/DraggableModalContext.d.ts +9 -0
  43. package/es/StandardDragModal/DraggableModalContext.js +5 -0
  44. package/es/StandardDragModal/DraggableModalInner.d.ts +16 -0
  45. package/es/StandardDragModal/DraggableModalInner.js +114 -0
  46. package/es/StandardDragModal/DraggableModalProvider.d.ts +4 -0
  47. package/es/StandardDragModal/DraggableModalProvider.js +40 -0
  48. package/es/StandardDragModal/Modal.d.ts +11 -0
  49. package/es/StandardDragModal/Modal.js +24 -0
  50. package/es/StandardDragModal/ResizeHandle.d.ts +2 -0
  51. package/es/StandardDragModal/ResizeHandle.js +8 -0
  52. package/es/StandardDragModal/clamp.d.ts +1 -0
  53. package/es/StandardDragModal/clamp.js +3 -0
  54. package/es/StandardDragModal/draggableModalReducer.d.ts +66 -0
  55. package/es/StandardDragModal/draggableModalReducer.js +157 -0
  56. package/es/StandardDragModal/getWindowSize.d.ts +4 -0
  57. package/es/StandardDragModal/getWindowSize.js +6 -0
  58. package/es/StandardDragModal/index.d.ts +3 -11
  59. package/es/StandardDragModal/index.js +3 -30
  60. package/es/StandardDragModal/index.less +65 -0
  61. package/es/StandardDragModal/useDrag.d.ts +5 -0
  62. package/es/StandardDragModal/useDrag.js +66 -0
  63. package/es/StandardDragModal/usePrevious.d.ts +1 -0
  64. package/es/StandardDragModal/usePrevious.js +8 -0
  65. package/es/StandardDragModal/useResize.d.ts +7 -0
  66. package/es/StandardDragModal/useResize.js +74 -0
  67. package/es/StandardFilter/index.js +30 -70
  68. package/es/StandardForm/ActionList.js +5 -7
  69. package/es/StandardForm/StepForm.js +50 -71
  70. package/es/StandardForm/TabForm.js +58 -70
  71. package/es/StandardForm/index.js +37 -56
  72. package/es/StandardModal/UpdateFormRef.js +1 -4
  73. package/es/StandardModal/index.d.ts +0 -1
  74. package/es/StandardModal/index.js +113 -157
  75. package/es/StandardPanel/index.js +19 -35
  76. package/es/StandardTable/index.js +18 -29
  77. package/es/components/IconNode/index.js +0 -4
  78. package/es/index.d.ts +1 -0
  79. package/es/index.js +15 -14
  80. package/es/utils/ValueFormat.js +0 -9
  81. package/es/utils/dictSelectUtil.js +153 -0
  82. package/es/utils/filterPermission.js +16 -34
  83. package/es/utils/getParentNodes.js +24 -47
  84. package/es/utils/index.js +2 -1
  85. package/lib/ButtonGroup/ButtonList.js +1 -13
  86. package/lib/ButtonGroup/ButtonMenu.js +1 -8
  87. package/lib/ButtonGroup/PopConfirmTitle.js +3 -16
  88. package/lib/ButtonGroup/index.js +217 -238
  89. package/lib/ButtonGroup/style/index.less +1 -1
  90. package/lib/DragContent/DragBar.js +2 -10
  91. package/lib/DragContent/index.js +47 -85
  92. package/lib/FormComp/ChunkUploader/api.js +6 -15
  93. package/lib/FormComp/ChunkUploader/index.js +107 -185
  94. package/lib/FormComp/ChunkUploader/lib.js +8 -27
  95. package/lib/FormComp/ChunkUploader/upload-queue.class.js +10 -46
  96. package/lib/FormComp/ChunkUploader/worker.js +1 -5
  97. package/lib/FormComp/EditButton/index.js +26 -60
  98. package/lib/FormComp/FieldComponent/ReUpload.js +21 -50
  99. package/lib/FormComp/FieldComponent/RefactorTreeSelect.js +38 -89
  100. package/lib/FormComp/FieldComponent/TitleNode.js +1 -5
  101. package/lib/FormComp/FieldComponent/index.js +38 -110
  102. package/lib/FormComp/FieldComponent/setReadonlyValues.js +37 -79
  103. package/lib/FormComp/RenderItemGroup/index.js +46 -87
  104. package/lib/FormComp/Uploader/index.js +38 -95
  105. package/lib/FormComp/Uploader/util.js +1 -9
  106. package/lib/FormComp/VarTemplate/index.js +62 -106
  107. package/lib/FormComp/index.js +0 -2
  108. package/lib/NavLeafScroll/index.js +174 -165
  109. package/lib/NavLeafScroll/style/index.less +33 -1
  110. package/lib/RefactorTree/index.js +36 -67
  111. package/lib/RefactorTree/indexTreeNode.js +37 -83
  112. package/lib/RefactorTree/util.js +11 -45
  113. package/lib/SpecIcon/fonts/iconfont.js +7 -12
  114. package/lib/SpecIcon/index.js +16 -30
  115. package/lib/SplitterLayout/Pane.js +0 -7
  116. package/lib/SplitterLayout/index.js +18 -72
  117. package/lib/StandardContent/SplitterLayout/Pane.js +6 -14
  118. package/lib/StandardContent/SplitterLayout/index.js +12 -68
  119. package/lib/StandardContent/SubfieldContent.js +12 -21
  120. package/lib/StandardContent/WrapperContent.js +8 -16
  121. package/lib/StandardDragModal/ChangeStandardModal.d.ts +44 -0
  122. package/lib/StandardDragModal/ChangeStandardModal.js +502 -0
  123. package/lib/StandardDragModal/DraggableModal.d.ts +7 -0
  124. package/lib/StandardDragModal/DraggableModal.js +40 -0
  125. package/lib/StandardDragModal/DraggableModalContext.d.ts +9 -0
  126. package/lib/StandardDragModal/DraggableModalContext.js +15 -0
  127. package/lib/StandardDragModal/DraggableModalInner.d.ts +16 -0
  128. package/lib/StandardDragModal/DraggableModalInner.js +124 -0
  129. package/lib/StandardDragModal/DraggableModalProvider.d.ts +4 -0
  130. package/lib/StandardDragModal/DraggableModalProvider.js +48 -0
  131. package/lib/StandardDragModal/Modal.d.ts +11 -0
  132. package/lib/StandardDragModal/Modal.js +32 -0
  133. package/lib/StandardDragModal/ResizeHandle.d.ts +2 -0
  134. package/lib/StandardDragModal/ResizeHandle.js +18 -0
  135. package/lib/StandardDragModal/clamp.d.ts +1 -0
  136. package/lib/StandardDragModal/clamp.js +10 -0
  137. package/lib/StandardDragModal/draggableModalReducer.d.ts +66 -0
  138. package/lib/StandardDragModal/draggableModalReducer.js +167 -0
  139. package/lib/StandardDragModal/getWindowSize.d.ts +4 -0
  140. package/lib/StandardDragModal/getWindowSize.js +13 -0
  141. package/lib/StandardDragModal/index.d.ts +3 -11
  142. package/lib/StandardDragModal/index.js +33 -38
  143. package/lib/StandardDragModal/index.less +65 -0
  144. package/lib/StandardDragModal/useDrag.d.ts +5 -0
  145. package/lib/StandardDragModal/useDrag.js +73 -0
  146. package/lib/StandardDragModal/usePrevious.d.ts +1 -0
  147. package/lib/StandardDragModal/usePrevious.js +15 -0
  148. package/lib/StandardDragModal/useResize.d.ts +7 -0
  149. package/lib/StandardDragModal/useResize.js +81 -0
  150. package/lib/StandardFilter/index.js +28 -78
  151. package/lib/StandardForm/ActionList.js +5 -12
  152. package/lib/StandardForm/StepForm.js +52 -90
  153. package/lib/StandardForm/TabForm.js +61 -88
  154. package/lib/StandardForm/index.js +40 -75
  155. package/lib/StandardModal/UpdateFormRef.js +4 -12
  156. package/lib/StandardModal/index.d.ts +0 -1
  157. package/lib/StandardModal/index.js +115 -182
  158. package/lib/StandardPanel/index.js +22 -48
  159. package/lib/StandardTable/index.js +18 -38
  160. package/lib/components/IconNode/index.js +0 -7
  161. package/lib/components/index.js +0 -2
  162. package/lib/data/index.js +4 -7
  163. package/lib/index.d.ts +1 -0
  164. package/lib/index.js +50 -68
  165. package/lib/utils/ValueFormat.js +0 -10
  166. package/lib/utils/dictSelectUtil.js +161 -0
  167. package/lib/utils/filterPermission.js +15 -39
  168. package/lib/utils/getParentNodes.js +25 -52
  169. package/lib/utils/index.js +24 -9
  170. package/package.json +5 -4
@@ -1,108 +1,70 @@
1
1
  "use strict";
2
2
 
3
- 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); }
4
-
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  require("antd/es/popconfirm/style");
11
-
12
9
  var _popconfirm = _interopRequireDefault(require("antd/es/popconfirm"));
13
-
14
10
  require("antd/es/button/style");
15
-
16
11
  var _button = _interopRequireDefault(require("antd/es/button"));
17
-
18
12
  require("antd/es/dropdown/style");
19
-
20
13
  var _dropdown = _interopRequireDefault(require("antd/es/dropdown"));
21
-
22
- require("antd/es/menu/style");
23
-
24
- var _menu = _interopRequireDefault(require("antd/es/menu"));
25
-
26
14
  var _tslib = require("tslib");
27
-
28
15
  var _react = _interopRequireWildcard(require("react"));
29
-
30
16
  var _index = require("../components/index");
31
-
32
17
  var _index2 = _interopRequireDefault(require("../SpecIcon/index"));
33
-
34
18
  var _PopConfirmTitle = _interopRequireDefault(require("./PopConfirmTitle"));
35
-
36
19
  var _index3 = require("../data/index");
37
-
38
20
  var _icons = require("@ant-design/icons");
39
-
40
- var _filterPermission = require("../utils/filterPermission.js");
41
-
21
+ var _filterPermission = require("../utils/filterPermission");
42
22
  require("./style/index.less");
43
-
44
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
45
-
46
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
47
-
23
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
48
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
49
-
50
26
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
51
-
52
27
  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."); }
53
-
54
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
55
-
28
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
56
29
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
57
-
58
30
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
59
-
60
31
  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."); }
61
-
62
32
  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); }
63
-
64
33
  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; }
65
-
66
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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; }
67
-
34
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) { ; } } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
68
35
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
69
-
70
36
  var ButtonGroup = function ButtonGroup(props) {
71
37
  var _props$type = props.type,
72
- type = _props$type === void 0 ? 'button' : _props$type,
73
- _props$rowParams = props.rowParams,
74
- rowParams = _props$rowParams === void 0 ? {
75
- text: undefined,
76
- record: undefined,
77
- rowIndex: undefined
78
- } : _props$rowParams,
79
- _props$codes = props.codes,
80
- codes = _props$codes === void 0 ? _index3.funcCode.btnFuncCodes : _props$codes,
81
- permissionCodes = props.permissionCodes,
82
- _props$dropdownConfig = props.dropdownConfig,
83
- dropdownConfig = _props$dropdownConfig === void 0 ? {} : _props$dropdownConfig;
38
+ type = _props$type === void 0 ? 'button' : _props$type,
39
+ _props$rowParams = props.rowParams,
40
+ rowParams = _props$rowParams === void 0 ? {
41
+ text: undefined,
42
+ record: undefined,
43
+ rowIndex: undefined
44
+ } : _props$rowParams,
45
+ _props$codes = props.codes,
46
+ codes = _props$codes === void 0 ? _index3.funcCode.btnFuncCodes : _props$codes,
47
+ permissionCodes = props.permissionCodes,
48
+ _props$dropdownConfig = props.dropdownConfig,
49
+ dropdownConfig = _props$dropdownConfig === void 0 ? {} : _props$dropdownConfig;
84
50
  var _props$options = props.options,
85
- options = _props$options === void 0 ? [] : _props$options,
86
- _props$min = props.min,
87
- min = _props$min === void 0 ? 3 : _props$min; // 最小展示长度不能小于2
88
-
51
+ options = _props$options === void 0 ? [] : _props$options,
52
+ _props$min = props.min,
53
+ min = _props$min === void 0 ? 3 : _props$min; // 最小展示长度不能小于2
54
+ var moreText = '更多';
89
55
  if (!options) return null; // 没有配置list返回null
90
-
91
56
  var _useState = (0, _react.useState)(-1),
92
- _useState2 = _slicedToArray(_useState, 2),
93
- popVisibleIndex = _useState2[0],
94
- setPopVisibleIndex = _useState2[1];
95
-
57
+ _useState2 = _slicedToArray(_useState, 2),
58
+ popVisibleIndex = _useState2[0],
59
+ setPopVisibleIndex = _useState2[1];
96
60
  var _useState3 = (0, _react.useState)({}),
97
- _useState4 = _slicedToArray(_useState3, 2),
98
- popRow = _useState4[0],
99
- setPopRow = _useState4[1];
100
-
61
+ _useState4 = _slicedToArray(_useState3, 2),
62
+ popRow = _useState4[0],
63
+ setPopRow = _useState4[1];
101
64
  var _useState5 = (0, _react.useState)([]),
102
- _useState6 = _slicedToArray(_useState5, 2),
103
- resetList = _useState6[0],
104
- setResetList = _useState6[1];
105
-
65
+ _useState6 = _slicedToArray(_useState5, 2),
66
+ resetList = _useState6[0],
67
+ setResetList = _useState6[1];
106
68
  (0, _react.useEffect)(function () {
107
69
  // 重组选项options集合数据,排除:无权限(有配置code,并且不包含permissionCodes内)的数据及,isHide 为true的数据
108
70
  setResetList(_toConsumableArray((0, _filterPermission.removeNoPermission)(options, permissionCodes, codes, rowParams)) || []);
@@ -112,65 +74,141 @@ var ButtonGroup = function ButtonGroup(props) {
112
74
  }, [options, codes, permissionCodes]);
113
75
  (0, _react.useEffect)(function () {
114
76
  setPopVisibleIndex(-1);
115
- }, [rowParams]); // 渲染按钮多层级形式 (用于筛选)
116
-
117
- var buttonMenu = function buttonMenu(group) {
118
- return /*#__PURE__*/_react.default.createElement(_menu.default, null, group.map(function (item, index) {
119
- if (item.children) {
120
- return /*#__PURE__*/_react.default.createElement(_menu.default.SubMenu, {
121
- title: item.exName || item.name,
122
- key: index
123
- }, item.children.map(function (child, childIndex) {
124
- return /*#__PURE__*/_react.default.createElement(_menu.default.Item, {
125
- key: childIndex
126
- }, /*#__PURE__*/_react.default.createElement("a", {
127
- onClick: child.fn ? function () {
128
- return child.fn(child);
129
- } : null
130
- }, /*#__PURE__*/_react.default.createElement(_index.IconNode, {
131
- icon: child.icon
132
- }), " ", child.exName || child.name));
133
- }));
134
- }
135
-
136
- return /*#__PURE__*/_react.default.createElement(_menu.default.Item, {
137
- key: index
138
- }, /*#__PURE__*/_react.default.createElement("a", {
139
- onClick: item.fn ? function () {
140
- return item.fn(item);
141
- } : null
142
- }, /*#__PURE__*/_react.default.createElement(_index.IconNode, {
143
- icon: item.icon
144
- }), " ", item.exName || item.name));
145
- }));
146
- }; // 渲染按钮形式 (用于筛选)
147
-
148
-
77
+ }, [rowParams]);
78
+ /* // 渲染按钮多层级形式 (用于筛选)
79
+ const buttonMenu = (group: any) => {
80
+ return (<Menu>
81
+ {
82
+ group.map((item: any, index: number) => {
83
+ if (item.children) {
84
+ return <Menu.SubMenu title={item.exName || item.name} key={index}>
85
+ {
86
+ item.children.map((child: any, childIndex: number) => {
87
+ return (<Menu.Item key={childIndex}>
88
+ <a onClick={child.fn ? () => child.fn(child) : null}
89
+ >
90
+ <IconNode icon={child.icon}/> {child.exName || child.name}
91
+ </a>
92
+ </Menu.Item>)
93
+ })
94
+ }
95
+ </Menu.SubMenu>
96
+ }
97
+ return (
98
+ <Menu.Item key={index}>
99
+ <a onClick={item.fn ? () => item.fn(item) : null}>
100
+ <IconNode icon={item.icon}/> {item.exName || item.name}
101
+ </a>
102
+ </Menu.Item>
103
+ )
104
+ })
105
+ }
106
+ </Menu>)
107
+ };
108
+ // 渲染文本形式多级菜单列表(用于表格)
109
+ const textMenu = (group: any[]) => {
110
+ return (
111
+ <Menu className="spec-button-text-dropdown">
112
+ {
113
+ group.map((gItem: any, gIndex: number) => {
114
+
115
+ if (gItem.children) {
116
+ return <Menu.SubMenu title={gItem.exName || gItem.name} key={gItem}>
117
+ {
118
+ gItem.children.map((child: any, childIndex: number) => <Menu.Item key={childIndex}>
119
+ <a onClick={child.fn ? () => child.fn(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : null}>
120
+ {child.render ? child.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (child.exName || child.name)}
121
+ </a>
122
+ </Menu.Item>)
123
+ }
124
+ </Menu.SubMenu>
125
+ }
126
+ return <Menu.Item key={gIndex}
127
+ disabled={btnIsDisabled(gItem.disabled, rowParams)}>
128
+ {
129
+ gItem.hasOwnProperty('confirmText') || gItem.hasOwnProperty('confirmConfig') ?
130
+ // @ts-ignore
131
+ <a disabled={btnIsDisabled(gItem.disabled, rowParams)}
132
+ onClick={gItem.fn ? () => {
133
+ setPopVisibleIndex(rowParams.rowIndex)
134
+ setPopRow(gItem)
135
+ } : null}>
136
+ {gItem.render ? gItem.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (gItem.exName || gItem.name)}
137
+ </a>
138
+ : <a className="spec-button-group-text"
139
+ onClick={gItem.fn ? () => gItem.fn(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : null}
140
+ // @ts-ignore
141
+ disabled={btnIsDisabled(gItem.disabled, rowParams)}>
142
+ {gItem.render ? gItem.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (gItem.exName || gItem.name)}
143
+ </a>
144
+ }
145
+ </Menu.Item>
146
+ })
147
+ }
148
+ </Menu>
149
+ )
150
+ };*/
151
+ // 递归转换原来的数组结构
152
+ var deepTransButtonMenus = function deepTransButtonMenus(groupArray) {
153
+ if (!Array.isArray(groupArray)) {
154
+ return [];
155
+ }
156
+ return groupArray.map(function (vItem, i) {
157
+ var code = vItem.code,
158
+ fn = vItem.fn,
159
+ exName = vItem.exName,
160
+ name = vItem.name,
161
+ children = vItem.children,
162
+ icon = vItem.icon,
163
+ others = (0, _tslib.__rest)(vItem, ["code", "fn", "exName", "name", "children", "icon"]);
164
+ return Object.assign(Object.assign({}, others), {
165
+ key: code ? code + i : i,
166
+ icon: /*#__PURE__*/_react.default.createElement(_index.IconNode, {
167
+ icon: icon
168
+ }),
169
+ label: /*#__PURE__*/_react.default.createElement("a", {
170
+ onClick: function onClick() {
171
+ return fn && fn(vItem);
172
+ }
173
+ }, exName || name),
174
+ children: children && children.length > 0 ? deepTransButtonMenus(children) : undefined
175
+ });
176
+ });
177
+ };
178
+ // {gItem.render ? gItem.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (gItem.exName || gItem.name)}
179
+ // 自定义渲染显示的文本
180
+ var renderCustomLabel = function renderCustomLabel(gItem) {
181
+ return gItem.render ? gItem.render.apply(gItem, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
182
+ return rowParams[pItem];
183
+ }))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, gItem.icon ? ' ' : '', gItem.exName || gItem.name);
184
+ };
185
+ // 渲染按钮形式 (用于筛选)
149
186
  var RenderButtonList = function RenderButtonList(item) {
150
187
  var exName = item.exName,
151
- name = item.name,
152
- type = item.type,
153
- icon = item.icon,
154
- ghost = item.ghost,
155
- danger = item.danger,
156
- disabled = item.disabled,
157
- loading = item.loading,
158
- fn = item.fn,
159
- code = item.code,
160
- rowParams = item.rowParams,
161
- others = (0, _tslib.__rest)(item, ["exName", "name", "type", "icon", "ghost", "danger", "disabled", "loading", "fn", "code", "rowParams"]);
162
-
188
+ name = item.name,
189
+ type = item.type,
190
+ icon = item.icon,
191
+ ghost = item.ghost,
192
+ danger = item.danger,
193
+ disabled = item.disabled,
194
+ loading = item.loading,
195
+ fn = item.fn,
196
+ code = item.code,
197
+ rowParams = item.rowParams,
198
+ others = (0, _tslib.__rest)(item, ["exName", "name", "type", "icon", "ghost", "danger", "disabled", "loading", "fn", "code", "rowParams"]);
163
199
  if (Array.isArray(item.children) && item.children.length > 0) {
200
+ // overlay={buttonMenu(item.children)}
164
201
  return /*#__PURE__*/_react.default.createElement(_dropdown.default, Object.assign({
165
- overlay: buttonMenu(item.children),
202
+ menu: {
203
+ items: deepTransButtonMenus(item.children)
204
+ },
166
205
  placement: "bottomRight"
167
206
  }, (item === null || item === void 0 ? void 0 : item.dropdownConfig) || dropdownConfig || {}), /*#__PURE__*/_react.default.createElement(_button.default, {
168
207
  type: "primary"
169
- }, "ss", item.exName || item.name, " ", /*#__PURE__*/_react.default.createElement(_index2.default, {
208
+ }, item.exName || item.name || item.label, " ", /*#__PURE__*/_react.default.createElement(_index2.default, {
170
209
  name: "down"
171
210
  })));
172
211
  }
173
-
174
212
  return /*#__PURE__*/_react.default.createElement(_button.default, Object.assign({
175
213
  type: type || 'primary',
176
214
  danger: danger,
@@ -183,99 +221,53 @@ var ButtonGroup = function ButtonGroup(props) {
183
221
  icon: icon
184
222
  }),
185
223
  disabled: (0, _filterPermission.btnIsDisabled)(disabled, rowParams)
186
- }), exName || name);
224
+ }), exName || name || others.label);
187
225
  };
188
- /*const textMenuItems = (group) => {
189
- return (group || []).map((gItem: any, gIndex) => {
226
+ // 递归转换原来的数组结构
227
+ var deepTransTextMenus = function deepTransTextMenus(groupArray) {
228
+ if (!Array.isArray(groupArray)) {
229
+ return [];
230
+ }
231
+ return groupArray.map(function (vItem, i) {
232
+ var code = vItem.code,
233
+ fn = vItem.fn,
234
+ exName = vItem.exName,
235
+ name = vItem.name,
236
+ children = vItem.children,
237
+ icon = vItem.icon,
238
+ confirmText = vItem.confirmText,
239
+ confirmConfig = vItem.confirmConfig,
240
+ others = (0, _tslib.__rest)(vItem, ["code", "fn", "exName", "name", "children", "icon", "confirmText", "confirmConfig"]);
190
241
  return {
191
- disabled: btnIsDisabled(gItem.disabled, rowParams),
192
- label: gItem.hasOwnProperty('confirmText') || gItem.hasOwnProperty('confirmConfig') ?
193
- // @ts-ignore
194
- <a disabled={btnIsDisabled(gItem.disabled, rowParams)}
195
- onClick={gItem.fn ? () => {
196
- setPopVisibleIndex(rowParams.rowIndex)
197
- setPopRow(gItem)
198
- } : null}>
199
- {gItem.render ? gItem.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (gItem.exName || gItem.name)}
200
- </a>
201
- : <a className="spec-button-group-text"
202
- onClick={gItem.fn ? () => gItem.fn(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : null}
203
- // @ts-ignore
204
- disabled={btnIsDisabled(gItem.disabled, rowParams)}>
205
- {gItem.render ? gItem.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (gItem.exName || gItem.name)}
206
- </a>,
207
- key: gIndex + (gItem.exName || gItem.name),
208
- children: gItem.children ? (gItem.children || []).map((child: any, childIndex: number) => {
209
- return {
210
- label: <a onClick={child.fn ? () => child.fn(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : null}>
211
- {child.render ? child.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (child.exName || child.name)}
212
- </a>,
213
- key: childIndex
214
- }
215
- }) : undefined
216
- }
217
- })
218
- }*/
219
- // 渲染文本形式多级菜单列表(用于表格)
220
-
221
-
222
- var textMenu = function textMenu(group) {
223
- return /*#__PURE__*/_react.default.createElement(_menu.default, {
224
- className: "spec-button-text-dropdown"
225
- }, group.map(function (gItem, gIndex) {
226
- if (gItem.children) {
227
- return /*#__PURE__*/_react.default.createElement(_menu.default.SubMenu, {
228
- title: gItem.exName || gItem.name,
229
- key: gItem
230
- }, gItem.children.map(function (child, childIndex) {
231
- return /*#__PURE__*/_react.default.createElement(_menu.default.Item, {
232
- key: childIndex
233
- }, /*#__PURE__*/_react.default.createElement("a", {
234
- onClick: child.fn ? function () {
235
- return child.fn.apply(child, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
242
+ danger: others.danger,
243
+ disabled: (0, _filterPermission.btnIsDisabled)(others.disabled, rowParams),
244
+ key: code ? code + i : i,
245
+ // icon: <IconNode icon={icon}/>, // 不显示图标
246
+ label: /*#__PURE__*/_react.default.createElement("a", {
247
+ onClick: function onClick() {
248
+ // 配置二次确认
249
+ if (vItem.hasOwnProperty('confirmText') || vItem.hasOwnProperty('confirmConfig')) {
250
+ fn ? (setPopVisibleIndex(rowParams.rowIndex), setPopRow(vItem)) : null;
251
+ } else {
252
+ fn && fn.apply(void 0, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
236
253
  return rowParams[pItem];
237
254
  })));
238
- } : null
239
- }, child.render ? child.render.apply(child, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
240
- return rowParams[pItem];
241
- }))) : child.exName || child.name));
242
- }));
243
- }
244
-
245
- return /*#__PURE__*/_react.default.createElement(_menu.default.Item, {
246
- key: gIndex,
247
- disabled: (0, _filterPermission.btnIsDisabled)(gItem.disabled, rowParams)
248
- }, gItem.hasOwnProperty('confirmText') || gItem.hasOwnProperty('confirmConfig') ?
249
- /*#__PURE__*/
250
- // @ts-ignore
251
- _react.default.createElement("a", {
252
- disabled: (0, _filterPermission.btnIsDisabled)(gItem.disabled, rowParams),
253
- onClick: gItem.fn ? function () {
254
- setPopVisibleIndex(rowParams.rowIndex);
255
- setPopRow(gItem);
256
- } : null
257
- }, gItem.render ? gItem.render.apply(gItem, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
258
- return rowParams[pItem];
259
- }))) : gItem.exName || gItem.name) : /*#__PURE__*/_react.default.createElement("a", {
260
- className: "spec-button-group-text",
261
- onClick: gItem.fn ? function () {
262
- return gItem.fn.apply(gItem, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
263
- return rowParams[pItem];
264
- })));
265
- } : null,
266
- // @ts-ignore
267
- disabled: (0, _filterPermission.btnIsDisabled)(gItem.disabled, rowParams)
268
- }, gItem.render ? gItem.render.apply(gItem, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
269
- return rowParams[pItem];
270
- }))) : gItem.exName || gItem.name));
271
- }));
272
- }; // 渲染文本形式 列表(用于表格)
273
-
274
-
255
+ }
256
+ }
257
+ }, renderCustomLabel(vItem)),
258
+ title: vItem.exName || vItem.name,
259
+ children: children && children.length > 0 ? deepTransTextMenus(children) : undefined
260
+ };
261
+ });
262
+ };
263
+ // 渲染文本形式 列表(用于表格)
275
264
  var RenderTextList = function RenderTextList(item) {
276
265
  if (Array.isArray(item.children) && item.children.length > 0) {
266
+ // overlay={textMenu(item.children)}
277
267
  return /*#__PURE__*/_react.default.createElement(_dropdown.default, Object.assign({
278
- overlay: textMenu(item.children),
268
+ menu: {
269
+ items: deepTransTextMenus(item.children)
270
+ },
279
271
  placement: "bottomRight"
280
272
  }, (item === null || item === void 0 ? void 0 : item.dropdownConfig) || dropdownConfig || {}), /*#__PURE__*/_react.default.createElement("a", {
281
273
  className: "spec-button-group-text"
@@ -285,7 +277,6 @@ var ButtonGroup = function ButtonGroup(props) {
285
277
  name: "down"
286
278
  })));
287
279
  }
288
-
289
280
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.hasOwnProperty('confirmText') || item.hasOwnProperty('confirmConfig') ? /*#__PURE__*/_react.default.createElement(_popconfirm.default, Object.assign({
290
281
  placement: "topRight",
291
282
  icon: /*#__PURE__*/_react.default.createElement(_icons.QuestionCircleOutlined, null)
@@ -296,7 +287,6 @@ var ButtonGroup = function ButtonGroup(props) {
296
287
  onCancel: function onCancel() {
297
288
  if (item.hasOwnProperty('confirmConfig') && item.confirmConfig.onCancel) {
298
289
  var _item$confirmConfig;
299
-
300
290
  (_item$confirmConfig = item.confirmConfig).onCancel.apply(_item$confirmConfig, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
301
291
  return rowParams[pItem];
302
292
  })));
@@ -305,7 +295,6 @@ var ButtonGroup = function ButtonGroup(props) {
305
295
  onConfirm: function onConfirm() {
306
296
  if (item.hasOwnProperty('confirmConfig') && item.confirmConfig.onConfirm) {
307
297
  var _item$confirmConfig2;
308
-
309
298
  (_item$confirmConfig2 = item.confirmConfig).onConfirm.apply(_item$confirmConfig2, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
310
299
  return rowParams[pItem];
311
300
  })));
@@ -321,9 +310,7 @@ var ButtonGroup = function ButtonGroup(props) {
321
310
  title: item.exName || item.name,
322
311
  // @ts-ignore
323
312
  disabled: (0, _filterPermission.btnIsDisabled)(item.disabled, rowParams)
324
- }, item.render ? item.render.apply(item, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
325
- return rowParams[pItem];
326
- }))) : item.exName || item.name)) : /*#__PURE__*/_react.default.createElement("a", {
313
+ }, renderCustomLabel(item))) : /*#__PURE__*/_react.default.createElement("a", {
327
314
  className: "spec-button-group-text",
328
315
  title: item.exName || item.name,
329
316
  key: item.index,
@@ -334,12 +321,9 @@ var ButtonGroup = function ButtonGroup(props) {
334
321
  return rowParams[pItem];
335
322
  })));
336
323
  } : null
337
- }, item.render ? item.render.apply(item, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
338
- return rowParams[pItem];
339
- }))) : item.exName || item.name));
340
- }; // 渲染展示的按钮列表
341
-
342
-
324
+ }, renderCustomLabel(item)));
325
+ };
326
+ // 渲染展示的按钮列表
343
327
  var renderDisplayButton = function renderDisplayButton(item, index) {
344
328
  /*渲染自定义*/
345
329
  if (item.render) {
@@ -348,8 +332,6 @@ var ButtonGroup = function ButtonGroup(props) {
348
332
  }))) : item.render);
349
333
  }
350
334
  /*渲染按钮形式*/
351
-
352
-
353
335
  if (type === 'button') {
354
336
  return /*#__PURE__*/_react.default.createElement(RenderButtonList, Object.assign({
355
337
  key: index
@@ -358,36 +340,34 @@ var ButtonGroup = function ButtonGroup(props) {
358
340
  }));
359
341
  }
360
342
  /*渲染文本形式*/
361
-
362
-
363
343
  return /*#__PURE__*/_react.default.createElement(RenderTextList, Object.assign({
364
344
  key: index
365
345
  }, item));
366
346
  };
367
-
368
347
  if (min < 2) min = 2;
369
-
370
348
  if (resetList.length === 0) {
371
349
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, type !== 'button' ? '-' : null);
372
350
  }
373
-
351
+ // 数量超出时渲染
374
352
  if (resetList.length > min) {
375
- var forGroup = resetList.slice(0, min - 1);
376
- var forDrop = resetList.slice(min - 1);
353
+ var forGroup = resetList.slice(0, min - 1); // 平铺组合内
354
+ var forDrop = resetList.slice(min - 1); // 下拉组合内
377
355
  return /*#__PURE__*/_react.default.createElement("span", {
378
356
  className: "spec-button-group"
379
357
  }, forGroup.map(function (item, index) {
380
358
  return index < min - 1 ? renderDisplayButton(item, index) : null;
381
359
  }), type === 'button' ? /*#__PURE__*/_react.default.createElement(_dropdown.default, Object.assign({
382
- overlay: buttonMenu(forDrop),
360
+ menu: {
361
+ items: deepTransButtonMenus(forDrop)
362
+ },
383
363
  placement: "bottomRight"
384
364
  }, dropdownConfig), /*#__PURE__*/_react.default.createElement(_button.default, {
385
365
  type: "primary"
386
- }, "\u66F4\u591A ", /*#__PURE__*/_react.default.createElement(_index2.default, {
366
+ }, moreText, " ", /*#__PURE__*/_react.default.createElement(_index2.default, {
387
367
  name: "down"
388
368
  }))) : /*#__PURE__*/_react.default.createElement(_popconfirm.default, Object.assign({
389
369
  placement: "topRight",
390
- visible: popVisibleIndex === rowParams.rowIndex,
370
+ open: popVisibleIndex === rowParams.rowIndex,
391
371
  icon: /*#__PURE__*/_react.default.createElement(_icons.QuestionCircleOutlined, null),
392
372
  trigger: "click"
393
373
  }, popRow.hasOwnProperty('confirmConfig') ? popRow.confirmConfig : {}, {
@@ -395,22 +375,20 @@ var ButtonGroup = function ButtonGroup(props) {
395
375
  extraRow: rowParams
396
376
  })),
397
377
  onCancel: function onCancel() {
398
- setPopVisibleIndex(-1); // 优先调用其 confirmConfig 配置的 onCancel 事件
399
-
378
+ setPopVisibleIndex(-1);
379
+ // 优先调用其 confirmConfig 配置的 onCancel 事件
400
380
  if (popRow.hasOwnProperty('confirmConfig') && popRow.confirmConfig.onCancel) {
401
381
  var _popRow$confirmConfig;
402
-
403
382
  (_popRow$confirmConfig = popRow.confirmConfig).onCancel.apply(_popRow$confirmConfig, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
404
383
  return rowParams[pItem];
405
384
  })));
406
385
  }
407
386
  },
408
387
  onConfirm: function onConfirm() {
409
- setPopVisibleIndex(-1); // 优先调用其 confirmConfig 配置的 onConfirm 事件
410
-
388
+ setPopVisibleIndex(-1);
389
+ // 优先调用其 confirmConfig 配置的 onConfirm 事件
411
390
  if (popRow.hasOwnProperty('confirmConfig') && popRow.confirmConfig.onConfirm) {
412
391
  var _popRow$confirmConfig2;
413
-
414
392
  (_popRow$confirmConfig2 = popRow.confirmConfig).onConfirm.apply(_popRow$confirmConfig2, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
415
393
  return rowParams[pItem];
416
394
  })));
@@ -421,19 +399,20 @@ var ButtonGroup = function ButtonGroup(props) {
421
399
  }
422
400
  }
423
401
  }), /*#__PURE__*/_react.default.createElement(_dropdown.default, Object.assign({
424
- overlay: textMenu(forDrop),
402
+ menu: {
403
+ items: deepTransTextMenus(forDrop)
404
+ },
425
405
  placement: "bottomRight"
426
406
  }, dropdownConfig), /*#__PURE__*/_react.default.createElement("a", {
427
407
  className: "spec-button-group-text"
428
- }, "\u66F4\u591A ", /*#__PURE__*/_react.default.createElement(_icons.DownOutlined, null)))));
408
+ }, moreText, " ", /*#__PURE__*/_react.default.createElement(_icons.DownOutlined, null)))));
429
409
  }
430
-
410
+ // 数量不超出时渲染
431
411
  return /*#__PURE__*/_react.default.createElement("span", {
432
412
  className: "spec-button-group"
433
413
  }, resetList.map(function (item, index) {
434
414
  return renderDisplayButton(item, index);
435
415
  }));
436
416
  };
437
-
438
417
  var _default = ButtonGroup;
439
418
  exports.default = _default;
@@ -15,7 +15,7 @@
15
15
  position: absolute;
16
16
  content: '';
17
17
  top: 50%;
18
- left: -@padding-sm/2;
18
+ left: -(@padding-sm/2);
19
19
  transform: translate(0, -50%);
20
20
  display: inline-block;
21
21
  height: .9em;