@kdcloudjs/table 1.2.0-canary.6 → 1.2.0-canary.6-hotfix.2

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 (254) hide show
  1. package/LICENSE +568 -568
  2. package/README.md +111 -111
  3. package/dist/@kdcloudjs/table.css +1 -1
  4. package/dist/@kdcloudjs/table.js +1877 -3363
  5. package/dist/@kdcloudjs/table.js.map +1 -1
  6. package/dist/@kdcloudjs/table.min.css +1 -1
  7. package/dist/@kdcloudjs/table.min.js +16 -16
  8. package/dist/@kdcloudjs/table.min.js.map +1 -1
  9. package/dist/kd-ui-complete.less +777 -777
  10. package/es/_utils/arrayUtil.js +0 -3
  11. package/es/_utils/devwarning.js +0 -1
  12. package/es/_utils/formatUtil.js +35 -96
  13. package/es/_utils/hooks.js +18 -42
  14. package/es/_utils/index.js +0 -2
  15. package/es/_utils/numberUtil.js +32 -55
  16. package/es/_utils/omit.js +0 -2
  17. package/es/_utils/type.js +0 -2
  18. package/es/_utils/usePopper.js +74 -137
  19. package/es/config-provider/compDefaultProps.js +0 -1
  20. package/es/config-provider/configProvider.js +2 -7
  21. package/es/config-provider/defaultConfig.js +0 -1
  22. package/es/index.js +0 -2
  23. package/es/locale/locale.js +5 -43
  24. package/es/style/color/colors.less +1 -1
  25. package/es/style/core/index.less +1 -1
  26. package/es/style/core/motion/other.less +27 -27
  27. package/es/style/core/motion/slide.less +53 -53
  28. package/es/style/core/motion.less +1 -1
  29. package/es/style/core/reset.less +185 -185
  30. package/es/style/index.less +1 -1
  31. package/es/style/mixins/index.less +18 -18
  32. package/es/style/mixins/overlay.less +21 -21
  33. package/es/style/mixins/reset.less +12 -12
  34. package/es/style/themes/default.less +445 -445
  35. package/es/table/base/calculations.js +22 -72
  36. package/es/table/base/colgroup.js +0 -1
  37. package/es/table/base/empty.js +4 -4
  38. package/es/table/base/header.d.ts +2 -1
  39. package/es/table/base/header.js +17 -68
  40. package/es/table/base/helpers/SpanManager.js +3 -9
  41. package/es/table/base/helpers/TableDOMUtils.js +3 -26
  42. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  43. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  44. package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
  45. package/es/table/base/helpers/rowHeightManager.js +0 -28
  46. package/es/table/base/html-table.js +15 -36
  47. package/es/table/base/loading.js +6 -8
  48. package/es/table/base/renderTemplates.js +50 -54
  49. package/es/table/base/styles.js +1 -10
  50. package/es/table/base/table.js +116 -189
  51. package/es/table/base/utils.js +14 -54
  52. package/es/table/common-views.js +0 -7
  53. package/es/table/internals.js +0 -13
  54. package/es/table/pipeline/features/autoFill.js +11 -38
  55. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  56. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  57. package/es/table/pipeline/features/columnDrag.js +41 -95
  58. package/es/table/pipeline/features/columnFilter.js +11 -44
  59. package/es/table/pipeline/features/columnHover.js +1 -7
  60. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  61. package/es/table/pipeline/features/columnResizeWidth.js +11 -37
  62. package/es/table/pipeline/features/contextMenu.js +18 -89
  63. package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
  64. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  65. package/es/table/pipeline/features/filter/Filter.js +25 -48
  66. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  67. package/es/table/pipeline/features/filter/util.js +0 -4
  68. package/es/table/pipeline/features/footerDataSource.js +0 -3
  69. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  70. package/es/table/pipeline/features/multiSelect.js +15 -57
  71. package/es/table/pipeline/features/rangeSelection.js +63 -142
  72. package/es/table/pipeline/features/rowDetail.js +2 -41
  73. package/es/table/pipeline/features/rowGrouping.js +2 -35
  74. package/es/table/pipeline/features/singleSelect.js +0 -24
  75. package/es/table/pipeline/features/sort.js +29 -79
  76. package/es/table/pipeline/features/tips.js +0 -6
  77. package/es/table/pipeline/features/treeMode.js +9 -43
  78. package/es/table/pipeline/features/treeSelect.js +0 -26
  79. package/es/table/pipeline/pipeline.js +9 -49
  80. package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
  81. package/es/table/pivot/cross-table/cross-table.js +22 -28
  82. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
  83. package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
  84. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  85. package/es/table/pivot/pivot-utils/builders.js +31 -71
  86. package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
  87. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  88. package/es/table/style/index.less +1 -1
  89. package/es/table/transforms/autoRowSpan.js +1 -15
  90. package/es/table/transforms/autoWidth.js +10 -32
  91. package/es/table/transforms/buildTree.js +1 -2
  92. package/es/table/transforms/columnHover.js +9 -15
  93. package/es/table/transforms/columnRangeHover.js +12 -19
  94. package/es/table/transforms/columnResize.js +15 -37
  95. package/es/table/transforms/flatten.js +0 -3
  96. package/es/table/transforms/orderField.js +0 -3
  97. package/es/table/transforms/sort.js +36 -88
  98. package/es/table/transforms/tips.js +1 -6
  99. package/es/table/transforms/treeMode.js +30 -69
  100. package/es/table/transforms/visible.js +0 -2
  101. package/es/table/use/useResizeObserver.js +1 -4
  102. package/es/table/utils/applyTransforms.js +0 -1
  103. package/es/table/utils/buildTree.js +4 -19
  104. package/es/table/utils/collectNodes.js +1 -10
  105. package/es/table/utils/console.js +0 -14
  106. package/es/table/utils/copyToClipboard.js +0 -4
  107. package/es/table/utils/element.js +14 -41
  108. package/es/table/utils/exportTableAsExcel.js +4 -40
  109. package/es/table/utils/getTreeDepth.js +1 -9
  110. package/es/table/utils/groupBy.js +1 -10
  111. package/es/table/utils/layeredFilter.js +0 -4
  112. package/es/table/utils/layeredSort.js +0 -5
  113. package/es/table/utils/makeRecursiveMapper.js +1 -12
  114. package/es/table/utils/mergeCellProps.js +6 -13
  115. package/es/table/utils/others.js +3 -16
  116. package/es/table/utils/proto.js +2 -30
  117. package/es/table/utils/smartCompare.js +4 -12
  118. package/es/table/utils/traverseColumn.js +2 -15
  119. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
  120. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
  121. package/lib/_utils/arrayUtil.js +0 -5
  122. package/lib/_utils/devwarning.js +0 -5
  123. package/lib/_utils/formatUtil.js +35 -100
  124. package/lib/_utils/hooks.js +18 -53
  125. package/lib/_utils/index.js +0 -6
  126. package/lib/_utils/numberUtil.js +32 -63
  127. package/lib/_utils/omit.js +0 -5
  128. package/lib/_utils/react-children.js +0 -5
  129. package/lib/_utils/type.js +0 -6
  130. package/lib/_utils/usePopper.js +74 -158
  131. package/lib/config-provider/ConfigContext.js +1 -4
  132. package/lib/config-provider/compDefaultProps.js +0 -1
  133. package/lib/config-provider/configProvider.js +3 -18
  134. package/lib/config-provider/defaultConfig.js +0 -5
  135. package/lib/config-provider/index.js +0 -6
  136. package/lib/index.js +2 -8
  137. package/lib/locale/index.js +0 -7
  138. package/lib/locale/locale.js +5 -57
  139. package/lib/style/color/colors.less +1 -1
  140. package/lib/style/components.less +1 -1
  141. package/lib/style/core/index.less +1 -1
  142. package/lib/style/core/motion/other.less +27 -27
  143. package/lib/style/core/motion/slide.less +53 -53
  144. package/lib/style/core/motion.less +1 -1
  145. package/lib/style/core/reset.less +185 -185
  146. package/lib/style/index.less +1 -1
  147. package/lib/style/mixins/index.less +18 -18
  148. package/lib/style/mixins/overlay.less +21 -21
  149. package/lib/style/mixins/reset.less +12 -12
  150. package/lib/style/themes/default.less +445 -445
  151. package/lib/table/base/calculations.js +22 -83
  152. package/lib/table/base/colgroup.js +0 -5
  153. package/lib/table/base/empty.js +4 -16
  154. package/lib/table/base/header.d.ts +2 -1
  155. package/lib/table/base/header.js +17 -78
  156. package/lib/table/base/helpers/SpanManager.js +3 -11
  157. package/lib/table/base/helpers/TableDOMUtils.js +1 -26
  158. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  159. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  160. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  161. package/lib/table/base/helpers/getRichVisibleRectsStream.js +11 -62
  162. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  163. package/lib/table/base/html-table.js +15 -46
  164. package/lib/table/base/index.js +0 -2
  165. package/lib/table/base/loading.js +6 -12
  166. package/lib/table/base/renderTemplates.js +51 -68
  167. package/lib/table/base/styles.js +1 -22
  168. package/lib/table/base/table.js +116 -222
  169. package/lib/table/base/utils.js +14 -89
  170. package/lib/table/common-views.js +0 -16
  171. package/lib/table/index.js +0 -13
  172. package/lib/table/internals.js +0 -14
  173. package/lib/table/pipeline/features/autoFill.js +11 -45
  174. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  175. package/lib/table/pipeline/features/buildTree.js +0 -2
  176. package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
  177. package/lib/table/pipeline/features/columnDrag.js +41 -101
  178. package/lib/table/pipeline/features/columnFilter.js +11 -58
  179. package/lib/table/pipeline/features/columnHover.js +1 -11
  180. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  181. package/lib/table/pipeline/features/columnResizeWidth.js +11 -53
  182. package/lib/table/pipeline/features/contextMenu.js +18 -113
  183. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
  184. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  185. package/lib/table/pipeline/features/filter/Filter.js +25 -70
  186. package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
  187. package/lib/table/pipeline/features/filter/index.js +0 -5
  188. package/lib/table/pipeline/features/filter/util.js +0 -7
  189. package/lib/table/pipeline/features/footerDataSource.js +0 -10
  190. package/lib/table/pipeline/features/index.js +0 -22
  191. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  192. package/lib/table/pipeline/features/multiSelect.js +15 -70
  193. package/lib/table/pipeline/features/rangeSelection.js +63 -159
  194. package/lib/table/pipeline/features/rowDetail.js +2 -65
  195. package/lib/table/pipeline/features/rowGrouping.js +2 -55
  196. package/lib/table/pipeline/features/singleSelect.js +0 -33
  197. package/lib/table/pipeline/features/sort.js +29 -99
  198. package/lib/table/pipeline/features/tips.js +0 -15
  199. package/lib/table/pipeline/features/treeMode.js +9 -64
  200. package/lib/table/pipeline/features/treeSelect.js +0 -34
  201. package/lib/table/pipeline/index.js +0 -8
  202. package/lib/table/pipeline/pipeline.js +9 -58
  203. package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
  204. package/lib/table/pivot/cross-table/cross-table.js +22 -36
  205. package/lib/table/pivot/cross-table/index.js +0 -4
  206. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
  207. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
  208. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  209. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  210. package/lib/table/pivot/pivot-utils/builders.js +31 -82
  211. package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
  212. package/lib/table/pivot/pivot-utils/index.js +0 -7
  213. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  214. package/lib/table/style/css.js +0 -1
  215. package/lib/table/style/index.js +0 -1
  216. package/lib/table/style/index.less +1 -1
  217. package/lib/table/transforms/autoRowSpan.js +1 -21
  218. package/lib/table/transforms/autoWidth.js +10 -53
  219. package/lib/table/transforms/buildTree.js +1 -4
  220. package/lib/table/transforms/columnHover.js +9 -22
  221. package/lib/table/transforms/columnRangeHover.js +12 -27
  222. package/lib/table/transforms/columnResize.js +15 -56
  223. package/lib/table/transforms/flatten.js +0 -5
  224. package/lib/table/transforms/index.js +0 -12
  225. package/lib/table/transforms/orderField.js +0 -7
  226. package/lib/table/transforms/sort.js +36 -112
  227. package/lib/table/transforms/tips.js +1 -16
  228. package/lib/table/transforms/treeMode.js +30 -96
  229. package/lib/table/transforms/visible.js +0 -7
  230. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  231. package/lib/table/use/useResizeObserver.js +1 -8
  232. package/lib/table/utils/applyTransforms.js +0 -2
  233. package/lib/table/utils/buildTree.js +4 -30
  234. package/lib/table/utils/collectNodes.js +1 -15
  235. package/lib/table/utils/console.js +0 -16
  236. package/lib/table/utils/copyToClipboard.js +0 -6
  237. package/lib/table/utils/element.js +14 -46
  238. package/lib/table/utils/exportTableAsExcel.js +4 -49
  239. package/lib/table/utils/getTreeDepth.js +1 -14
  240. package/lib/table/utils/groupBy.js +1 -14
  241. package/lib/table/utils/index.js +0 -20
  242. package/lib/table/utils/isGroupColumn.js +0 -3
  243. package/lib/table/utils/isLeafNode.js +0 -1
  244. package/lib/table/utils/layeredFilter.js +0 -10
  245. package/lib/table/utils/layeredSort.js +0 -10
  246. package/lib/table/utils/makeRecursiveMapper.js +1 -21
  247. package/lib/table/utils/mergeCellProps.js +6 -17
  248. package/lib/table/utils/others.js +3 -31
  249. package/lib/table/utils/proto.js +2 -33
  250. package/lib/table/utils/smartCompare.js +4 -13
  251. package/lib/table/utils/traverseColumn.js +2 -22
  252. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
  253. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
  254. package/package.json +219 -218
