@kdcloudjs/table 1.0.1 → 1.0.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 (171) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +34 -33
  3. package/dist/@kdcloudjs/table.css +1 -1
  4. package/dist/@kdcloudjs/table.css.map +1 -1
  5. package/dist/@kdcloudjs/table.js +6323 -3240
  6. package/dist/@kdcloudjs/table.js.map +1 -1
  7. package/dist/@kdcloudjs/table.min.css +1 -1
  8. package/dist/@kdcloudjs/table.min.js +32 -24
  9. package/dist/@kdcloudjs/table.min.js.map +1 -1
  10. package/es/_utils/hooks.js +1 -2
  11. package/es/_utils/numberUtil.js +3 -4
  12. package/es/locale/locale.js +1 -2
  13. package/es/table/base/calculations.js +2 -3
  14. package/es/table/base/header.d.ts +6 -2
  15. package/es/table/base/header.js +36 -13
  16. package/es/table/base/helpers/SpanManager.js +1 -1
  17. package/es/table/base/helpers/TableDOMUtils.d.ts +3 -0
  18. package/es/table/base/helpers/TableDOMUtils.js +23 -5
  19. package/es/table/base/helpers/getRichVisibleRectsStream.d.ts +23 -0
  20. package/es/table/base/helpers/getRichVisibleRectsStream.js +216 -0
  21. package/es/table/base/html-table.d.ts +3 -1
  22. package/es/table/base/html-table.js +34 -8
  23. package/es/table/base/interfaces.d.ts +1 -0
  24. package/es/table/base/renderTemplates.d.ts +1 -0
  25. package/es/table/base/renderTemplates.js +344 -0
  26. package/es/table/base/styles.d.ts +14 -0
  27. package/es/table/base/styles.js +20 -8
  28. package/es/table/base/table.d.ts +12 -4
  29. package/es/table/base/table.js +183 -136
  30. package/es/table/base/utils.d.ts +6 -3
  31. package/es/table/base/utils.js +27 -6
  32. package/es/table/common-views.js +1 -1
  33. package/es/table/pipeline/features/autoFill.js +7 -1
  34. package/es/table/pipeline/features/columnDrag.js +109 -41
  35. package/es/table/pipeline/features/columnFilter.js +7 -9
  36. package/es/table/pipeline/features/columnResizeWidth.d.ts +3 -0
  37. package/es/table/pipeline/features/columnResizeWidth.js +11 -4
  38. package/es/table/pipeline/features/contextMenu.js +42 -10
  39. package/es/table/pipeline/features/filter/Filter.js +74 -37
  40. package/es/table/pipeline/features/index.d.ts +1 -0
  41. package/es/table/pipeline/features/index.js +2 -1
  42. package/es/table/pipeline/features/rangeSelection.d.ts +10 -0
  43. package/es/table/pipeline/features/rangeSelection.js +231 -0
  44. package/es/table/pipeline/features/rowDetail.js +37 -15
  45. package/es/table/pipeline/features/singleSelect.js +4 -1
  46. package/es/table/pipeline/features/sort.js +2 -3
  47. package/es/table/pipeline/features/treeMode.js +1 -2
  48. package/es/table/pipeline/pipeline.d.ts +4 -0
  49. package/es/table/pipeline/pipeline.js +32 -5
  50. package/es/table/pivot/cross-table/buildCrossTable.js +1 -2
  51. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +1 -2
  52. package/es/table/pivot/pivot-utils/builders.js +1 -2
  53. package/es/table/pivot/pivot-utils/convert-utils.js +1 -2
  54. package/es/table/transforms/autoWidth.js +1 -2
  55. package/es/table/transforms/sort.js +1 -2
  56. package/es/table/transforms/treeMode.js +1 -2
  57. package/es/table/utils/applyTransforms.js +1 -3
  58. package/es/table/utils/browserType.d.ts +6 -0
  59. package/es/table/utils/browserType.js +6 -0
  60. package/es/table/utils/buildTree.js +4 -5
  61. package/es/table/utils/collectNodes.js +1 -2
  62. package/es/table/utils/exportTableAsExcel.js +1 -2
  63. package/es/table/utils/getTreeDepth.js +1 -2
  64. package/es/table/utils/groupBy.js +1 -2
  65. package/es/table/utils/index.d.ts +1 -0
  66. package/es/table/utils/index.js +2 -1
  67. package/es/table/utils/layeredSort.js +5 -2
  68. package/es/table/utils/makeRecursiveMapper.js +4 -5
  69. package/es/table/utils/others.d.ts +1 -1
  70. package/es/table/utils/others.js +20 -14
  71. package/es/table/utils/traverseColumn.js +1 -2
  72. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +4 -5
  73. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +4 -5
  74. package/lib/_utils/formatUtil.js +1 -1
  75. package/lib/_utils/hooks.js +2 -4
  76. package/lib/_utils/numberUtil.js +7 -9
  77. package/lib/_utils/usePopper.js +9 -1
  78. package/lib/config-provider/configProvider.js +9 -1
  79. package/lib/config-provider/index.js +5 -5
  80. package/lib/locale/index.js +14 -6
  81. package/lib/locale/locale.js +2 -4
  82. package/lib/table/base/calculations.js +3 -5
  83. package/lib/table/base/empty.js +9 -1
  84. package/lib/table/base/header.d.ts +6 -2
  85. package/lib/table/base/header.js +33 -10
  86. package/lib/table/base/helpers/SpanManager.js +1 -1
  87. package/lib/table/base/helpers/TableDOMUtils.d.ts +3 -0
  88. package/lib/table/base/helpers/TableDOMUtils.js +21 -5
  89. package/lib/table/base/helpers/getRichVisibleRectsStream.d.ts +23 -0
  90. package/lib/table/base/helpers/getRichVisibleRectsStream.js +246 -0
  91. package/lib/table/base/html-table.d.ts +3 -1
  92. package/lib/table/base/html-table.js +34 -8
  93. package/lib/table/base/index.js +4 -4
  94. package/lib/table/base/interfaces.d.ts +1 -0
  95. package/lib/table/base/renderTemplates.d.ts +1 -0
  96. package/lib/table/base/renderTemplates.js +370 -0
  97. package/lib/table/base/styles.d.ts +14 -0
  98. package/lib/table/base/styles.js +31 -12
  99. package/lib/table/base/table.d.ts +12 -4
  100. package/lib/table/base/table.js +191 -137
  101. package/lib/table/base/utils.d.ts +6 -3
  102. package/lib/table/base/utils.js +47 -10
  103. package/lib/table/common-views.js +2 -2
  104. package/lib/table/pipeline/features/__test__/sort.test.js +5 -3
  105. package/lib/table/pipeline/features/autoFill.js +9 -2
  106. package/lib/table/pipeline/features/columnDrag.js +108 -40
  107. package/lib/table/pipeline/features/columnFilter.js +6 -9
  108. package/lib/table/pipeline/features/columnResizeWidth.d.ts +3 -0
  109. package/lib/table/pipeline/features/columnResizeWidth.js +21 -5
  110. package/lib/table/pipeline/features/contextMenu.js +53 -11
  111. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -2
  112. package/lib/table/pipeline/features/filter/Filter.js +88 -37
  113. package/lib/table/pipeline/features/filter/FilterPanel.js +10 -2
  114. package/lib/table/pipeline/features/filter/index.js +4 -4
  115. package/lib/table/pipeline/features/index.d.ts +1 -0
  116. package/lib/table/pipeline/features/index.js +37 -27
  117. package/lib/table/pipeline/features/rangeSelection.d.ts +10 -0
  118. package/lib/table/pipeline/features/rangeSelection.js +256 -0
  119. package/lib/table/pipeline/features/rowDetail.js +39 -15
  120. package/lib/table/pipeline/features/singleSelect.js +4 -1
  121. package/lib/table/pipeline/features/sort.js +2 -4
  122. package/lib/table/pipeline/features/treeMode.js +2 -4
  123. package/lib/table/pipeline/index.js +11 -3
  124. package/lib/table/pipeline/pipeline.d.ts +4 -0
  125. package/lib/table/pipeline/pipeline.js +33 -7
  126. package/lib/table/pivot/cross-table/buildCrossTable.js +1 -3
  127. package/lib/table/pivot/cross-table/index.js +4 -4
  128. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +1 -3
  129. package/lib/table/pivot/pivot-utils/builders.js +2 -4
  130. package/lib/table/pivot/pivot-utils/convert-utils.js +1 -3
  131. package/lib/table/pivot/pivot-utils/index.js +4 -4
  132. package/lib/table/transforms/autoWidth.js +10 -4
  133. package/lib/table/transforms/columnResize.js +10 -2
  134. package/lib/table/transforms/index.js +32 -32
  135. package/lib/table/transforms/sort.js +10 -4
  136. package/lib/table/transforms/treeMode.js +9 -3
  137. package/lib/table/utils/applyTransforms.js +1 -5
  138. package/lib/table/utils/browserType.d.ts +6 -0
  139. package/lib/table/utils/browserType.js +13 -0
  140. package/lib/table/utils/buildTree.js +1 -3
  141. package/lib/table/utils/collectNodes.js +1 -3
  142. package/lib/table/utils/copyToClipboard.js +1 -1
  143. package/lib/table/utils/element.js +3 -3
  144. package/lib/table/utils/exportTableAsExcel.js +1 -3
  145. package/lib/table/utils/getTreeDepth.js +1 -3
  146. package/lib/table/utils/groupBy.js +1 -3
  147. package/lib/table/utils/index.d.ts +1 -0
  148. package/lib/table/utils/index.js +57 -49
  149. package/lib/table/utils/layeredSort.js +6 -2
  150. package/lib/table/utils/makeRecursiveMapper.js +1 -3
  151. package/lib/table/utils/others.d.ts +1 -1
  152. package/lib/table/utils/others.js +23 -18
  153. package/lib/table/utils/traverseColumn.js +1 -3
  154. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +5 -7
  155. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +5 -7
  156. package/package.json +6 -2
  157. package/dist/kd-table.css +0 -422
  158. package/dist/kd-table.css.map +0 -1
  159. package/dist/kd-table.js +0 -38578
  160. package/dist/kd-table.js.map +0 -1
  161. package/dist/kd-table.min.css +0 -9
  162. package/dist/kd-table.min.js +0 -208
  163. package/dist/kd-table.min.js.map +0 -1
  164. package/es/table/base/helpers/__test__/visible-part.test.d.ts +0 -1
  165. package/es/table/base/helpers/__test__/visible-part.test.js +0 -28
  166. package/es/table/base/helpers/visible-part.d.ts +0 -23
  167. package/es/table/base/helpers/visible-part.js +0 -58
  168. package/lib/table/base/helpers/__test__/visible-part.test.d.ts +0 -1
  169. package/lib/table/base/helpers/__test__/visible-part.test.js +0 -31
  170. package/lib/table/base/helpers/visible-part.d.ts +0 -23
  171. package/lib/table/base/helpers/visible-part.js +0 -72
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _sortInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/sort");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
6
 
