@kdcloudjs/table 1.2.1-canary.6 → 1.2.1-canary.7-hotfix.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 (251) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.css.map +0 -0
  3. package/dist/@kdcloudjs/table.js +1755 -3334
  4. package/dist/@kdcloudjs/table.js.map +1 -1
  5. package/dist/@kdcloudjs/table.min.css +1 -1
  6. package/dist/@kdcloudjs/table.min.js +16 -16
  7. package/dist/@kdcloudjs/table.min.js.map +1 -1
  8. package/dist/default-theme.js +0 -0
  9. package/dist/kd-ui-complete.less +0 -0
  10. package/dist/kd-ui.less +0 -0
  11. package/dist/theme.js +0 -0
  12. package/es/_utils/arrayUtil.js +0 -3
  13. package/es/_utils/devwarning.js +0 -1
  14. package/es/_utils/formatUtil.js +35 -96
  15. package/es/_utils/hooks.js +18 -42
  16. package/es/_utils/index.js +0 -2
  17. package/es/_utils/numberUtil.js +32 -55
  18. package/es/_utils/omit.js +0 -2
  19. package/es/_utils/type.js +0 -2
  20. package/es/_utils/usePopper.js +74 -137
  21. package/es/config-provider/compDefaultProps.js +0 -1
  22. package/es/config-provider/configProvider.js +2 -7
  23. package/es/config-provider/defaultConfig.js +0 -1
  24. package/es/index.js +0 -2
  25. package/es/locale/locale.js +5 -43
  26. package/es/table/base/calculations.js +22 -72
  27. package/es/table/base/colgroup.js +0 -1
  28. package/es/table/base/empty.js +4 -4
  29. package/es/table/base/header.js +16 -69
  30. package/es/table/base/helpers/SpanManager.js +3 -9
  31. package/es/table/base/helpers/TableDOMUtils.js +4 -28
  32. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  33. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  34. package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
  35. package/es/table/base/helpers/rowHeightManager.js +0 -28
  36. package/es/table/base/html-table.js +14 -35
  37. package/es/table/base/loading.js +6 -8
  38. package/es/table/base/renderTemplates.js +26 -44
  39. package/es/table/base/styles.js +0 -9
  40. package/es/table/base/table.js +95 -181
  41. package/es/table/base/utils.js +14 -54
  42. package/es/table/common-views.js +0 -7
  43. package/es/table/internals.js +0 -13
  44. package/es/table/pipeline/features/autoFill.js +11 -40
  45. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  46. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  47. package/es/table/pipeline/features/columnDrag.js +41 -96
  48. package/es/table/pipeline/features/columnFilter.js +11 -48
  49. package/es/table/pipeline/features/columnHover.js +1 -7
  50. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  51. package/es/table/pipeline/features/columnResizeWidth.js +11 -37
  52. package/es/table/pipeline/features/contextMenu.js +18 -89
  53. package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
  54. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  55. package/es/table/pipeline/features/filter/Filter.js +25 -48
  56. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  57. package/es/table/pipeline/features/filter/util.js +0 -4
  58. package/es/table/pipeline/features/footerDataSource.js +0 -3
  59. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  60. package/es/table/pipeline/features/multiSelect.js +15 -57
  61. package/es/table/pipeline/features/rangeSelection.js +63 -142
  62. package/es/table/pipeline/features/rowDetail.js +2 -41
  63. package/es/table/pipeline/features/rowDrag.js +38 -76
  64. package/es/table/pipeline/features/rowGrouping.js +2 -35
  65. package/es/table/pipeline/features/singleSelect.js +0 -24
  66. package/es/table/pipeline/features/sort.js +32 -89
  67. package/es/table/pipeline/features/tips.js +0 -6
  68. package/es/table/pipeline/features/treeMode.js +14 -46
  69. package/es/table/pipeline/features/treeSelect.js +0 -26
  70. package/es/table/pipeline/pipeline.js +11 -51
  71. package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
  72. package/es/table/pivot/cross-table/cross-table.js +22 -28
  73. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
  74. package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
  75. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  76. package/es/table/pivot/pivot-utils/builders.js +31 -71
  77. package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
  78. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  79. package/es/table/transforms/autoRowSpan.js +1 -15
  80. package/es/table/transforms/autoWidth.js +10 -32
  81. package/es/table/transforms/buildTree.js +1 -2
  82. package/es/table/transforms/columnHover.js +9 -15
  83. package/es/table/transforms/columnRangeHover.js +12 -19
  84. package/es/table/transforms/columnResize.js +15 -37
  85. package/es/table/transforms/flatten.js +0 -3
  86. package/es/table/transforms/orderField.js +0 -3
  87. package/es/table/transforms/sort.js +36 -93
  88. package/es/table/transforms/tips.js +1 -6
  89. package/es/table/transforms/treeMode.js +30 -69
  90. package/es/table/transforms/visible.js +0 -2
  91. package/es/table/use/useResizeObserver.js +1 -4
  92. package/es/table/utils/applyTransforms.js +0 -1
  93. package/es/table/utils/browserType.js +12 -19
  94. package/es/table/utils/buildTree.js +4 -19
  95. package/es/table/utils/collectNodes.js +1 -10
  96. package/es/table/utils/console.js +0 -14
  97. package/es/table/utils/copyToClipboard.js +0 -4
  98. package/es/table/utils/element.js +14 -41
  99. package/es/table/utils/exportTableAsExcel.js +4 -40
  100. package/es/table/utils/getTreeDepth.js +1 -9
  101. package/es/table/utils/groupBy.js +1 -10
  102. package/es/table/utils/layeredFilter.js +0 -4
  103. package/es/table/utils/layeredSort.js +0 -5
  104. package/es/table/utils/makeRecursiveMapper.js +1 -12
  105. package/es/table/utils/mergeCellProps.js +6 -13
  106. package/es/table/utils/others.js +3 -16
  107. package/es/table/utils/proto.js +2 -30
  108. package/es/table/utils/smartCompare.js +4 -12
  109. package/es/table/utils/traverseColumn.js +2 -15
  110. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
  111. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
  112. package/es/table/utils/uiDegrade.js +0 -5
  113. package/lib/_utils/arrayUtil.js +0 -5
  114. package/lib/_utils/devwarning.js +0 -5
  115. package/lib/_utils/formatUtil.js +35 -100
  116. package/lib/_utils/hooks.js +18 -53
  117. package/lib/_utils/index.js +0 -6
  118. package/lib/_utils/numberUtil.js +32 -63
  119. package/lib/_utils/omit.js +0 -5
  120. package/lib/_utils/react-children.js +0 -5
  121. package/lib/_utils/type.js +0 -6
  122. package/lib/_utils/usePopper.js +74 -158
  123. package/lib/config-provider/ConfigContext.js +1 -4
  124. package/lib/config-provider/compDefaultProps.js +0 -1
  125. package/lib/config-provider/configProvider.js +3 -18
  126. package/lib/config-provider/defaultConfig.js +0 -5
  127. package/lib/config-provider/index.js +0 -6
  128. package/lib/index.js +2 -8
  129. package/lib/locale/index.js +0 -7
  130. package/lib/locale/locale.js +5 -57
  131. package/lib/table/base/calculations.js +22 -83
  132. package/lib/table/base/colgroup.js +0 -5
  133. package/lib/table/base/empty.js +4 -16
  134. package/lib/table/base/header.js +16 -79
  135. package/lib/table/base/helpers/SpanManager.js +3 -11
  136. package/lib/table/base/helpers/TableDOMUtils.js +2 -28
  137. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  138. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  139. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  140. package/lib/table/base/helpers/getRichVisibleRectsStream.js +13 -63
  141. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  142. package/lib/table/base/html-table.js +14 -45
  143. package/lib/table/base/index.js +0 -2
  144. package/lib/table/base/loading.js +6 -12
  145. package/lib/table/base/renderTemplates.js +27 -58
  146. package/lib/table/base/styles.js +0 -21
  147. package/lib/table/base/table.js +95 -214
  148. package/lib/table/base/utils.js +14 -89
  149. package/lib/table/common-views.js +0 -16
  150. package/lib/table/index.js +0 -13
  151. package/lib/table/internals.js +0 -14
  152. package/lib/table/pipeline/features/autoFill.js +11 -47
  153. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  154. package/lib/table/pipeline/features/buildTree.js +0 -2
  155. package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
  156. package/lib/table/pipeline/features/columnDrag.js +41 -102
  157. package/lib/table/pipeline/features/columnFilter.js +11 -62
  158. package/lib/table/pipeline/features/columnHover.js +1 -11
  159. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  160. package/lib/table/pipeline/features/columnResizeWidth.js +11 -53
  161. package/lib/table/pipeline/features/contextMenu.js +18 -113
  162. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
  163. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  164. package/lib/table/pipeline/features/filter/Filter.js +25 -70
  165. package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
  166. package/lib/table/pipeline/features/filter/index.js +0 -5
  167. package/lib/table/pipeline/features/filter/util.js +0 -7
  168. package/lib/table/pipeline/features/footerDataSource.js +0 -10
  169. package/lib/table/pipeline/features/index.js +0 -23
  170. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  171. package/lib/table/pipeline/features/multiSelect.js +15 -71
  172. package/lib/table/pipeline/features/rangeSelection.js +63 -159
  173. package/lib/table/pipeline/features/rowDetail.js +2 -65
  174. package/lib/table/pipeline/features/rowDrag.js +38 -87
  175. package/lib/table/pipeline/features/rowGrouping.js +2 -55
  176. package/lib/table/pipeline/features/singleSelect.js +0 -34
  177. package/lib/table/pipeline/features/sort.js +31 -108
  178. package/lib/table/pipeline/features/tips.js +0 -15
  179. package/lib/table/pipeline/features/treeMode.js +14 -67
  180. package/lib/table/pipeline/features/treeSelect.js +0 -34
  181. package/lib/table/pipeline/index.js +0 -8
  182. package/lib/table/pipeline/pipeline.js +11 -60
  183. package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
  184. package/lib/table/pivot/cross-table/cross-table.js +22 -36
  185. package/lib/table/pivot/cross-table/index.js +0 -4
  186. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
  187. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
  188. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  189. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  190. package/lib/table/pivot/pivot-utils/builders.js +31 -82
  191. package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
  192. package/lib/table/pivot/pivot-utils/index.js +0 -7
  193. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  194. package/lib/table/style/css.js +0 -1
  195. package/lib/table/style/index.js +0 -1
  196. package/lib/table/transforms/autoRowSpan.js +1 -21
  197. package/lib/table/transforms/autoWidth.js +10 -53
  198. package/lib/table/transforms/buildTree.js +1 -4
  199. package/lib/table/transforms/columnHover.js +9 -22
  200. package/lib/table/transforms/columnRangeHover.js +12 -27
  201. package/lib/table/transforms/columnResize.js +15 -56
  202. package/lib/table/transforms/flatten.js +0 -5
  203. package/lib/table/transforms/index.js +0 -12
  204. package/lib/table/transforms/orderField.js +0 -7
  205. package/lib/table/transforms/sort.js +36 -117
  206. package/lib/table/transforms/tips.js +1 -16
  207. package/lib/table/transforms/treeMode.js +30 -96
  208. package/lib/table/transforms/visible.js +0 -7
  209. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  210. package/lib/table/use/useResizeObserver.js +1 -8
  211. package/lib/table/utils/applyTransforms.js +0 -2
  212. package/lib/table/utils/browserType.js +12 -19
  213. package/lib/table/utils/buildTree.js +4 -30
  214. package/lib/table/utils/collectNodes.js +1 -15
  215. package/lib/table/utils/console.js +0 -16
  216. package/lib/table/utils/copyToClipboard.js +0 -6
  217. package/lib/table/utils/element.js +14 -46
  218. package/lib/table/utils/exportTableAsExcel.js +4 -49
  219. package/lib/table/utils/getTreeDepth.js +1 -14
  220. package/lib/table/utils/groupBy.js +1 -14
  221. package/lib/table/utils/index.js +0 -22
  222. package/lib/table/utils/isGroupColumn.js +0 -3
  223. package/lib/table/utils/isLeafNode.js +0 -1
  224. package/lib/table/utils/layeredFilter.js +0 -10
  225. package/lib/table/utils/layeredSort.js +0 -10
  226. package/lib/table/utils/makeRecursiveMapper.js +1 -21
  227. package/lib/table/utils/mergeCellProps.js +6 -17
  228. package/lib/table/utils/others.js +3 -31
  229. package/lib/table/utils/proto.js +2 -33
  230. package/lib/table/utils/selectColumn.js +0 -1
  231. package/lib/table/utils/smartCompare.js +4 -13
  232. package/lib/table/utils/traverseColumn.js +2 -22
  233. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
  234. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
  235. package/lib/table/utils/uiDegrade.js +1 -8
  236. package/package.json +2 -1
  237. package/lib/style/color/colors.less +0 -2
  238. package/lib/style/core/index.less +0 -2
  239. package/lib/style/core/motion/other.less +0 -28
  240. package/lib/style/core/motion/slide.less +0 -53
  241. package/lib/style/core/motion.less +0 -2
  242. package/lib/style/core/reset.less +0 -186
  243. package/lib/style/index.css +0 -410
  244. package/lib/style/index.less +0 -2
  245. package/lib/style/mixins/index.less +0 -19
  246. package/lib/style/mixins/overlay.less +0 -22
  247. package/lib/style/mixins/reset.less +0 -13
  248. package/lib/style/themes/default.less +0 -445
  249. package/lib/style/themes/index.less +0 -1
  250. package/lib/table/style/index.css +0 -0
  251. package/lib/table/style/index.less +0 -1
