@kdcloudjs/table 1.2.0-canary.16 → 1.2.0-canary.16-hotfix

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 (233) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +2047 -3489
  3. package/dist/@kdcloudjs/table.js.map +1 -1
  4. package/dist/@kdcloudjs/table.min.css +1 -1
  5. package/dist/@kdcloudjs/table.min.js +16 -16
  6. package/dist/@kdcloudjs/table.min.js.map +1 -1
  7. package/es/_utils/arrayUtil.js +0 -3
  8. package/es/_utils/devwarning.js +0 -1
  9. package/es/_utils/formatUtil.js +35 -96
  10. package/es/_utils/hooks.js +18 -42
  11. package/es/_utils/index.js +0 -2
  12. package/es/_utils/numberUtil.js +32 -55
  13. package/es/_utils/omit.js +0 -2
  14. package/es/_utils/type.js +0 -2
  15. package/es/_utils/usePopper.js +74 -137
  16. package/es/config-provider/compDefaultProps.js +0 -1
  17. package/es/config-provider/configProvider.js +2 -7
  18. package/es/config-provider/defaultConfig.js +0 -1
  19. package/es/index.js +0 -2
  20. package/es/locale/locale.js +5 -43
  21. package/es/table/base/calculations.js +22 -72
  22. package/es/table/base/colgroup.js +0 -1
  23. package/es/table/base/empty.js +4 -4
  24. package/es/table/base/header.js +14 -67
  25. package/es/table/base/helpers/SpanManager.js +3 -9
  26. package/es/table/base/helpers/TableDOMUtils.js +4 -27
  27. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  28. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  29. package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
  30. package/es/table/base/helpers/rowHeightManager.js +0 -28
  31. package/es/table/base/html-table.js +14 -35
  32. package/es/table/base/loading.js +6 -8
  33. package/es/table/base/renderTemplates.js +26 -44
  34. package/es/table/base/styles.js +0 -9
  35. package/es/table/base/table.js +95 -181
  36. package/es/table/base/utils.js +14 -54
  37. package/es/table/common-views.js +0 -7
  38. package/es/table/internals.js +0 -13
  39. package/es/table/pipeline/features/autoFill.js +11 -40
  40. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  41. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  42. package/es/table/pipeline/features/columnDrag.d.ts +1 -0
  43. package/es/table/pipeline/features/columnDrag.js +236 -303
  44. package/es/table/pipeline/features/columnFilter.js +11 -48
  45. package/es/table/pipeline/features/columnHover.js +1 -7
  46. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  47. package/es/table/pipeline/features/columnResizeWidth.js +51 -42
  48. package/es/table/pipeline/features/contextMenu.js +18 -89
  49. package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
  50. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  51. package/es/table/pipeline/features/filter/Filter.js +25 -48
  52. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  53. package/es/table/pipeline/features/filter/util.js +0 -4
  54. package/es/table/pipeline/features/footerDataSource.js +0 -3
  55. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  56. package/es/table/pipeline/features/multiSelect.js +15 -57
  57. package/es/table/pipeline/features/rangeSelection.js +63 -142
  58. package/es/table/pipeline/features/rowDetail.js +2 -41
  59. package/es/table/pipeline/features/rowDrag.js +36 -71
  60. package/es/table/pipeline/features/rowGrouping.js +2 -35
  61. package/es/table/pipeline/features/singleSelect.js +0 -24
  62. package/es/table/pipeline/features/sort.js +31 -83
  63. package/es/table/pipeline/features/tips.js +0 -6
  64. package/es/table/pipeline/features/treeMode.js +9 -44
  65. package/es/table/pipeline/features/treeSelect.js +0 -26
  66. package/es/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
  67. package/es/table/pipeline/features/utils/touchEventUtils.js +65 -0
  68. package/es/table/pipeline/pipeline.js +11 -51
  69. package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
  70. package/es/table/pivot/cross-table/cross-table.js +22 -28
  71. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
  72. package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
  73. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  74. package/es/table/pivot/pivot-utils/builders.js +31 -71
  75. package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
  76. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  77. package/es/table/transforms/autoRowSpan.js +1 -15
  78. package/es/table/transforms/autoWidth.js +10 -32
  79. package/es/table/transforms/buildTree.js +1 -2
  80. package/es/table/transforms/columnHover.js +9 -15
  81. package/es/table/transforms/columnRangeHover.js +12 -19
  82. package/es/table/transforms/columnResize.js +15 -37
  83. package/es/table/transforms/flatten.js +0 -3
  84. package/es/table/transforms/orderField.js +0 -3
  85. package/es/table/transforms/sort.js +36 -88
  86. package/es/table/transforms/tips.js +1 -6
  87. package/es/table/transforms/treeMode.js +30 -69
  88. package/es/table/transforms/visible.js +0 -2
  89. package/es/table/use/useResizeObserver.js +1 -4
  90. package/es/table/utils/applyTransforms.js +0 -1
  91. package/es/table/utils/buildTree.js +4 -19
  92. package/es/table/utils/collectNodes.js +1 -10
  93. package/es/table/utils/console.js +0 -14
  94. package/es/table/utils/copyToClipboard.js +0 -4
  95. package/es/table/utils/element.js +14 -41
  96. package/es/table/utils/exportTableAsExcel.js +4 -40
  97. package/es/table/utils/getTreeDepth.js +1 -9
  98. package/es/table/utils/groupBy.js +1 -10
  99. package/es/table/utils/layeredFilter.js +0 -4
  100. package/es/table/utils/layeredSort.js +0 -5
  101. package/es/table/utils/makeRecursiveMapper.js +1 -12
  102. package/es/table/utils/mergeCellProps.js +6 -13
  103. package/es/table/utils/others.js +3 -16
  104. package/es/table/utils/proto.js +2 -30
  105. package/es/table/utils/smartCompare.js +4 -12
  106. package/es/table/utils/traverseColumn.js +2 -15
  107. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
  108. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
  109. package/lib/_utils/arrayUtil.js +0 -5
  110. package/lib/_utils/devwarning.js +0 -5
  111. package/lib/_utils/formatUtil.js +35 -100
  112. package/lib/_utils/hooks.js +18 -53
  113. package/lib/_utils/index.js +0 -6
  114. package/lib/_utils/numberUtil.js +32 -63
  115. package/lib/_utils/omit.js +0 -5
  116. package/lib/_utils/react-children.js +0 -5
  117. package/lib/_utils/type.js +0 -6
  118. package/lib/_utils/usePopper.js +74 -158
  119. package/lib/config-provider/ConfigContext.js +1 -4
  120. package/lib/config-provider/compDefaultProps.js +0 -1
  121. package/lib/config-provider/configProvider.js +3 -18
  122. package/lib/config-provider/defaultConfig.js +0 -5
  123. package/lib/config-provider/index.js +0 -6
  124. package/lib/index.js +2 -8
  125. package/lib/locale/index.js +0 -7
  126. package/lib/locale/locale.js +5 -57
  127. package/lib/table/base/calculations.js +22 -83
  128. package/lib/table/base/colgroup.js +0 -5
  129. package/lib/table/base/empty.js +4 -16
  130. package/lib/table/base/header.js +14 -77
  131. package/lib/table/base/helpers/SpanManager.js +3 -11
  132. package/lib/table/base/helpers/TableDOMUtils.js +2 -27
  133. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  134. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  135. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  136. package/lib/table/base/helpers/getRichVisibleRectsStream.js +11 -62
  137. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  138. package/lib/table/base/html-table.js +14 -45
  139. package/lib/table/base/index.js +0 -2
  140. package/lib/table/base/loading.js +6 -12
  141. package/lib/table/base/renderTemplates.js +27 -58
  142. package/lib/table/base/styles.js +0 -21
  143. package/lib/table/base/table.js +95 -214
  144. package/lib/table/base/utils.js +14 -89
  145. package/lib/table/common-views.js +0 -16
  146. package/lib/table/index.js +0 -13
  147. package/lib/table/internals.js +0 -14
  148. package/lib/table/pipeline/features/autoFill.js +11 -47
  149. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  150. package/lib/table/pipeline/features/buildTree.js +0 -2
  151. package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
  152. package/lib/table/pipeline/features/columnDrag.d.ts +1 -0
  153. package/lib/table/pipeline/features/columnDrag.js +236 -309
  154. package/lib/table/pipeline/features/columnFilter.js +11 -62
  155. package/lib/table/pipeline/features/columnHover.js +1 -11
  156. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  157. package/lib/table/pipeline/features/columnResizeWidth.js +51 -58
  158. package/lib/table/pipeline/features/contextMenu.js +18 -113
  159. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
  160. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  161. package/lib/table/pipeline/features/filter/Filter.js +25 -70
  162. package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
  163. package/lib/table/pipeline/features/filter/index.js +0 -5
  164. package/lib/table/pipeline/features/filter/util.js +0 -7
  165. package/lib/table/pipeline/features/footerDataSource.js +0 -10
  166. package/lib/table/pipeline/features/index.js +0 -23
  167. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  168. package/lib/table/pipeline/features/multiSelect.js +15 -71
  169. package/lib/table/pipeline/features/rangeSelection.js +63 -159
  170. package/lib/table/pipeline/features/rowDetail.js +2 -65
  171. package/lib/table/pipeline/features/rowDrag.js +36 -81
  172. package/lib/table/pipeline/features/rowGrouping.js +2 -55
  173. package/lib/table/pipeline/features/singleSelect.js +0 -34
  174. package/lib/table/pipeline/features/sort.js +31 -103
  175. package/lib/table/pipeline/features/tips.js +0 -15
  176. package/lib/table/pipeline/features/treeMode.js +9 -65
  177. package/lib/table/pipeline/features/treeSelect.js +0 -34
  178. package/lib/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
  179. package/lib/table/pipeline/features/utils/touchEventUtils.js +76 -0
  180. package/lib/table/pipeline/index.js +0 -8
  181. package/lib/table/pipeline/pipeline.js +11 -60
  182. package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
  183. package/lib/table/pivot/cross-table/cross-table.js +22 -36
  184. package/lib/table/pivot/cross-table/index.js +0 -4
  185. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
  186. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
  187. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  188. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  189. package/lib/table/pivot/pivot-utils/builders.js +31 -82
  190. package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
  191. package/lib/table/pivot/pivot-utils/index.js +0 -7
  192. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  193. package/lib/table/style/css.js +0 -1
  194. package/lib/table/style/index.js +0 -1
  195. package/lib/table/transforms/autoRowSpan.js +1 -21
  196. package/lib/table/transforms/autoWidth.js +10 -53
  197. package/lib/table/transforms/buildTree.js +1 -4
  198. package/lib/table/transforms/columnHover.js +9 -22
  199. package/lib/table/transforms/columnRangeHover.js +12 -27
  200. package/lib/table/transforms/columnResize.js +15 -56
  201. package/lib/table/transforms/flatten.js +0 -5
  202. package/lib/table/transforms/index.js +0 -12
  203. package/lib/table/transforms/orderField.js +0 -7
  204. package/lib/table/transforms/sort.js +36 -112
  205. package/lib/table/transforms/tips.js +1 -16
  206. package/lib/table/transforms/treeMode.js +30 -96
  207. package/lib/table/transforms/visible.js +0 -7
  208. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  209. package/lib/table/use/useResizeObserver.js +1 -8
  210. package/lib/table/utils/applyTransforms.js +0 -2
  211. package/lib/table/utils/buildTree.js +4 -30
  212. package/lib/table/utils/collectNodes.js +1 -15
  213. package/lib/table/utils/console.js +0 -16
  214. package/lib/table/utils/copyToClipboard.js +0 -6
  215. package/lib/table/utils/element.js +14 -46
  216. package/lib/table/utils/exportTableAsExcel.js +4 -49
  217. package/lib/table/utils/getTreeDepth.js +1 -14
  218. package/lib/table/utils/groupBy.js +1 -14
  219. package/lib/table/utils/index.js +0 -21
  220. package/lib/table/utils/isGroupColumn.js +0 -3
  221. package/lib/table/utils/isLeafNode.js +0 -1
  222. package/lib/table/utils/layeredFilter.js +0 -10
  223. package/lib/table/utils/layeredSort.js +0 -10
  224. package/lib/table/utils/makeRecursiveMapper.js +1 -21
  225. package/lib/table/utils/mergeCellProps.js +6 -17
  226. package/lib/table/utils/others.js +3 -31
  227. package/lib/table/utils/proto.js +2 -33
  228. package/lib/table/utils/selectColumn.js +0 -1
  229. package/lib/table/utils/smartCompare.js +4 -13
  230. package/lib/table/utils/traverseColumn.js +2 -22
  231. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
  232. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
  233. package/package.json +2 -1