5
7
  var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
@@ -111,7 +113,7 @@ describe('sort 单元测试', function () {
111
113
  result = _renderHook.result;
112
114
 
113
115
  var tablePipeline = result.current;
114
- newPipeline = (0, _sort.sort)(opts)(tablePipeline);
116
+ newPipeline = (0, _sortInstanceProperty(_sort))(opts)(tablePipeline);
115
117
  });
116
118
  afterEach(function () {
117
119
  newPipeline = null;
@@ -164,7 +166,7 @@ describe('sort 单元测试', function () {
164
166
 
165
167
  var tablePipeline = result.current;
166
168
  opts.keepDataSource = true;
167
- var newPipeline = (0, _sort.sort)(opts)(tablePipeline);
169
+ var newPipeline = (0, _sortInstanceProperty(_sort))(opts)(tablePipeline);
168
170
  expect(newPipeline.getDataSource()[0].id).toBe('1');
169
171
  opts.keepDataSource = false;
170
172
  });
@@ -188,7 +190,7 @@ describe('sort 单元测试', function () {
188
190
  order: 'asc'
189
191
  }];
190
192
  opts.mode = 'multiple';
191
- var newPipeline = (0, _sort.sort)(opts)(tablePipeline); // confirm 降序,cure升序
193
+ var newPipeline = (0, _sortInstanceProperty(_sort))(opts)(tablePipeline); // confirm 降序,cure升序
192
194
 
193
195
  expect(newPipeline.getDataSource()[3].confirm).toBe(1000);
194
196
  expect(newPipeline.getDataSource()[3].cure).toBe(417);
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.autoFillTableWidth = exports.tableWidthKey = exports.FILL_COLUMN_CODE = void 0;
8
+ exports.tableWidthKey = exports.autoFillTableWidth = exports.FILL_COLUMN_CODE = void 0;
9
9
 
10
10
  var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
11
11
 
@@ -17,6 +17,8 @@ var _calculations = require("../../base/calculations");
17
17
 
18
18
  var _utils = require("../../utils");
19
19
 
20
+ var _styles = require("../../base/styles");
21
+
20
22
  var FILL_COLUMN_CODE = '$_fill_column_&';
21
23
  exports.FILL_COLUMN_CODE = FILL_COLUMN_CODE;
22
24
  var tableWidthKey = 'tableWidth';
@@ -42,9 +44,14 @@ var autoFillTableWidth = function autoFillTableWidth() {
42
44
  width: width,
43
45
  features: {
44
46
  resizeable: false
47
+ },
48
+ getCellProps: function getCellProps(value, record, rowIndex) {
49
+ return {
50
+ className: _styles.Classes.emptyColCell
51
+ };
45
52
  }
46
53
  };
47
- (0, _splice.default)(columns).call(columns, spliceIndex, 0, _fillColumns);
54
+ (0, _splice.default)(columns).call(columns, spliceIndex || columns.length, 0, _fillColumns);
48
55
  }
49
56
 
50
57
  pipeline.columns(columns);
@@ -37,16 +37,16 @@ function columnDrag() {
37
37
  cloumnsSortData = _pipeline$getStateAtK.cloumnsSortData,
38
38
  cloumnsTranslateData = _pipeline$getStateAtK.cloumnsTranslateData;
39
39
 
40
- var columns = pipeline.getColumns();
41
-
42
- if (cloumnsSortData) {
43
- columns = sortColumns(columns, cloumnsSortData);
44
- }
40
+ var columns = pipeline.getColumns(); // if (cloumnsSortData) {
41
+ // columns = sortColumns(columns, cloumnsSortData)
42
+ // }
45
43
 
46
44
  pipeline.columns((0, _filter.default)(columns).call(columns, function (column) {
47
45
  return column;
48
46
  }));
49
- return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col) {
47
+ return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col, recursiveFlatMapInfo) {
48
+ var path = recursiveFlatMapInfo.path,
49
+ isLeaf = recursiveFlatMapInfo.isLeaf;
50
50
  var style = cloumnsTranslateData ? {
51
51
  transition: '.3s',
52
52
  transform: "translate3d(".concat(cloumnsTranslateData[col.code], "px, 0px, 0px)")
@@ -62,7 +62,7 @@ function columnDrag() {
62
62
  });
63
63
  },
64
64
  headerCellProps: (0, _utils.mergeCellProps)(col.headerCellProps, {
65
- onMouseDown: function onMouseDown(e) {
65
+ onMouseDown: !isLeaf || path.length > 1 ? undefined : function (e) {
66
66
  if (e.button !== 0) {
67
67
  return;
68
68
  } // const cx = e.clientX
@@ -95,6 +95,7 @@ function columnDrag() {
95
95
  var rect = e.currentTarget.parentElement.getClientRects()[0];
96
96
  var startX = rect.left;
97
97
  var moveData = [];
98
+ var allColumns = (0, _utils.collectNodes)(columns);
98
99
 
99
100
  function handleMouseMove(e) {
100
101
  if (e.clientX - startX < 20) {
@@ -104,21 +105,7 @@ function columnDrag() {
104
105
  }
105
106
 
106
107
  document.body.style.userSelect = 'none';
107
- currentTarget.style.cursor = 'move'; // 计算平移位置
108
-
109
- var replaceIndex = 0;
110
- var totalWitdth = columns[replaceIndex].width;
111
-
112
- while (totalWitdth < e.clientX - startX && replaceIndex < columns.length - 1) {
113
- replaceIndex++;
114
- totalWitdth += columns[replaceIndex].width;
115
- } // 重置位置信息
116
-
117
-
118
- cloumnsTranslateData = {};
119
- columns.forEach(function (item) {
120
- cloumnsTranslateData[item.code] = 0;
121
- }); // 循环计算每一个的位置
108
+ currentTarget.style.cursor = 'move'; // 循环计算每一个的位置
122
109
  // if (startIndex !== replaceIndex) {
123
110
  // const optionColumn = columns[startIndex]
124
111
  // const move = startIndex > replaceIndex ? 1 : -1
@@ -140,11 +127,24 @@ function columnDrag() {
140
127
  // }
141
128
  // index++
142
129
  // }
143
- // 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
130
+ // 重置位置信息
131
+
132
+ cloumnsTranslateData = {};
133
+ allColumns.forEach(function (item) {
134
+ cloumnsTranslateData[item.code] = 0;
135
+ }); // 计算平移位置
136
+
137
+ var replaceIndex = 0;
138
+ var totalWitdth = getColumnWidth(columns[replaceIndex]);
139
+
140
+ while (totalWitdth < e.clientX - startX && replaceIndex < columns.length - 1) {
141
+ replaceIndex++;
142
+ totalWitdth += getColumnWidth(columns[replaceIndex]);
143
+ } // 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
144
+
144
145
 
145
146
  var startIndex;
146
- var leafColumns = (0, _utils.collectNodes)((0, _utils.collectNodes)(columns, 'leaf-only'));
147
- leafColumns.forEach(function (column, index) {
147
+ columns.forEach(function (column, index) {
148
148
  if (column.code === col.code) {
149
149
  startIndex = index;
150
150
  }
@@ -155,11 +155,25 @@ function columnDrag() {
155
155
  if (startIndex > replaceIndex) {
156
156
  // 左移
157
157
  while (index < startIndex) {
158
- var code = columns[index].code;
159
-
160
- if (code && code !== _autoFill.FILL_COLUMN_CODE && !columns[index].lock) {
158
+ var _columns$index = columns[index],
159
+ code = _columns$index.code,
160
+ lock = _columns$index.lock,
161
+ width = _columns$index.width,
162
+ children = _columns$index.children;
163
+
164
+ if (enableMove({
165
+ code: code,
166
+ lock: lock
167
+ })) {
161
168
  cloumnsTranslateData[code] += optionColumn.width;
162
- cloumnsTranslateData[optionColumn.code] -= columns[index].width;
169
+
170
+ if ((0, _utils.isLeafNode)(columns[index])) {
171
+ cloumnsTranslateData[optionColumn.code] -= width;
172
+ } else {
173
+ cloumnsTranslateData[optionColumn.code] -= getColumnWidth(columns[index]);
174
+ moveAllChildren(children, cloumnsTranslateData, optionColumn.width);
175
+ }
176
+
163
177
  columnMoved = true;
164
178
  }
165
179
 
@@ -168,17 +182,30 @@ function columnDrag() {
168
182
  } else if (startIndex < replaceIndex) {
169
183
  // 右移
170
184
  while (startIndex < index) {
171
- var _code = columns[index].code;
172
-
173
- if (_code && _code !== _autoFill.FILL_COLUMN_CODE && !columns[index].lock) {
185
+ var _columns$index2 = columns[index],
186
+ _code = _columns$index2.code,
187
+ _lock = _columns$index2.lock,
188
+ _width = _columns$index2.width,
189
+ _children = _columns$index2.children;
190
+
191
+ if (enableMove({
192
+ code: _code,
193
+ lock: _lock
194
+ })) {
174
195
  cloumnsTranslateData[_code] -= optionColumn.width;
175
- cloumnsTranslateData[optionColumn.code] += columns[index].width;
196
+
197
+ if ((0, _utils.isLeafNode)(columns[index])) {
198
+ cloumnsTranslateData[optionColumn.code] += _width;
199
+ } else {
200
+ cloumnsTranslateData[optionColumn.code] += getColumnWidth(columns[index]);
201
+ moveAllChildren(_children, cloumnsTranslateData, optionColumn.width, true);
202
+ }
203
+
176
204
  columnMoved = true;
177
205
  }
178
206
 
179
207
  index--;
180
208
  }
181
- } else {// 不动或者移动回原位
182
209
  }
183
210
 
184
211
  window.requestAnimationFrame(function () {
@@ -214,9 +241,14 @@ function columnDrag() {
214
241
  if (startIndex > replaceIndex) {
215
242
  // 左移
216
243
  while (index < startIndex) {
217
- var code = columns[index].code;
218
-
219
- if (code && code !== _autoFill.FILL_COLUMN_CODE && !columns[index].lock) {
244
+ var _columns$index3 = columns[index],
245
+ code = _columns$index3.code,
246
+ lock = _columns$index3.lock;
247
+
248
+ if (enableMove({
249
+ code: code,
250
+ lock: lock
251
+ })) {
220
252
  cloumnsSortData[code] += 1;
221
253
  cloumnsSortData[optionColumn.code] -= 1;
222
254
  columnMoved = true;
@@ -227,9 +259,14 @@ function columnDrag() {
227
259
  } else if (startIndex < replaceIndex) {
228
260
  // 右移
229
261
  while (index > startIndex) {
230
- var _code2 = columns[index].code;
231
-
232
- if (_code2 && _code2 !== _autoFill.FILL_COLUMN_CODE && !columns[index].lock) {
262
+ var _columns$index4 = columns[index],
263
+ _code2 = _columns$index4.code,
264
+ _lock2 = _columns$index4.lock;
265
+
266
+ if (enableMove({
267
+ code: _code2,
268
+ lock: _lock2
269
+ })) {
233
270
  cloumnsSortData[_code2] -= 1;
234
271
  cloumnsSortData[optionColumn.code] += 1;
235
272
  columnMoved = true;
@@ -275,4 +312,35 @@ function columnDrag() {
275
312
  });
276
313
  }));
277
314
  };
315
+ }
316
+
317
+ function enableMove(_ref2) {
318
+ var lock = _ref2.lock,
319
+ code = _ref2.code;
320
+ return code && code !== _autoFill.FILL_COLUMN_CODE && !lock;
321
+ }
322
+
323
+ function getColumnWidth(col) {
324
+ if (col.children) {
325
+ return col.children.reduce(function (acc, col) {
326
+ return acc + getColumnWidth(col);
327
+ }, 0);
328
+ }
329
+
330
+ return col.width;
331
+ }
332
+
333
+ function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
334
+ cols.forEach(function (col) {
335
+ var _a;
336
+
337
+ var code = col.code,
338
+ children = col.children;
339
+ var movedWidth = (_a = cloumnsTranslateData[code]) !== null && _a !== void 0 ? _a : 0;
340
+ cloumnsTranslateData[code] = movedWidth + (isMinus ? -width : width);
341
+
342
+ if (!(0, _utils.isLeafNode)(col)) {
343
+ moveAllChildren(children, cloumnsTranslateData, width);
344
+ }
345
+ });
278
346
  }
@@ -27,8 +27,6 @@ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-sta
27
27
 
28
28
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
29
29
 
30
- var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
31
-
32
30
  var _react = _interopRequireDefault(require("react"));
33
31
 
34
32
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -118,12 +116,11 @@ function filter() {
118
116
  isFilterActive: filterActive,
119
117
  className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, _styles.Classes.tableFilterTrigger, true), (0, _defineProperty2.default)(_cx, "active", filterActive), _cx)),
120
118
  stopClickEventPropagation: stopClickEventPropagation
121
- })]);
122
- result.headerCellProps = (0, _utils.mergeCellProps)(col.headerCellProps, {
123
- style: {
124
- paddingRight: '18px'
125
- }
126
- });
119
+ })]); // result.headerCellProps = mergeCellProps(col.headerCellProps, {
120
+ // style: {
121
+ // paddingRight: '18px'
122
+ // }
123
+ // })
127
124
  }
128
125
 
129
126
  if (!(0, _utils.isLeafNode)(col)) {
@@ -181,7 +178,7 @@ function filter() {
181
178
  });
182
179
  }
183
180
 
184
- return (0, _reduce.default)(dataSource).call(dataSource, function (pre, record) {
181
+ return dataSource.reduce(function (pre, record) {
185
182
  if (isMatchedFilterCondition(record)) {
186
183
  return (0, _concat.default)(pre).call(pre, [record]);
187
184
  }
@@ -1,3 +1,5 @@
1
+ import React from 'react';
2
+ import { ArtColumn } from '../../interfaces';
1
3
  import { TablePipeline } from '../pipeline';
2
4
  interface ColumnSize {
3
5
  [key: string]: number;
@@ -14,6 +16,7 @@ export interface ColumnResizeOptions {
14
16
  fallbackSize?: number;
15
17
  /** 列的最大宽度,默认为 1000 */
16
18
  maxSize?: number;
19
+ doubleClickCallback?(e: React.MouseEvent<HTMLSpanElement>, col: ArtColumn): void;
17
20
  onChangeSize?(nextSize: ColumnSize): void;
18
21
  afterChangeSize?(nextSize: ColumnSize, changedColumnSize: ChangedColumnSize[]): void;
19
22
  }
@@ -1,16 +1,18 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+
5
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
4
6
 
5
- var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+
9
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
10
 
7
11
  Object.defineProperty(exports, "__esModule", {
8
12
  value: true
9
13
  });
10
14
  exports.columnResize = columnResize;
11
15
 
12
- var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
13
-
14
16
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
15
17
 
16
18
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
@@ -35,6 +37,10 @@ var _styles = require("../../base/styles");
35
37
 
36
38
  var _templateObject, _templateObject2;
37
39
 
40
+ 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); }
41
+
42
+ 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; }
43
+
38
44
  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 background-color: var(--border-color);\n }\n"])));
39
45
 
40
46
  var TableHeaderGroupCellResize = (0, _styledComponents.default)(TableHeaderCellResize)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
@@ -97,6 +103,10 @@ function columnResize() {
97
103
  });
98
104
  };
99
105
 
106
+ var handleDoubleClick = function handleDoubleClick(e, col) {
107
+ opts === null || opts === void 0 ? void 0 : opts.doubleClickCallback(e, col);
108
+ };
109
+
100
110
  var handleMouseDown = function handleMouseDown(e, col) {
101
111
  window.addEventListener('selectstart', disableSelect);
102
112
  var changedColumnSize = {};
@@ -113,7 +123,7 @@ function columnResize() {
113
123
 
114
124
  if ((children === null || children === void 0 ? void 0 : children.length) > 0) {
115
125
  var leafChildColumns = (0, _utils.collectNodes)(children, 'leaf-only');
116
- var childrenWidthSum = (0, _reduce.default)(leafChildColumns).call(leafChildColumns, function (sum, _ref2) {
126
+ var childrenWidthSum = leafChildColumns.reduce(function (sum, _ref2) {
117
127
  var code = _ref2.code;
118
128
  return sum + columnSize[code];
119
129
  }, 0);
@@ -174,11 +184,17 @@ function columnResize() {
174
184
  width: (_a = columnSize[code]) !== null && _a !== void 0 ? _a : width,
175
185
  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, {
176
186
  className: _styles.Classes.tableHeaderCellResize,
187
+ onDoubleClick: function onDoubleClick(e) {
188
+ return handleDoubleClick(e, col);
189
+ },
177
190
  onMouseDown: function onMouseDown(e) {
178
191
  return handleMouseDown(e, col);
179
192
  }
180
193
  }) : /*#__PURE__*/_react.default.createElement(TableHeaderCellResize, {
181
194
  className: _styles.Classes.tableHeaderCellResize,
195
+ onDoubleClick: function onDoubleClick(e) {
196
+ return handleDoubleClick(e, col);
197
+ },
182
198
  onMouseDown: function onMouseDown(e) {
183
199
  return handleMouseDown(e, col);
184
200
  }
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+
5
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
6
+
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
4
8
 
5
9
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
10
 
@@ -9,8 +13,12 @@ Object.defineProperty(exports, "__esModule", {
9
13
  });
10
14
  exports.contextMenu = contextMenu;
11
15
 
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
17
+
12
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
13
19
 
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
21
+
14
22
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
15
23
 
16
24
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
@@ -19,6 +27,8 @@ var _react = _interopRequireWildcard(require("react"));
19
27
 
20
28
  var _reactDom = _interopRequireDefault(require("react-dom"));
21
29
 
30
+ var _classnames = _interopRequireDefault(require("classnames"));
31
+
22
32
  var _commonViews = require("../../common-views");
23
33
 
24
34
  var _utils = require("../../utils");
@@ -29,6 +39,10 @@ var _internals = require("../../internals");
29
39
 
30
40
  var _styles = require("../../base/styles");
31
41
 
42
+ 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); }
43
+
44
+ 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; }
45
+
32
46
  var stateKey = 'contextMenu';
33
47
 
34
48
  function contextMenu() {
@@ -68,6 +82,10 @@ function contextMenu() {
68
82
  };
69
83
 
70
84
  var onContextMenu = function onContextMenu(e) {
85
+ if (suppressShowContextMenu(e)) {
86
+ return;
87
+ }
88
+
71
89
  e.preventDefault();
72
90
  showContextMenu(e);
73
91
  };
@@ -76,7 +94,7 @@ function contextMenu() {
76
94
  onContextMenu: onContextMenu
77
95
  });
78
96
 
79
- var getContextMenuOptions = function getContextMenuOptions(record, column, value) {
97
+ var getContextMenuOptions = function getContextMenuOptions(record, column, value, event) {
80
98
  var defaultMenuOptions = [];
81
99
 
82
100
  if (column) {
@@ -87,7 +105,8 @@ function contextMenu() {
87
105
  var params = {
88
106
  record: record,
89
107
  column: column,
90
- value: value
108
+ value: value,
109
+ event: event
91
110
  };
92
111
  return opts.getContextMenuItems(params);
93
112
  }
@@ -118,12 +137,12 @@ function contextMenu() {
118
137
 
119
138
  var record = dataSource[rowIndex];
120
139
  var column = code !== undefined && (0, _others.findByTree)(pipeline.getColumns(), function (item, index) {
121
- return item.code === code ? index : -1;
140
+ return item.code === code;
122
141
  });
123
142
 
124
143
  var value = column && record && _internals.internals.safeGetValue(column, record, rowIndex);
125
144
 
126
- var options = getContextMenuOptions(record, column, value);
145
+ var options = getContextMenuOptions(record, column, value, e);
127
146
 
128
147
  if (options.length === 0) {
129
148
  _utils.console.warn('context menu options is empty');
@@ -207,6 +226,7 @@ function Menu(props) {
207
226
  }),
208
227
  name: item.name,
209
228
  action: item.action,
229
+ disabled: item.disabled,
210
230
  hideContextMenu: hideContextMenu
211
231
  });
212
232
  })));
@@ -220,6 +240,10 @@ function MenuItem(props) {
220
240
  var itemRef = (0, _react.useRef)();
221
241
 
222
242
  var handleClick = function handleClick() {
243
+ if (disabled) {
244
+ return;
245
+ }
246
+
223
247
  hideContextMenu();
224
248
  typeof action === 'function' && action();
225
249
  };
@@ -251,7 +275,7 @@ function MenuItem(props) {
251
275
  };
252
276
 
253
277
  return /*#__PURE__*/_react.default.createElement("div", {
254
- className: _styles.MenuClasses.menuOption,
278
+ className: (0, _classnames.default)(_styles.MenuClasses.menuOption, (0, _defineProperty2.default)({}, _styles.MenuClasses.menuOptionDisable, disabled)),
255
279
  ref: itemRef,
256
280
  onClick: handleClick,
257
281
  onMouseEnter: handleMouseEnter,
@@ -261,7 +285,7 @@ function MenuItem(props) {
261
285
  }, name));
262
286
  }
263
287
 
264
- var MenuHelper = function MenuHelper() {
288
+ var MenuHelper = /*#__PURE__*/(0, _createClass2.default)(function MenuHelper() {
265
289
  var _this = this;
266
290
 
267
291
  (0, _classCallCheck2.default)(this, MenuHelper);
@@ -274,10 +298,9 @@ var MenuHelper = function MenuHelper() {
274
298
  _this.hidePopup && _this.hidePopup();
275
299
  _this.hidePopup = null;
276
300
  };
277
- };
301
+ });
278
302
  /** 是否点击是外部 start */
279
303
 
280
-
281
304
  function isEventFromCurrentPopup(event, ele) {
282
305
  if (!event || !ele) {
283
306
  return false;
@@ -358,13 +381,13 @@ function keepWithinBounds(popupParent, ePopup, x, y) {
358
381
  var minWidth = Math.min(ePopupRect.width, 120);
359
382
  ePopup.style.minWidth = minWidth + 'px';
360
383
  var maxX = parentWidth - minWidth;
361
- x = Math.min(Math.max(x, 0), Math.abs(maxX)); //目前位置,最大支持的位置
384
+ x = Math.min(Math.max(x, 0), Math.abs(maxX)); // 目前位置,最大支持的位置
362
385
  }
363
386
 
364
387
  if (y) {
365
388
  var minHeight = Math.min(ePopupRect.height, 180);
366
389
  var maxY = parentHeight - minHeight;
367
- y = Math.min(Math.max(y, 0), Math.abs(maxY)); //目前位置,最大支持的位置
390
+ y = Math.min(Math.max(y, 0), Math.abs(maxY)); // 目前位置,最大支持的位置
368
391
  }
369
392
 
370
393
  return {
@@ -385,6 +408,25 @@ function getRowEleForEvent(event, dataSource) {
385
408
  return getRowEleInEventPath((0, _utils.getEventPath)(event));
386
409
  }
387
410
  /** 获得点击的元素 end */
411
+ // 禁止弹出右键菜单
412
+
413
+
414
+ function suppressShowContextMenu(e) {
415
+ var path = (0, _utils.getEventPath)(e.nativeEvent);
416
+ var pointIndex = 0;
417
+
418
+ while (pointIndex < path.length) {
419
+ var ele = path[pointIndex];
420
+
421
+ if (ele.classList.contains(_styles.Classes.tableBody) || ele.classList.contains(_styles.Classes.tableFooter)) {
422
+ return false;
423
+ }
424
+
425
+ pointIndex++;
426
+ }
427
+
428
+ return true;
429
+ } // 默认选项
388
430
 
389
431
 
390
432
  function getCopyItem(v) {
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+
5
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
6
+
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
4
8
 
5
- var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
9
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
10
 
7
11
  Object.defineProperty(exports, "__esModule", {
8
12
  value: true
@@ -31,6 +35,10 @@ var _styles = require("../../../base/styles");
31
35
 
32
36
  var _templateObject;
33
37
 
38
+ 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); }
39
+
40
+ 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; }
41
+
34
42
  var DefaultFilterContentStyle = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n background-color: #ffffff;\n border-radius: 2px;\n width: 100%;\n\n ", "\n .filter-option-list {\n display: flex;\n flex-direction: column;\n margin-top: 8px;\n ul {\n margin: 0;\n padding: 0;\n li {\n display: flex;\n position: relative;\n flex-shrink: 0;\n height: 32px;\n align-items: center;\n border-radius: 2px;\n font-size: 12px;\n color: var(--color);\n padding: 0 12px;\n overflow: hidden;\n cursor: pointer;\n &:hover{\n background-color: var(--primary-color-level1);\n }\n }\n li.active{\n background-color: var(--primary-color-level1);\n }\n }\n }\n\n .filter-search {\n display: flex;\n padding: 6px 12px;\n\n .filter-search-inner {\n width: 100%;\n font-size: 12px;\n color: #333333;\n height: 28px;\n line-height: 28px;\n padding: 0 8px;\n outline: none;\n background-color: #FAFAFA;\n border-radius: 2px;\n border: 1px solid var(--strong-border-color);\n &:hover{\n border-color: var(--primary-color)\n } \n &:focus{\n border-color: var(--primary-color)\n } \n }\n }\n\n .filter-footer {\n display: flex;\n flex-direction: row;\n padding: 8px 12px;\n justify-content: space-between;\n\n .filter-btn {\n text-align: center;\n font-size: 12px;\n width: 60px;\n height: 24px;\n line-height: 24px;\n }\n \n }\n"])), _styles.ButtonCSS);
35
43
 
36
44
  function DefaultFilterContent(_ref) {