@@ -1,56 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _flatMapInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/flat-map");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.rowDetail = rowDetail;
11
-
12
9
  var _toArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toArray"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
15
-
16
11
  var _extends4 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
17
-
18
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
19
-
20
13
  var _symbol = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/symbol"));
21
-
22
14
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
23
-
24
15
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
25
-
26
16
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
27
-
28
17
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
29
-
30
18
  var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
31
-
32
19
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
33
-
34
20
  var _classnames = _interopRequireDefault(require("classnames"));
35
-
36
21
  var _react = _interopRequireDefault(require("react"));
37
-
38
22
  var _commonViews = require("../../common-views");
39
-
40
23
  var _internals = require("../../internals");
41
-
42
24
  var _utils = require("../../utils");
43
-
44
25
  var _others = require("../../utils/others");
45
-
46
26
  var _console = _interopRequireDefault(require("../../utils/console"));
47
-
48
27
  var _renderTemplates = _interopRequireDefault(require("../../base/renderTemplates"));
49
-
50
28
  var _base = require("../../base");
51
-
52
29
  var rowDetailSymbol = (0, _symbol.default)('row-detail');
53
-
54
30
  var fallbackRenderDetail = function fallbackRenderDetail() {
55
31
  return /*#__PURE__*/_react.default.createElement("div", {
56
32
  style: {
@@ -62,14 +38,11 @@ var fallbackRenderDetail = function fallbackRenderDetail() {
62
38
  }
63
39
  }, "\u8BBE\u7F6E ", /*#__PURE__*/_react.default.createElement("code", null, "rowDetail.renderDetail"), " \u6765\u81EA\u5B9A\u4E49\u8BE6\u60C5\u5185\u5BB9"));
64
40
  };