@@ -1,104 +1,75 @@
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.filter = filter;
9
-
10
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
13
-
14
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
15
-
16
11
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
17
-
18
12
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
19
-
20
13
  var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
21
-
22
14
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
23
-
24
15
  var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
25
-
26
16
  var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
27
-
28
17
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
29
-
30
18
  var _react = _interopRequireDefault(require("react"));
31
-
32
19
  var _classnames = _interopRequireDefault(require("classnames"));
33
-
34
20
  var _internals = require("../../internals");
35
-
36
21
  var _utils = require("../../utils");
37
-
38
22
  var _filter2 = require("./filter");
39
-
40
23
  var _styles = require("../../base/styles");
41
-
42
24
  var stateKey = 'filter';
43
-
44
25
  function filter() {
45
26
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
46
27
  return function step(pipeline) {
47
28
  var _a, _b;
48
-
49
29
  var dataSource = pipeline.getDataSource();
50
30
  var columns = pipeline.getColumns();
51
31
  var filters = opts.filters,
52
- defaultFilters = opts.defaultFilters,
53
- onChangeFilters = opts.onChangeFilters,
54
- keepDataSource = opts.keepDataSource,
55
- mode = opts.mode,
56
- filterIcon = opts.filterIcon,
57
- stopClickEventPropagation = opts.stopClickEventPropagation,
58
- stopESCKeyDownEventPropagation = opts.stopESCKeyDownEventPropagation,
59
- hideFilterPopupHeader = opts.hideFilterPopupHeader,
60
- getPopupParent = opts.getPopupParent;
32
+ defaultFilters = opts.defaultFilters,
33
+ onChangeFilters = opts.onChangeFilters,
34
+ keepDataSource = opts.keepDataSource,
35
+ mode = opts.mode,
36
+ filterIcon = opts.filterIcon,
37
+ stopClickEventPropagation = opts.stopClickEventPropagation,
38
+ stopESCKeyDownEventPropagation = opts.stopESCKeyDownEventPropagation,
39
+ hideFilterPopupHeader = opts.hideFilterPopupHeader,
40
+ getPopupParent = opts.getPopupParent;
61
41
  var inputFilters = (_b = (_a = filters !== null && filters !== void 0 ? filters : pipeline.getStateAtKey(stateKey)) !== null && _a !== void 0 ? _a : defaultFilters) !== null && _b !== void 0 ? _b : [];
62
42
  inputFilters = mode === 'single' ? (0, _slice.default)(inputFilters).call(inputFilters, 0, 1) : inputFilters;
63
43
  var inputFiltersMap = new _map.default((0, _map2.default)(inputFilters).call(inputFilters, function (filterItem) {
64
44
  return [filterItem.code, (0, _extends2.default)({}, filterItem)];
65
45
  }));
66
46
  var localeText = pipeline.ctx.localeText;
67
-
68
47
  function processColumns(columns) {
69
48
  return (0, _map2.default)(columns).call(columns, dfs);
70
-
71
49
  function dfs(col) {
72
50
  var _a, _b, _c, _d, _e, _f, _g;
73
-
74
51
  var result = (0, _extends2.default)({}, col);
75
52
  var filterable = col.code && ((_a = col.features) === null || _a === void 0 ? void 0 : _a.filterable);
76
53
  var filterActive = filterable && ((_c = (_b = inputFiltersMap === null || inputFiltersMap === void 0 ? void 0 : inputFiltersMap.get(col.code)) === null || _b === void 0 ? void 0 : (0, _filter.default)(_b)) === null || _c === void 0 ? void 0 : _c.length) > 0;
77
-
78
54
  if (filterable) {
79
55
  var _cx;
80
-
81
56
  var handleFilterChanged = function handleFilterChanged(filterItem) {
82
57
  var nextFiltersMap = new _map.default(inputFiltersMap);
83
58
  var currentFilter = (0, _extends2.default)({
84
59
  code: col.code
85
60
  }, filterItem);
86
-
87
61
  if (filterItem == null) {
88
62
  nextFiltersMap.delete(col.code);
89
63
  } else {
90
64
  if (mode === 'single') {
91
65
  nextFiltersMap.clear();
92
66
  }
93
-
94
67
  nextFiltersMap.set(col.code, currentFilter);
95
68
  }
96
-
97
69
  var nextFilters = (0, _from.default)((0, _values.default)(nextFiltersMap).call(nextFiltersMap));
98
70
  onChangeFilters === null || onChangeFilters === void 0 ? void 0 : onChangeFilters(nextFilters, currentFilter);
99
71
  pipeline.setStateAtKey(stateKey, nextFilters);
100
72
  };
101
-
102
73
  var setFilter = function setFilter(filter, filterCondition) {
103
74
  handleFilterChanged(!filter ? undefined : {
104
75
  code: col.code,
@@ -106,10 +77,8 @@ function filter() {
106
77
  filterCondition: filterCondition
107
78
  });
108
79
  };
109
-
110
80
  var filterPanel = (_d = col.features) === null || _d === void 0 ? void 0 : _d.filterPanel;
111
81
  var colFilterIcon = (_f = (_e = col.features) === null || _e === void 0 ? void 0 : _e.filterIcon) !== null && _f !== void 0 ? _f : filterIcon;
112
-
113
82
  var _Filter = /*#__PURE__*/_react.default.createElement(_filter2.Filter, {
114
83
  key: "".concat(col.code, "_filter"),
115
84
  FilterPanelContent: filterPanel,
@@ -125,47 +94,38 @@ function filter() {
125
94
  getPopupParent: getPopupParent,
126
95
  localeText: localeText
127
96
  });
128
-
129
97
  if (col.renderHeader) {
130
98
  result.title = col.renderHeader(result.title, _Filter);
131
99
  } else {
132
100
  var _context, _context2;
133
-
134
101
  result.title = (0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)((0, _concat.default)(_context2 = []).call(_context2, (_g = result.title) !== null && _g !== void 0 ? _g : [_internals.internals.safeRenderHeader((0, _extends2.default)({}, col))])), [_Filter]);
135
- } // result.headerCellProps = mergeCellProps(col.headerCellProps, {
102
+ }
103
+ // result.headerCellProps = mergeCellProps(col.headerCellProps, {
136
104
  // style: {
137
105
  // paddingRight: '18px'
138
106
  // }
139
107
  // })
140
-
141
108
  }
142
109
 
143
110
  if (!(0, _utils.isLeafNode)(col)) {
144
111
  var _context3;
145
-
146
112
  result.children = (0, _map2.default)(_context3 = col.children).call(_context3, dfs);
147
113
  }
148
-
149
114
  return result;
150
115
  }
151
116
  }
152
-
153
117
  function processDataSource(dataSource) {
154
118
  var _context4, _context5;
155
-
156
119
  var filtersKeys = [];
157
120
  inputFiltersMap.forEach(function (value, key) {
158
121
  filtersKeys.push(key);
159
122
  });
160
-
161
123
  if (keepDataSource || filtersKeys.length <= 0) {
162
124
  return dataSource;
163
125
  }
164
-
165
126
  var columns = pipeline.getColumns();
166
127
  var columnsMap = new _map.default((0, _map2.default)(_context4 = (0, _filter.default)(_context5 = (0, _utils.collectNodes)(columns, 'leaf-only')).call(_context5, function (col) {
167
128
  var _a, _b;
168
-
169
129
  return ((_a = col.features) === null || _a === void 0 ? void 0 : _a.filterable) !== false && ((_b = col.features) === null || _b === void 0 ? void 0 : _b.filterable) != null;
170
130
  })).call(_context4, function (col) {
171
131
  return [col.code, col];
@@ -173,15 +133,12 @@ function filter() {
173
133
  var defaultFilterOptionsMap = new _map.default((0, _map2.default)(_filter2.DEFAULT_FILTER_OPTIONS).call(_filter2.DEFAULT_FILTER_OPTIONS, function (item) {
174
134
  return [item.key, (0, _extends2.default)({}, item)];
175
135
  }));
176
-
177
136
  function isMatchedFilterCondition(record) {
178
137
  return filtersKeys.every(function (key) {
179
138
  var _a, _b;
180
-
181
139
  var filterItem = inputFiltersMap.get(key);
182
140
  var filterable = (_b = (_a = columnsMap.get(key)) === null || _a === void 0 ? void 0 : _a.features) === null || _b === void 0 ? void 0 : _b.filterable;
183
141
  var comparisonFn;
184
-
185
142
  if (typeof filterable === 'function') {
186
143
  comparisonFn = filterable;
187
144
  } else if (defaultFilterOptionsMap.get(filterItem.filterCondition)) {
@@ -190,34 +147,26 @@ function filter() {
190
147
  console.warn("\u5217[".concat(key, "]\u672A\u914D\u7F6E\u7B5B\u9009\u51FD\u6570\uFF0C\u8BF7\u8BBE\u7F6E column.features.filterable \u6765\u4F5C\u4E3A\u8BE5\u5217\u7684\u7B5B\u9009\u51FD\u6570, \u76EE\u524D\u4F7F\u7528\u9ED8\u8BA4\u5305\u542B\u7B5B\u9009\u51FD\u6570"));
191
148
  comparisonFn = (0, _filter.default)(defaultFilterOptionsMap.get('contain'));
192
149
  }
193
-
194
150
  return comparisonFn((0, _filter.default)(filterItem), filterItem)(_internals.internals.safeGetValue(columnsMap.get(key), record, -1), record);
195
151
  });
196
152
  }
197
-
198
153
  return layeredFilter(dataSource, isMatchedFilterCondition);
199
154
  }
200
-
201
155
  pipeline.dataSource(processDataSource(dataSource));
202
156
  pipeline.columns(processColumns(columns));
203
157
  return pipeline;
204
158
  };
205
159
  }
206
-
207
160
  function layeredFilter(array, matchFn) {
208
161
  return dfs(array);
209
-
210
162
  function dfs(rows) {
211
163
  var _context6;
212
-
213
164
  var parentMatched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
214
165
  return (0, _filter.default)(_context6 = (0, _map2.default)(rows).call(rows, function (row) {
215
166
  var currentMatched = matchFn(row);
216
-
217
167
  if ((0, _utils.isLeafNode)(row)) {
218
168
  return (parentMatched || currentMatched) && (0, _extends2.default)({}, row);
219
169
  }
220
-
221
170
  var children = row.children;
222
171
  var rowAfterFilterChildren = (0, _extends2.default)((0, _extends2.default)({}, row), {
223
172
  children: dfs(children, parentMatched || currentMatched)
@@ -1,44 +1,34 @@
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.columnHover = columnHover;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _utils = require("../../utils");
13
-
14
10
  function columnHover() {
15
11
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
16
12
  var stateKey = 'columnHover';
17
13
  return function (pipeline) {
18
14
  var _a, _b, _c, _d;
19
-
20
15
  var hoverColor = (_a = opts.hoverColor) !== null && _a !== void 0 ? _a : 'var(--hover-bgcolor)';
21
16
  var hoverColIndex = (_d = (_c = (_b = opts.hoverColIndex) !== null && _b !== void 0 ? _b : pipeline.getStateAtKey(stateKey)) !== null && _c !== void 0 ? _c : opts.defaultHoverColIndex) !== null && _d !== void 0 ? _d : -1;
22
-
23
17
  var onChangeHoverColIndex = function onChangeHoverColIndex(nextColIndex) {
24
18
  var _a;
25
-
26
19
  pipeline.setStateAtKey(stateKey, nextColIndex);
27
20
  (_a = opts.onChangeHoverColIndex) === null || _a === void 0 ? void 0 : _a.call(opts, nextColIndex);
28
21
  };
29
-
30
22
  return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col, _ref) {
31
23
  var startIndex = _ref.startIndex,
32
- endIndex = _ref.endIndex;
24
+ endIndex = _ref.endIndex;
33
25
  var range = {
34
26
  start: startIndex,
35
27
  end: endIndex
36
28
  };
37
-
38
29
  if (!(0, _utils.isLeafNode)(col)) {
39
30
  return col;
40
31
  }
41
-
42
32
  var colIndexMatched = range.start <= hoverColIndex && hoverColIndex < range.end;
43
33
  var prevGetCellProps = col.getCellProps;
44
34
  return (0, _extends2.default)((0, _extends2.default)({}, col), {
@@ -1,52 +1,41 @@
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.columnRangeHover = columnRangeHover;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _utils = require("../../utils");
13
-
14
10
  var EMPTY_RANGE = {
15
11
  start: -1,
16
12
  end: -1
17
13
  };
18
-
19
14
  function columnRangeHover() {
20
15
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
21
16
  var stateKey = 'columnHover';
22
17
  return function columnRangeHoverStep(pipeline) {
23
18
  var _a, _b, _c, _d, _e;
24
-
25
19
  var hoverRange = (_c = (_b = (_a = opts.hoverRange) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : opts.defaultHoverRange) !== null && _c !== void 0 ? _c : EMPTY_RANGE;
26
20
  var hoverColor = (_d = opts.hoverColor) !== null && _d !== void 0 ? _d : 'var(--hover-bgcolor)';
27
21
  var headerHoverColor = (_e = opts.headerHoverColor) !== null && _e !== void 0 ? _e : 'var(--header-hover-bgcolor)';
28
-
29
22
  var onChangeHoverRange = function onChangeHoverRange(nextColIndexRange) {
30
23
  var _a;
31
-
32
24
  pipeline.setStateAtKey(stateKey, nextColIndexRange);
33
25
  (_a = opts.onChangeHoverRange) === null || _a === void 0 ? void 0 : _a.call(opts, nextColIndexRange);
34
26
  };
35
-
36
27
  return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col, _ref) {
37
28
  var startIndex = _ref.startIndex,
38
- endIndex = _ref.endIndex;
29
+ endIndex = _ref.endIndex;
39
30
  var colRange = {
40
31
  start: startIndex,
41
32
  end: endIndex
42
33
  };
43
34
  var match = colRange.end > hoverRange.start && hoverRange.end > colRange.start;
44
-
45
35
  if (!(0, _utils.isLeafNode)(col)) {
46
36
  if (headerHoverColor == null) {
47
37
  return col;
48
38
  }
49
-
50
39
  return (0, _extends2.default)((0, _extends2.default)({}, col), {
51
40
  headerCellProps: (0, _utils.mergeCellProps)(col.headerCellProps, {
52
41
  onMouseEnter: function onMouseEnter() {
@@ -61,7 +50,6 @@ function columnRangeHover() {
61
50
  })
62
51
  });
63
52
  }
64
-
65
53
  var prevGetCellProps = col.getCellProps;
66
54
  return (0, _extends2.default)((0, _extends2.default)({}, col), {
67
55
  headerCellProps: (0, _utils.mergeCellProps)(col.headerCellProps, {
@@ -1,63 +1,40 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
-
5
4
  var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
-
9
6
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
10
-
11
7
  Object.defineProperty(exports, "__esModule", {
12
8
  value: true
13
9
  });
14
10
  exports.RESIZED_COLUMN_KEY = exports.LAST_RESIZED_COLUMN_KEY = exports.COLUMN_SIZE_KEY = void 0;
15
11
  exports.columnResize = columnResize;
16
-
17
12
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
18
-
19
13
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
20
-
21
14
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
22
-
23
15
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
24
-
25
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
26
-
27
17
  var _react = _interopRequireDefault(require("react"));
28
-
29
18
  var _styledComponents = _interopRequireDefault(require("styled-components"));
30
-
31
19
  var _rxjs = require("rxjs");
32
-
33
20
  var op = _interopRequireWildcard(require("rxjs/operators"));
34
-
35
21
  var _utils = require("../../utils");
36
-
37
22
  var _internals = require("../../internals");
38
-
39
23
  var _styles = require("../../base/styles");
40
-
24
+ var _touchEventUtils = require("./utils/touchEventUtils");
41
25
  var _templateObject, _templateObject2;
42
-
43
26
  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); }
44
-
45
27
  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; }
46
-
47
28
  var TableHeaderCellResize = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 0;\n right: -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n left: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n"])));
48
-
49
29
  var TableHeaderGroupCellResize = (0, _styledComponents.default)(function (props) {
50
30
  return /*#__PURE__*/_react.default.createElement(TableHeaderCellResize, (0, _extends2.default)({}, props));
51
31
  })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
52
-
53
32
  function clamp(min, x, max) {
54
33
  return Math.max(min, Math.min(max, x));
55
34
  }
56
-
57
35
  function disableSelect(event) {
58
36
  event.preventDefault();
59
37
  }
60
-
61
38
  var stateKey = 'columnResize';
62
39
  var COLUMN_SIZE_KEY = 'columnResize';
63
40
  exports.COLUMN_SIZE_KEY = COLUMN_SIZE_KEY;
@@ -65,24 +42,19 @@ var RESIZED_COLUMN_KEY = 'resizedColumn';
65
42
  exports.RESIZED_COLUMN_KEY = RESIZED_COLUMN_KEY;
66
43
  var LAST_RESIZED_COLUMN_KEY = 'lastResizedColumn';
67
44
  exports.LAST_RESIZED_COLUMN_KEY = LAST_RESIZED_COLUMN_KEY;
68
-
69
45
  function columnResize() {
70
46
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
71
-
72
47
  var _a, _b, _c;
73
-
74
48
  var minSize = (_a = opts.minSize) !== null && _a !== void 0 ? _a : 60;
75
49
  var fallbackSize = (_b = opts.fallbackSize) !== null && _b !== void 0 ? _b : 150;
76
50
  var maxSize = (_c = opts.maxSize) !== null && _c !== void 0 ? _c : 1000;
77
51
  return function columnResizeFeature(pipeline) {
78
52
  var _a, _b;
79
-
80
53
  var columnSize = (_b = (_a = opts.columnSize) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : {};
81
54
  var leafColumns = (0, _utils.collectNodes)(pipeline.getColumns(), 'leaf-only');
82
55
  leafColumns.forEach(function (_ref) {
83
56
  var code = _ref.code,
84
- width = _ref.width;
85
-
57
+ width = _ref.width;
86
58
  if (columnSize[code] === undefined) {
87
59
  if (typeof width === 'number') {
88
60
  columnSize[code] = width;
@@ -90,47 +62,56 @@ function columnResize() {
90
62
  columnSize[code] = fallbackSize;
91
63
  }
92
64
  }
93
- }); // 实时存储一份最新的columnSize,与autoFill共用一份数据
65
+ });
66
+ // 实时存储一份最新的columnSize,与autoFill共用一份数据
94
67
  // 存在state里可能存到取不到最新的
95
-
96
68
  pipeline.setFeatureOptions(COLUMN_SIZE_KEY, columnSize);
97
-
98
69
  var onChangeSize = function onChangeSize(nextColumnSize) {
99
70
  window.requestAnimationFrame(function () {
100
71
  var _a;
101
-
102
72
  pipeline.setStateAtKey(stateKey, nextColumnSize);
103
73
  (_a = opts === null || opts === void 0 ? void 0 : opts.onChangeSize) === null || _a === void 0 ? void 0 : _a.call(opts, nextColumnSize);
104
74
  });
105
75
  };
106
-
107
76
  var handleDoubleClick = function handleDoubleClick(e, col) {
108
77
  var _a;
109
-
110
78
  (_a = opts.doubleClickCallback) === null || _a === void 0 ? void 0 : _a.call(opts, e, col);
111
79
  };
112
-
113
- var handleMouseDown = function handleMouseDown(e, col) {
80
+ // 通用的拖拽处理逻辑
81
+ var handleResize = function handleResize(startEvent, col, eventType) {
114
82
  window.addEventListener('selectstart', disableSelect);
115
83
  var changedColumnSize = {};
116
- var startX = e.clientX;
84
+ var startCoordinates = (0, _touchEventUtils.getEventCoordinates)(startEvent);
85
+ var startX = startCoordinates.clientX;
117
86
  var children = col.children,
118
- code = col.code,
119
- _col$features = col.features,
120
- features = _col$features === void 0 ? {} : _col$features;
87
+ code = col.code,
88
+ _col$features = col.features,
89
+ features = _col$features === void 0 ? {} : _col$features;
121
90
  var minWidth = features.minWidth,
122
- maxWidth = features.maxWidth;
91
+ maxWidth = features.maxWidth;
123
92
  var realMinSize = typeof minWidth === 'number' ? minWidth : minSize;
124
93
  var realMaxSize = typeof maxWidth === 'number' ? maxWidth : maxSize;
125
94
  var columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY);
126
95
  var recordColumnSize = columnSize;
127
- e.stopPropagation();
128
- var nextSize$ = (0, _rxjs.fromEvent)(window, 'mousemove').pipe(op.takeUntil((0, _rxjs.fromEvent)(window, 'mouseup')), op.map(function (e) {
129
- var movingX = e.clientX;
96
+ // 根据事件类型选择不同的事件监听器
97
+ var moveEventName = eventType === 'mouse' ? 'mousemove' : 'touchmove';
98
+ var endEventName = eventType === 'mouse' ? 'mouseup' : 'touchend';
99
+ var moveEventOptions = eventType === 'touch' ? {
100
+ passive: false
101
+ } : undefined;
102
+ var endEventOptions = eventType === 'touch' ? {
103
+ passive: false
104
+ } : undefined;
105
+ var nextSize$ = (0, _rxjs.fromEvent)(window, moveEventName, moveEventOptions).pipe(op.takeUntil((0, _rxjs.fromEvent)(window, endEventName, endEventOptions)), op.map(function (e) {
106
+ // 触摸事件需要阻止默认行为,防止页面滚动
107
+ if (eventType === 'touch' && e.cancelable) {
108
+ e.preventDefault();
109
+ }
110
+ var coordinates = (0, _touchEventUtils.getEventCoordinates)(e);
111
+ var movingX = coordinates.clientX;
130
112
  var nextColumnSize = (0, _extends2.default)({}, columnSize);
131
113
  var deltaSum = movingX - startX;
132
114
  var deltaRemaining = deltaSum;
133
-
134
115
  if ((children === null || children === void 0 ? void 0 : children.length) > 0) {
135
116
  var leafChildColumns = (0, _utils.collectNodes)(children, 'leaf-only');
136
117
  var childrenWidthSum = leafChildColumns.reduce(function (sum, _ref2) {
@@ -141,7 +122,6 @@ function columnResize() {
141
122
  var code = _ref3.code;
142
123
  var startSize = columnSize[code];
143
124
  var currentDeltaWidth = Math.round(deltaSum * startSize / childrenWidthSum);
144
-
145
125
  if (index < leafChildColumns.length - 1) {
146
126
  nextColumnSize[code] = clamp(realMinSize, startSize + currentDeltaWidth, realMaxSize);
147
127
  changedColumnSize[code] = nextColumnSize[code];
@@ -156,14 +136,13 @@ function columnResize() {
156
136
  nextColumnSize[code] = clamp(realMinSize, startSize + deltaSum, realMaxSize);
157
137
  changedColumnSize[code] = nextColumnSize[code];
158
138
  }
159
-
160
139
  recordColumnSize = nextColumnSize;
161
140
  return nextColumnSize;
162
141
  }));
163
142
  nextSize$.subscribe({
164
143
  next: function next(nextColumnSize) {
165
- onChangeSize(nextColumnSize); // 由于COLUMN_RESIZE_KEY记录的是全量的列宽,此处记录被改变过的列宽
166
-
144
+ onChangeSize(nextColumnSize);
145
+ // 由于COLUMN_RESIZE_KEY记录的是全量的列宽,此处记录被改变过的列宽
167
146
  var resizedColumnSet = pipeline.getFeatureOptions(RESIZED_COLUMN_KEY) || new _set.default();
168
147
  (0, _keys.default)(changedColumnSize).forEach(function (code) {
169
148
  resizedColumnSet.add(code, changedColumnSize[code]);
@@ -173,7 +152,6 @@ function columnResize() {
173
152
  },
174
153
  complete: function complete() {
175
154
  var _context;
176
-
177
155
  var changedColumnSizes = (0, _map.default)(_context = (0, _keys.default)(changedColumnSize)).call(_context, function (code) {
178
156
  return {
179
157
  code: code,
@@ -182,23 +160,32 @@ function columnResize() {
182
160
  });
183
161
  window.requestAnimationFrame(function () {
184
162
  var _a;
185
-
186
163
  (_a = opts === null || opts === void 0 ? void 0 : opts.afterChangeSize) === null || _a === void 0 ? void 0 : _a.call(opts, recordColumnSize, changedColumnSizes);
187
164
  });
188
165
  window.removeEventListener('selectstart', disableSelect);
189
166
  }
190
167
  });
191
168
  };
192
-
169
+ var handleMouseDown = function handleMouseDown(e, col) {
170
+ e.stopPropagation();
171
+ handleResize(e.nativeEvent, col, 'mouse');
172
+ };
173
+ // 触摸事件处理函数
174
+ var handleTouchStart = function handleTouchStart(e, col) {
175
+ // 阻止触摸事件的默认行为
176
+ if (e.cancelable) {
177
+ e.preventDefault();
178
+ }
179
+ e.stopPropagation();
180
+ handleResize(e.nativeEvent, col, 'touch');
181
+ };
193
182
  var isGroup = (0, _utils.isGroupColumn)(pipeline.getColumns());
194
183
  return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col) {
195
184
  var _a;
196
-
197
185
  var prevTitle = _internals.internals.safeRenderHeader(col);
198
-
199
186
  var code = col.code,
200
- features = col.features,
201
- width = col.width;
187
+ features = col.features,
188
+ width = col.width;
202
189
  return (0, _extends2.default)((0, _extends2.default)({}, col), {
203
190
  width: (_a = columnSize[code]) !== null && _a !== void 0 ? _a : width,
204
191
  title: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, prevTitle, (features === null || features === void 0 ? void 0 : features.resizeable) !== false && (isGroup ? /*#__PURE__*/_react.default.createElement(TableHeaderGroupCellResize, {
@@ -208,6 +195,9 @@ function columnResize() {
208
195
  },
209
196
  onMouseDown: function onMouseDown(e) {
210
197
  return handleMouseDown(e, col);
198
+ },
199
+ onTouchStart: function onTouchStart(e) {
200
+ return handleTouchStart(e, col);
211
201
  }
212
202
  }) : /*#__PURE__*/_react.default.createElement(TableHeaderCellResize, {
213
203
  className: _styles.Classes.tableHeaderCellResize,
@@ -216,6 +206,9 @@ function columnResize() {
216
206
  },
217
207
  onMouseDown: function onMouseDown(e) {
218
208
  return handleMouseDown(e, col);
209
+ },
210
+ onTouchStart: function onTouchStart(e) {
211
+ return handleTouchStart(e, col);
219
212
  }
220
213
  }))),
221
214
  headerCellProps: (0, _utils.mergeCellProps)(col.headerCellProps, {