@@ -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,52 +1,36 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
13
-
14
10
  var _extends3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
15
-
16
11
  var _react = _interopRequireDefault(require("react"));
17
-
18
12
  var _internals = require("../../internals");
19
-
20
13
  var _others = require("../../utils/others");
21
-
22
14
  var _utils = require("../../utils");
23
-
24
15
  function singleSelect() {
25
16
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
17
  return function singleSelectStep(pipeline) {
27
18
  var _context;
28
-
29
19
  var _a, _b, _c, _d, _e, _f;
30
-
31
20
  var Radio = pipeline.ctx.components.Radio;
32
-
33
21
  if (Radio == null) {
34
22
  throw new Error('使用 singleSelect 之前需要通过 pipeline context 设置 components.Radio');
35
23
  }
36
-
37
24
  var stateKey = 'singleSelect';
38
25
  var clickArea = (_a = opts.clickArea) !== null && _a !== void 0 ? _a : 'radio';
39
26
  var isDisabled = (_b = opts.isDisabled) !== null && _b !== void 0 ? _b : (0, _others.always)(false);
40
27
  var primaryKey = pipeline.ensurePrimaryKey('singleSelect');
41
28
  var value = (_d = (_c = opts.value) !== null && _c !== void 0 ? _c : pipeline.getStateAtKey(stateKey)) !== null && _d !== void 0 ? _d : opts.defaultValue;
42
-
43
29
  var onChange = function onChange(rowKey) {
44
30
  var _a;
45
-
46
31
  (_a = opts.onChange) === null || _a === void 0 ? void 0 : _a.call(opts, rowKey);
47
32
  pipeline.setStateAtKey(stateKey, rowKey);
48
33
  };
49
-
50
34
  var radioColumn = (0, _extends3.default)((0, _extends3.default)({
51
35
  name: '',
52
36
  width: 50,
@@ -54,12 +38,9 @@ function singleSelect() {
54
38
  }, opts.radioColumn), {
55
39
  getCellProps: function getCellProps(value, row, rowIndex) {
56
40
  var _a, _b;
57
-
58
41
  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);
59
-
60
42
  if (clickArea === 'cell') {
61
43
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
62
-
63
44
  var disabled = isDisabled(row, rowIndex);
64
45
  return (0, _utils.mergeCellProps)(preCellProps, {
65
46
  style: {
@@ -69,33 +50,26 @@ function singleSelect() {
69
50
  if (opts.stopClickEventPropagation) {
70
51
  e.stopPropagation();
71
52
  }
72
-
73
53
  onChange(rowKey);
74
54
  }
75
55
  });
76
56
  }
77
-
78
57
  return preCellProps;
79
58
  },
80
59
  render: function render(_, row, rowIndex) {
81
60
  if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
82
61
  return null;
83
62
  }
84
-
85
63
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
86
-
87
64
  return /*#__PURE__*/_react.default.createElement(Radio, {
88
65
  checked: value === rowKey,
89
66
  disabled: isDisabled(row, rowIndex),
90
67
  onChange: clickArea === 'radio' ? function (arg1, arg2) {
91
68
  var _a;
92
-
93
69
  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;
94
-
95
70
  if (nativeEvent && opts.stopClickEventPropagation) {
96
71
  nativeEvent.stopPropagation();
97
72
  }
98
-
99
73
  onChange(rowKey);
100
74
  } : undefined
101
75
  });
@@ -104,39 +78,31 @@ function singleSelect() {
104
78
  });
105
79
  var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
106
80
  var radioPlacement = (_f = opts.radioPlacement) !== null && _f !== void 0 ? _f : 'start';
107
-
108
81
  if (radioPlacement === 'start') {
109
82
  nextColumns.unshift(radioColumn);
110
83
  } else {
111
84
  nextColumns.push(radioColumn);
112
85
  }
113
-
114
86
  pipeline.columns(nextColumns);
115
87
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
116
88
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
117
-
118
89
  var style = {};
119
90
  var className;
120
91
  var onClick;
121
-
122
92
  if (opts.highlightRowWhenSelected) {
123
93
  if (value === rowKey) {
124
94
  className = 'highlight';
125
95
  }
126
96
  }
127
-
128
97
  if (clickArea === 'row' && !isDisabled(row, rowIndex)) {
129
98
  style.cursor = 'pointer';
130
-
131
99
  onClick = function onClick(e) {
132
100
  if (opts.stopClickEventPropagation) {
133
101
  e.stopPropagation();
134
102
  }
135
-
136
103
  onChange(rowKey);
137
104
  };
138
105
  }
139
-
140
106
  return {
141
107
  className: className,
142
108
  style: style,
@@ -1,64 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _sliceInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
4
-
5
4
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
-
7
5
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
8
-
9
6
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
11
  exports.sort = sort;
17
-
18
12
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
19
-
20
13
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
21
-
22
14
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
23
-
24
15
  var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
25
-
26
16
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
27
-
28
17
  var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
29
-
30
18
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
31
-
32
19
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
33
-
34
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
35
-
36
21
  var _react = _interopRequireDefault(require("react"));
37
-
38
22
  var _styledComponents = _interopRequireDefault(require("styled-components"));
39
-
40
23
  var _classnames = _interopRequireDefault(require("classnames"));
41
-
42
24
  var _internals = require("../../internals");
43
-
44
25
  var _utils = require("../../utils");
45
-
46
26
  var _styles = require("../../base/styles");
47
-
48
27
  var _templateObject;
49
-
50
28
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
51
-
52
29
  function _unsupportedIterableToArray(o, minLen) { var _context4; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context4 = Object.prototype.toString.call(o)).call(_context4, 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); }
53
-
54
30
  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; }
55
-
56
31
  function SortIcon(_ref) {
57
32
  var _ref$size = _ref.size,
58
- size = _ref$size === void 0 ? 32 : _ref$size,
59
- style = _ref.style,
60
- className = _ref.className,
61
- order = _ref.order;
33
+ size = _ref$size === void 0 ? 32 : _ref$size,
34
+ style = _ref.style,
35
+ className = _ref.className,
36
+ order = _ref.order;
62
37
  return /*#__PURE__*/_react.default.createElement("svg", {
63
38
  style: style,
64
39
  className: className,
@@ -79,16 +54,14 @@ function SortIcon(_ref) {
79
54
  d: "M24 24L16 32 8 24z "
80
55
  }));
81
56
  }
82
-
83
57
  function DefaultSortHeaderCell(_ref2) {
84
58
  var _cx;
85
-
86
59
  var children = _ref2.children,
87
- column = _ref2.column,
88
- onToggle = _ref2.onToggle,
89
- sortOrder = _ref2.sortOrder,
90
- sortIndex = _ref2.sortIndex,
91
- sortOptions = _ref2.sortOptions;
60
+ column = _ref2.column,
61
+ onToggle = _ref2.onToggle,
62
+ sortOrder = _ref2.sortOrder,
63
+ sortIndex = _ref2.sortIndex,
64
+ sortOptions = _ref2.sortOptions;
92
65
  // 通过 justify-content 来与 col.align 保持对齐方向一致
93
66
  var justifyContent = column.align === 'right' ? 'flex-end' : column.align === 'center' ? 'center' : 'flex-start';
94
67
  return /*#__PURE__*/_react.default.createElement(TableHeaderCell, {
@@ -116,48 +89,39 @@ function DefaultSortHeaderCell(_ref2) {
116
89
  }
117
90
  }, sortIndex + 1));
118
91
  }
119
-
120
92
  function hasAnySortableColumns(cols) {
121
93
  return cols.some(function (col) {
122
94
  var _a;
123
-
124
95
  return Boolean((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) || !(0, _utils.isLeafNode)(col) && hasAnySortableColumns(col.children);
125
96
  });
126
97
  }
127
-
128
98
  var TableHeaderCell = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n display: flex;\n align-items: center;\n // flex: auto;\n"])));
129
-
130
99
  var stateKey = 'sort';
131
-
132
100
  function sort() {
133
101
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
134
102
  return function sortStep(pipeline) {
135
103
  var _a, _b, _c;
136
-
137
104
  var _opts$orders = opts.orders,
138
- orders = _opts$orders === void 0 ? ['desc', 'asc', 'none'] : _opts$orders,
139
- _opts$mode = opts.mode,
140
- mode = _opts$mode === void 0 ? 'multiple' : _opts$mode,
141
- _opts$SortHeaderCell = opts.SortHeaderCell,
142
- SortHeaderCell = _opts$SortHeaderCell === void 0 ? DefaultSortHeaderCell : _opts$SortHeaderCell,
143
- keepDataSource = opts.keepDataSource,
144
- highlightColumnWhenActive = opts.highlightColumnWhenActive,
145
- stopClickEventPropagation = opts.stopClickEventPropagation,
146
- sortIconHoverShow = opts.sortIconHoverShow;
105
+ orders = _opts$orders === void 0 ? ['desc', 'asc', 'none'] : _opts$orders,
106
+ _opts$mode = opts.mode,
107
+ mode = _opts$mode === void 0 ? 'multiple' : _opts$mode,
108
+ _opts$SortHeaderCell = opts.SortHeaderCell,
109
+ SortHeaderCell = _opts$SortHeaderCell === void 0 ? DefaultSortHeaderCell : _opts$SortHeaderCell,
110
+ keepDataSource = opts.keepDataSource,
111
+ highlightColumnWhenActive = opts.highlightColumnWhenActive,
112
+ stopClickEventPropagation = opts.stopClickEventPropagation,
113
+ sortIconHoverShow = opts.sortIconHoverShow;
147
114
  var inputSorts = (_c = (_b = (_a = opts.sorts) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : opts.defaultSorts) !== null && _c !== void 0 ? _c : [];
148
115
  var activeSorts = (0, _filter.default)(inputSorts).call(inputSorts, function (s) {
149
116
  return s.order !== 'none';
150
- }); // 单字段排序的情况下 sorts 中只有第一个排序字段才会生效
151
-
117
+ });
118
+ // 单字段排序的情况下 sorts 中只有第一个排序字段才会生效
152
119
  var sorts = mode === 'multiple' ? activeSorts : (0, _slice.default)(activeSorts).call(activeSorts, 0, 1);
153
-
154
120
  var onChangeSortsInMultipleMode = function onChangeSortsInMultipleMode(nextSorts, currentSort) {
155
121
  var _a;
156
-
157
122
  (_a = opts.onChangeSorts) === null || _a === void 0 ? void 0 : _a.call(opts, nextSorts, currentSort);
158
123
  pipeline.setStateAtKey(stateKey, nextSorts);
159
124
  };
160
-
161
125
  var onChangeSorts = mode === 'multiple' ? onChangeSortsInMultipleMode : function (nextSorts, currentSort) {
162
126
  // 单字段排序的情况下,nextSorts 中只有最后一个排序字段才会生效
163
127
  var len = nextSorts.length;
@@ -180,59 +144,41 @@ function sort() {
180
144
  }));
181
145
  var dataSource = pipeline.getDataSource();
182
146
  var columns = pipeline.getColumns();
183
-
184
- if (process.env.NODE_ENV !== 'production') {
185
- if (!hasAnySortableColumns(columns)) {
186
- _utils.console.warn('commonTransform.sort 缺少可排序的列,请通过 column.features.sortable 来指定哪些列可排序', columns);
187
- }
188
- }
189
-
190
147
  pipeline.dataSource(processDataSource(dataSource));
191
148
  pipeline.columns(processColumns(columns));
192
149
  return pipeline;
193
-
194
150
  function processDataSource(dataSource) {
195
151
  var _context, _context2;
196
-
197
152
  if (keepDataSource) {
198
153
  return dataSource;
199
154
  }
200
-
201
155
  if (sortMap.size === 0) {
202
156
  return dataSource;
203
157
  }
204
-
205
158
  var sortColumnsMap = new _map.default((0, _map2.default)(_context = (0, _filter.default)(_context2 = (0, _utils.collectNodes)(columns, 'leaf-only')).call(_context2, function (col) {
206
159
  var _a, _b;
207
-
208
160
  return ((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) !== false && ((_b = col.features) === null || _b === void 0 ? void 0 : _b.sortable) != null;
209
161
  })).call(_context, function (col) {
210
162
  return [col.code, col];
211
163
  }));
212
164
  return (0, _utils.layeredSort)(dataSource, function (x, y) {
213
165
  var _iterator = _createForOfIteratorHelper(sorts),
214
- _step;
215
-
166
+ _step;
216
167
  try {
217
168
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
218
169
  var _step$value = _step.value,
219
- code = _step$value.code,
220
- order = _step$value.order;
221
- var column = sortColumnsMap.get(code); // 如果 code 对应的 column 不可排序,我们跳过该 code
222
-
170
+ code = _step$value.code,
171
+ order = _step$value.order;
172
+ var column = sortColumnsMap.get(code);
173
+ // 如果 code 对应的 column 不可排序,我们跳过该 code
223
174
  if (column == null) {
224
175
  continue;
225
176
  }
226
-
227
177
  var sortable = column.features.sortable;
228
178
  var compareFn = typeof sortable === 'function' ? sortable : _utils.smartCompare;
229
-
230
179
  var xValue = _internals.internals.safeGetValue(column, x, -1);
231
-
232
180
  var yValue = _internals.internals.safeGetValue(column, y, -1);
233
-
234
181
  var cmp = compareFn(xValue, yValue, x, y);
235
-
236
182
  if (cmp !== 0) {
237
183
  return cmp * (order === 'asc' ? 1 : -1);
238
184
  }
@@ -242,16 +188,13 @@ function sort() {
242
188
  } finally {
243
189
  _iterator.f();
244
190
  }
245
-
246
191
  return 0;
247
192
  });
248
- } // 在「升序 - 降序 - 不排序」之间不断切换
249
-
250
-
193
+ }
194
+ // 在「升序 - 降序 - 不排序」之间不断切换
251
195
  function toggle(code) {
252
196
  var sort = sortMap.get(code);
253
197
  var currentSort;
254
-
255
198
  if (sort == null) {
256
199
  currentSort = {
257
200
  code: code,
@@ -268,7 +211,6 @@ function sort() {
268
211
  code: code,
269
212
  order: nextOrder
270
213
  };
271
-
272
214
  if (nextOrder === 'none') {
273
215
  nextSorts.pop();
274
216
  } else {
@@ -276,43 +218,33 @@ function sort() {
276
218
  order: nextOrder
277
219
  });
278
220
  }
279
-
280
221
  onChangeSorts(nextSorts, currentSort);
281
222
  }
282
223
  }
283
-
284
224
  function processColumns(columns) {
285
225
  return (0, _map2.default)(columns).call(columns, dfs);
286
-
287
226
  function dfs(col) {
288
227
  var _a;
289
-
290
228
  var result = (0, _extends2.default)({}, col);
291
229
  var sortable = col.code && (((_a = col.features) === null || _a === void 0 ? void 0 : _a.sortable) || sortMap.has(col.code));
292
230
  var active = sortable && sortMap.has(col.code);
293
-
294
231
  if (sortable) {
295
232
  var sortIndex = -1;
296
233
  var sortOrder = 'none';
297
-
298
234
  if (active) {
299
235
  var _sortMap$get = sortMap.get(col.code),
300
- order = _sortMap$get.order,
301
- index = _sortMap$get.index;
302
-
236
+ order = _sortMap$get.order,
237
+ index = _sortMap$get.index;
303
238
  sortOrder = order;
304
239
  sortIndex = index;
305
-
306
240
  if (highlightColumnWhenActive) {
307
241
  result.headerCellProps = (0, _utils.mergeCellProps)(col.headerCellProps, {
308
242
  style: {
309
243
  background: 'var(--header-highlight-bgcolor)'
310
244
  }
311
245
  });
312
-
313
246
  result.getCellProps = function (value, row, rowIndex) {
314
247
  var prevCellProps = _internals.internals.safeGetCellProps(col, row, rowIndex);
315
-
316
248
  return (0, _utils.mergeCellProps)(prevCellProps, {
317
249
  style: {
318
250
  background: 'var(--highlight-bgcolor)'
@@ -321,13 +253,11 @@ function sort() {
321
253
  };
322
254
  }
323
255
  }
324
-
325
256
  var sortNode = /*#__PURE__*/_react.default.createElement(SortHeaderCell, {
326
257
  onToggle: function onToggle(e) {
327
258
  if (stopClickEventPropagation) {
328
259
  e.stopPropagation();
329
260
  }
330
-
331
261
  toggle(col.code);
332
262
  },
333
263
  sortOrder: sortOrder,
@@ -337,22 +267,19 @@ function sort() {
337
267
  }, _internals.internals.safeRenderHeader((0, _extends2.default)((0, _extends2.default)({}, col), {
338
268
  title: col.title && col.title[0] ? col.title[0] : col.title
339
269
  })));
340
-
341
270
  var _sortNodeWithoutTitle = /*#__PURE__*/_react.default.createElement(SortHeaderCell, {
342
271
  onToggle: function onToggle(e) {
343
272
  if (stopClickEventPropagation) {
344
273
  e.stopPropagation();
345
274
  }
346
-
347
275
  toggle(col.code);
348
276
  },
349
277
  sortOrder: sortOrder,
350
278
  column: col,
351
279
  sortIndex: sortIndex,
352
280
  sortOptions: sortOptions
353
- }); // 开启标题行高自适应后,修改表头的渲染结构
354
-
355
-
281
+ });
282
+ // 开启标题行高自适应后,修改表头的渲染结构
356
283
  if (col.renderHeader) {
357
284
  result.title = col.renderHeader(result.title, _sortNodeWithoutTitle);
358
285
  } else {
@@ -363,17 +290,13 @@ function sort() {
363
290
  }
364
291
  }
365
292
  }
366
-
367
293
  if (!(0, _utils.isLeafNode)(col)) {
368
294
  var _context3;
369
-
370
295
  result.children = (0, _map2.default)(_context3 = col.children).call(_context3, dfs);
371
296
  }
372
-
373
297
  return result;
374
298
  }
375
299
  }
376
-
377
300
  function getNextOrder(order) {
378
301
  var idx = orders.indexOf(order);
379
302
  return orders[idx === orders.length - 1 ? 0 : idx + 1];