65
-
66
41
  function rowDetail() {
67
42
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
68
43
  return function rowDetailStep(pipeline) {
69
44
  var _context, _context2;
70
-
71
45
  var _a, _b, _c, _d, _e, _f, _g, _h;
72
-
73
46
  var stateKey = 'rowDetail';
74
47
  var rowDetailMetaKey = (_a = opts.rowDetailMetaKey) !== null && _a !== void 0 ? _a : rowDetailSymbol;
75
48
  var primaryKey = pipeline.ensurePrimaryKey('rowDetail');
@@ -84,33 +57,26 @@ function rowDetail() {
84
57
  var openKeys = (_h = (_g = (_f = opts.openKeys) !== null && _f !== void 0 ? _f : pipeline.getStateAtKey(stateKey)) !== null && _g !== void 0 ? _g : opts.defaultOpenAll ? (0, _map.default)(_context = (0, _filter.default)(_context2 = pipeline.getDataSource()).call(_context2, hasDetail)).call(_context, function (row, rowIndex) {
85
58
  return _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
86
59
  }) : opts.defaultOpenKeys) !== null && _h !== void 0 ? _h : [];
87
-
88
60
  var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
89
61
  var _a;
90
-
91
62
  (_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
92
63
  pipeline.setStateAtKey(stateKey, nextKeys, {
93
64
  key: key,
94
65
  action: action
95
66
  });
96
67
  };
97
-
98
68
  var openKeySet = new _set.default(openKeys);
99
-
100
69
  var toggle = function toggle(rowKey) {
101
70
  var expanded = openKeySet.has(rowKey);
102
-
103
71
  if (expanded) {
104
72
  onChangeOpenKeys((0, _filter.default)(openKeys).call(openKeys, function (key) {
105
73
  return key !== rowKey;
106
74
  }), rowKey, 'collapse');
107
75
  } else {
108
76
  var _context3;
109
-
110
77
  onChangeOpenKeys((0, _concat.default)(_context3 = []).call(_context3, (0, _toConsumableArray2.default)(openKeys), [rowKey]), rowKey, 'expand');
111
78
  }
112
79
  };
113
-
114
80
  var detailPrimaryKey = typeof primaryKey === 'string' ? primaryKey : rowDetailMetaKey.toString() + 'PrimaryKey';
115
81
  return pipeline.dataSource((0, _flatMapInstanceProperty(_others))(pipeline.getDataSource(), function (row, rowIndex) {
116
82
  if (openKeySet.has(_internals.internals.safeGetRowKey(primaryKey, row, rowIndex))) {
@@ -126,35 +92,27 @@ function rowDetail() {
126
92
  };
127
93
  }
128
94
  });
129
-
130
95
  function processColumns(columns) {
131
96
  if (columns.length === 0) {
132
97
  return columns;
133
98
  }
134
-
135
99
  var expandColumnIndex = 0;
136
-
137
100
  if (opts.expandColumnCode) {
138
101
  expandColumnIndex = (0, _findIndex.default)(columns).call(columns, function (col) {
139
102
  return col.code === opts.expandColumnCode;
140
103
  });
141
-
142
104
  if (expandColumnIndex < 0) {
143
105
  _console.default.warn('没找到可展开的列,请检查设置的展开列code');
144
-
145
106
  return columns;
146
107
  }
147
108
  }
148
-
149
109
  var expandCol = columns[expandColumnIndex];
150
110
  var tableColumns = (0, _toConsumableArray2.default)(columns);
151
-
152
111
  var render = function render(value, row, rowIndex) {
153
112
  if (row[rowDetailMetaKey]) {
154
113
  // 第一列内容已经渲染
155
114
  if (expandColumnIndex !== 0) return;
156
115
  var renderRowDetail = (0, _renderTemplates.default)('rowDetail');
157
-
158
116
  if (typeof renderRowDetail === 'function') {
159
117
  return renderRowDetail({
160
118
  row: row,
@@ -163,12 +121,9 @@ function rowDetail() {
163
121
  renderDetail: renderDetail
164
122
  });
165
123
  }
166
-
167
124
  return renderDetail(row, rowIndex);
168
125
  }
169
-
170
126
  var content = _internals.internals.safeRender(expandCol, row, rowIndex);
171
-
172
127
  if (!hasDetail(row, rowIndex)) {
173
128
  return /*#__PURE__*/_react.default.createElement(_commonViews.InlineFlexCell, {
174
129
  style: {
@@ -176,19 +131,14 @@ function rowDetail() {
176
131
  }
177
132
  }, content);
178
133
  }
179
-
180
134
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
181
-
182
135
  var expanded = openKeySet.has(rowKey);
183
-
184
136
  var onClick = function onClick(e) {
185
137
  if (opts.stopClickEventPropagation) {
186
138
  e.stopPropagation();
187
139
  }
188
-
189
140
  toggle(rowKey);
190
141
  };
191
-
192
142
  var expandCls = expanded ? _base.Classes.expanded : _base.Classes.collapsed;
193
143
  var ExpandIcon = opts.expandIcon;
194
144
  return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
@@ -210,10 +160,8 @@ function rowDetail() {
210
160
  onClick: clickArea === 'icon' ? onClick : undefined
211
161
  }), content);
212
162
  };
213
-
214
163
  var getCellProps = function getCellProps(value, row, rowIndex) {
215
164
  var _a;
216
-
217
165
  if (row[rowDetailMetaKey]) {
218
166
  return {
219
167
  style: (0, _extends4.default)({
@@ -222,19 +170,15 @@ function rowDetail() {
222
170
  }, opts.detailCellStyle)
223
171
  };
224
172
  }
225
-
226
173
  var prevProps = (_a = expandCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(expandCol, value, row, rowIndex);
227
-
228
174
  if (!hasDetail(row, rowIndex)) {
229
175
  return prevProps;
230
176
  }
231
-
232
177
  return (0, _utils.mergeCellProps)(prevProps, {
233
178
  onClick: function onClick(e) {
234
179
  if (opts.stopClickEventPropagation) {
235
180
  e.stopPropagation();
236
181
  }
237
-
238
182
  toggle(_internals.internals.safeGetRowKey(primaryKey, row, rowIndex));
239
183
  },
240
184
  style: {
@@ -242,15 +186,12 @@ function rowDetail() {
242
186
  }
243
187
  });
244
188
  };
245
-
246
189
  var _tableColumns = (0, _toArray2.default)(tableColumns),
247
- firstCol = _tableColumns[0],
248
- others = (0, _slice.default)(_tableColumns).call(_tableColumns, 1);
249
-
190
+ firstCol = _tableColumns[0],
191
+ others = (0, _slice.default)(_tableColumns).call(_tableColumns, 1);
250
192
  var firstColRender = function firstColRender(value, row, rowIndex) {
251
193
  if (row[rowDetailMetaKey]) {
252
194
  var renderRowDetail = (0, _renderTemplates.default)('rowDetail');
253
-
254
195
  if (typeof renderRowDetail === 'function') {
255
196
  return renderRowDetail({
256
197
  row: row,
@@ -259,15 +200,11 @@ function rowDetail() {
259
200
  renderDetail: renderDetail
260
201
  });
261
202
  }
262
-
263
203
  return renderDetail(row, rowIndex);
264
204
  }
265
-
266
205
  var content = _internals.internals.safeRender(firstCol, row, rowIndex);
267
-
268
206
  return content;
269
207
  };
270
-
271
208
  tableColumns[0] = (0, _extends4.default)((0, _extends4.default)({}, firstCol), {
272
209
  render: firstColRender,
273
210
  getSpanRect: function getSpanRect(value, row, rowIndex) {
@@ -1,56 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _flatMapInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/flat-map");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.rowGrouping = rowGrouping;
11
-
12
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
13
-
14
10
  var _toArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toArray"));
15
-
16
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
-
18
12
  var _extends3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
-
20
13
  var _symbol = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/symbol"));
21
-
22
14
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
23
-
24
15
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
25
-
26
16
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
27
-
28
17
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
29
-
30
18
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
31
-
32
19
  var _classnames = _interopRequireDefault(require("classnames"));
33
-
34
20
  var _react = _interopRequireDefault(require("react"));
35
-
36
21
  var _commonViews = require("../../common-views");
37
-
38
22
  var _internals = require("../../internals");
39
-
40
23
  var _utils = require("../../utils");
41
-
42
24
  var _others = require("../../utils/others");
43
-
44
25
  var _base = require("../../base");
45
-
46
26
  var groupingMetaSymbol = (0, _symbol.default)('row-grouping-meta');
47
-
48
27
  function attachGroupingMeta(row) {
49
28
  return (0, _extends3.default)((0, _defineProperty2.default)({}, groupingMetaSymbol, {
50
29
  expandable: !(0, _utils.isLeafNode)(row)
51
30
  }), row);
52
31
  }
53
-
54
32
  function getGroupingMeta(row) {
55
33
  if (row[groupingMetaSymbol] == null) {
56
34
  return {
@@ -58,13 +36,11 @@ function getGroupingMeta(row) {
58
36
  expandable: false
59
37
  };
60
38
  }
61
-
62
39
  return {
63
40
  isGroupHeader: true,
64
41
  expandable: row[groupingMetaSymbol].expandable
65
42
  };
66
43
  }
67
-
68
44
  function rowGroupingRowPropsGetter(row) {
69
45
  if (getGroupingMeta(row).isGroupHeader) {
70
46
  return {
@@ -72,75 +48,56 @@ function rowGroupingRowPropsGetter(row) {
72
48
  };
73
49
  }
74
50
  }
75
-
76
51
  function rowGrouping() {
77
52
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
53
  return function (pipeline) {
79
54
  var _context;
80
-
81
55
  var _a, _b, _c;
82
-
83
56
  var stateKey = 'rowGrouping';
84
57
  var indents = pipeline.ctx.indents;
85
58
  var textOffset = indents.iconIndent + indents.iconWidth + indents.iconGap;
86
59
  var primaryKey = pipeline.ensurePrimaryKey('rowGrouping');
87
-
88
60
  if (typeof primaryKey !== 'string') {
89
61
  throw new Error('rowGrouping 仅支持字符串作为 primaryKey');
90
62
  }
91
-
92
63
  var openKeys = (_c = (_b = (_a = opts.openKeys) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : opts.defaultOpenAll ? (0, _map.default)(_context = pipeline.getDataSource()).call(_context, function (row) {
93
64
  return row[primaryKey];
94
65
  }) : opts.defaultOpenKeys) !== null && _c !== void 0 ? _c : [];
95
66
  var openKeySet = new _set.default(openKeys);
96
-
97
67
  var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
98
68
  var _a;
99
-
100
69
  (_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
101
70
  pipeline.setStateAtKey(stateKey, nextKeys, {
102
71
  key: key,
103
72
  action: action
104
73
  });
105
74
  };
106
-
107
75
  return pipeline.mapDataSource(processDataSource).mapColumns(processColumns).appendRowPropsGetter(rowGroupingRowPropsGetter);
108
-
109
76
  function processDataSource(input) {
110
77
  return (0, _flatMapInstanceProperty(_others))(input, function (row) {
111
78
  var result = [attachGroupingMeta(row)];
112
79
  var expanded = openKeySet.has(row[primaryKey]);
113
-
114
80
  if (expanded) {
115
81
  if (Array.isArray(row.children)) {
116
82
  result = (0, _concat.default)(result).call(result, row.children);
117
83
  }
118
84
  }
119
-
120
85
  return result;
121
86
  });
122
87
  }
123
-
124
88
  function processColumns(columns) {
125
89
  var _context3;
126
-
127
90
  if (columns.length === 0) {
128
91
  return columns;
129
92
  }
130
-
131
93
  var columnFlatCount = (0, _utils.collectNodes)(columns, 'leaf-only').length;
132
-
133
94
  var _columns = (0, _toArray2.default)(columns),
134
- firstCol = _columns[0],
135
- others = (0, _slice.default)(_columns).call(_columns, 1);
136
-
95
+ firstCol = _columns[0],
96
+ others = (0, _slice.default)(_columns).call(_columns, 1);
137
97
  var render = function render(value, row, rowIndex) {
138
98
  var _a, _b;
139
-
140
99
  var content = _internals.internals.safeRender(firstCol, row, rowIndex);
141
-
142
100
  var meta = getGroupingMeta(row);
143
-
144
101
  if (!meta.isGroupHeader || !meta.expandable) {
145
102
  var marginLeft = textOffset + (meta.isGroupHeader ? 0 : indents.indentSize);
146
103
  return /*#__PURE__*/_react.default.createElement(_commonViews.InlineFlexCell, {
@@ -149,7 +106,6 @@ function rowGrouping() {
149
106
  }
150
107
  }, meta.isGroupHeader ? (_a = row.groupTitle) !== null && _a !== void 0 ? _a : content : content);
151
108
  }
152
-
153
109
  var expanded = openKeySet.has(row[primaryKey]);
154
110
  var expandCls = expanded ? _base.Classes.expanded : _base.Classes.collapsed;
155
111
  return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
@@ -162,39 +118,31 @@ function rowGrouping() {
162
118
  }
163
119
  }), (_b = row.groupTitle) !== null && _b !== void 0 ? _b : content);
164
120
  };
165
-
166
121
  var getCellProps = function getCellProps(value, row, rowIndex) {
167
122
  var _a;
168
-
169
123
  var meta = getGroupingMeta(row);
170
-
171
124
  if (!meta.isGroupHeader) {
172
125
  return;
173
126
  }
174
-
175
127
  var expandable = meta.expandable;
176
128
  var rowKey = row[primaryKey];
177
129
  var expanded = openKeySet.has(rowKey);
178
130
  var onClick;
179
-
180
131
  if (expandable) {
181
132
  onClick = function onClick(e) {
182
133
  if (opts.stopClickEventPropagation) {
183
134
  e.stopPropagation();
184
135
  }
185
-
186
136
  if (expanded) {
187
137
  onChangeOpenKeys((0, _filter.default)(openKeys).call(openKeys, function (key) {
188
138
  return key !== rowKey;
189
139
  }), rowKey, 'collapse');
190
140
  } else {
191
141
  var _context2;
192
-
193
142
  onChangeOpenKeys((0, _concat.default)(_context2 = []).call(_context2, (0, _toConsumableArray2.default)(openKeys), [rowKey]), rowKey, 'expand');
194
143
  }
195
144
  };
196
145
  }
197
-
198
146
  var prevProps = (_a = firstCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(firstCol, value, row, rowIndex);
199
147
  return (0, _utils.mergeCellProps)(prevProps, {
200
148
  onClick: onClick,
@@ -203,7 +151,6 @@ function rowGrouping() {
203
151
  }
204
152
  });
205
153
  };
206
-
207
154
  return (0, _concat.default)(_context3 = [(0, _extends3.default)((0, _extends3.default)({}, firstCol), {
208
155
  title: /*#__PURE__*/_react.default.createElement("div", {
209
156
  style: {
@@ -1,50 +1,35 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.singleSelect = singleSelect;
9
-
10
8
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
13
-
14
10
  var _react = _interopRequireDefault(require("react"));
15
-
16
11
  var _internals = require("../../internals");
17
-
18
12
  var _others = require("../../utils/others");
19
-
20
13
  var _utils = require("../../utils");
21
-
22
14
  function singleSelect() {
23
15
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
24
16
  return function singleSelectStep(pipeline) {
25
17
  var _context;
26
-
27
18
  var _a, _b, _c, _d, _e;
28
-
29
19
  var Radio = pipeline.ctx.components.Radio;
30
-
31
20
  if (Radio == null) {
32
21
  throw new Error('使用 singleSelect 之前需要通过 pipeline context 设置 components.Radio');
33
22
  }
34
-
35
23
  var stateKey = 'singleSelect';
36
24
  var clickArea = (_a = opts.clickArea) !== null && _a !== void 0 ? _a : 'radio';
37
25
  var isDisabled = (_b = opts.isDisabled) !== null && _b !== void 0 ? _b : (0, _others.always)(false);
38
26
  var primaryKey = pipeline.ensurePrimaryKey('singleSelect');
39
27
  var value = (_d = (_c = opts.value) !== null && _c !== void 0 ? _c : pipeline.getStateAtKey(stateKey)) !== null && _d !== void 0 ? _d : opts.defaultValue;
40
-
41
28
  var onChange = function onChange(rowKey) {
42
29
  var _a;
43
-
44
30
  (_a = opts.onChange) === null || _a === void 0 ? void 0 : _a.call(opts, rowKey);
45
31
  pipeline.setStateAtKey(stateKey, rowKey);
46
32
  };
47
-
48
33
  var radioColumn = (0, _extends2.default)((0, _extends2.default)({
49
34
  name: '',
50
35
  width: 50,
@@ -52,12 +37,9 @@ function singleSelect() {
52
37
  }, opts.radioColumn), {
53
38
  getCellProps: function getCellProps(value, row, rowIndex) {
54
39
  var _a, _b;
55
-
56
40
  var preCellProps = (_b = (_a = opts.radioColumn) === null || _a === void 0 ? void 0 : _a.getCellProps) === null || _b === void 0 ? void 0 : _b.call(_a, value, row, rowIndex);
57
-
58
41
  if (clickArea === 'cell') {
59
42
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
60
-
61
43
  var disabled = isDisabled(row, rowIndex);
62
44
  return (0, _utils.mergeCellProps)(preCellProps, {
63
45
  style: {
@@ -67,33 +49,26 @@ function singleSelect() {
67
49
  if (opts.stopClickEventPropagation) {
68
50
  e.stopPropagation();
69
51
  }
70
-
71
52
  onChange(rowKey);
72
53
  }
73
54
  });
74
55
  }
75
-
76
56
  return preCellProps;
77
57
  },
78
58
  render: function render(_, row, rowIndex) {
79
59
  if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
80
60
  return null;
81
61
  }
82
-
83
62
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
84
-
85
63
  return /*#__PURE__*/_react.default.createElement(Radio, {
86
64
  checked: value === rowKey,
87
65
  disabled: isDisabled(row, rowIndex),
88
66
  onChange: clickArea === 'radio' ? function (arg1, arg2) {
89
67
  var _a;
90
-
91
68
  var nativeEvent = (_a = arg2 === null || arg2 === void 0 ? void 0 : arg2.nativeEvent) !== null && _a !== void 0 ? _a : arg1 === null || arg1 === void 0 ? void 0 : arg1.nativeEvent;
92
-
93
69
  if (nativeEvent && opts.stopClickEventPropagation) {
94
70
  nativeEvent.stopPropagation();
95
71
  }
96
-
97
72
  onChange(rowKey);
98
73
  } : undefined
99
74
  });
@@ -101,39 +76,31 @@ function singleSelect() {
101
76
  });
102
77
  var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
103
78
  var radioPlacement = (_e = opts.radioPlacement) !== null && _e !== void 0 ? _e : 'start';
104
-
105
79
  if (radioPlacement === 'start') {
106
80
  nextColumns.unshift(radioColumn);
107
81
  } else {
108
82
  nextColumns.push(radioColumn);
109
83
  }
110
-
111
84
  pipeline.columns(nextColumns);
112
85
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
113
86
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
114
-
115
87
  var style = {};
116
88
  var className;
117
89
  var onClick;
118
-
119
90
  if (opts.highlightRowWhenSelected) {
120
91
  if (value === rowKey) {
121
92
  className = 'highlight';
122
93
  }
123
94
  }
124
-
125
95
  if (clickArea === 'row' && !isDisabled(row, rowIndex)) {
126
96
  style.cursor = 'pointer';
127
-
128
97
  onClick = function onClick(e) {
129
98
  if (opts.stopClickEventPropagation) {
130
99
  e.stopPropagation();
131
100
  }
132
-
133
101
  onChange(rowKey);
134
102
  };
135
103
  }
136
-
137
104
  return {
138
105
  className: className,
139
106
  style: style,