linkmore-design 1.0.98 → 1.0.99

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.
@@ -1,4 +1,4 @@
1
- export declare const useCheckboxOptions: (options: any, { value, onChange: onCheckChange }: {
1
+ export declare const useCheckboxOptions: (options: any, { value, onChange }: {
2
2
  value?: any[];
3
3
  onChange: any;
4
4
  }, filter?: string) => JSX.Element;
@@ -19,7 +19,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm
19
19
 
20
20
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
21
21
 
22
- var _proComponents = require("@ant-design/pro-components");
22
+ var _proTable = _interopRequireDefault(require("@ant-design/pro-table"));
23
23
 
24
24
  var _sortable = require("@dnd-kit/sortable");
25
25
 
@@ -62,7 +62,7 @@ var _virTual = require("./virTual");
62
62
  var _excluded = ["columns", "dataSource", "autoSize", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "sortOpen", "colSortOpen", "resizeable", "customCheck", "components", "rowSelection", "columnsState", "onChange", "filterChange", "tableRowType", "size", "openSheet", "editSheet", "dataChange", "groupInfo", "emptyProps", "columnKeys"],
63
63
  _excluded2 = ["className", "style"],
64
64
  _excluded3 = ["onResize", "width", "onResizeStop"];
65
- var Summary = _proComponents.ProTable.Summary;
65
+ var Summary = _proTable.default.Summary;
66
66
  exports.Summary = Summary;
67
67
 
68
68
  var isEmpty = function isEmpty(obj) {
@@ -75,24 +75,6 @@ var defaultParsePaste = function defaultParsePaste(str) {
75
75
  return str.split(/\r\n|\n|\r/).map(function (row) {
76
76
  return row.split('\t');
77
77
  });
78
- };
79
- /**
80
- * 生成 start 到 end 数字组成的数组
81
- * @param {number} start
82
- * @param {number} end
83
- * @returns {Array<number>}
84
- */
85
-
86
-
87
- var range = function range(start, end) {
88
- var array = [];
89
- var inc = end - start > 0;
90
-
91
- for (var i = start; inc ? i <= end : i >= end; inc ? i += 1 : i -= 1) {
92
- inc ? array.push(i) : array.unshift(i);
93
- }
94
-
95
- return array;
96
78
  }; // const DragHandle = SortableHandle(() => <MenuOutlined style={{ cursor: 'grab', color: '#999' }} />);
97
79
 
98
80
 
@@ -189,6 +171,11 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
189
171
 
190
172
  var deepDataSourceRef = (0, _react.useRef)([]);
191
173
  var deepColumnsRef = (0, _react.useRef)([]);
174
+ /** 记录最原始数据 */
175
+
176
+ (0, _react.useEffect)(function () {
177
+ dataSourceRef.current = customizeDataSource;
178
+ }, [customizeDataSource]);
192
179
  /** 行分组 */
193
180
 
194
181
  var groupDataSource = (0, _react.useMemo)(function () {
@@ -219,23 +206,21 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
219
206
  /** sheel数据的表格 */
220
207
 
221
208
  var _useState9 = (0, _react.useState)({
209
+ // 记录框选的行列坐标信息
222
210
  start: {},
223
211
  end: {},
212
+ // 是否在框选
224
213
  selecting: false,
225
214
  forceEdit: false,
215
+ // 是否在编辑中
226
216
  editing: {},
227
217
  clear: {},
218
+ // 记录右下角小方块的拖动信息
228
219
  commiting: {}
229
220
  }),
230
221
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
231
222
  sheelStataus = _useState10[0],
232
223
  setSheelStatus = _useState10[1];
233
- /**
234
- * start: {i, j} 框选的坐标开始位置
235
- * end: {i, j} 框选的坐标结束位置
236
- * commiting: { start: {i, j}, end: {i, j}} 提交
237
- */
238
-
239
224
 
240
225
  var shellStatusRef = (0, _react.useRef)({
241
226
  start: {},
@@ -296,10 +281,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
296
281
  });
297
282
  var SortContainer = (0, _reactSortableHoc.SortableContainer)(function (props) {
298
283
  return /*#__PURE__*/_react.default.createElement("tbody", props);
299
- });
300
- (0, _react.useEffect)(function () {
301
- dataSourceRef.current = dataSource;
302
- }, [dataSource]); // 行分组数据铺平, 在框选时获取数据使用
284
+ }); // 行分组数据铺平, 在框选时获取数据使用
303
285
 
304
286
  (0, _react.useEffect)(function () {
305
287
  var source = [];
@@ -432,8 +414,8 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
432
414
 
433
415
 
434
416
  var getSelectDatas = function getSelectDatas(start, end) {
435
- return range(start.i, end.i).map(function (i) {
436
- return range(start.j, end.j).map(function (j) {
417
+ return (0, _util.range)(start.i, end.i).map(function (i) {
418
+ return (0, _util.range)(start.j, end.j).map(function (j) {
437
419
  var _columns$j, _columns$j2;
438
420
 
439
421
  var columnKey = (columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length) ? deepColumnsRef.current[j].dataIndex : (_columns$j = columns[j]) === null || _columns$j === void 0 ? void 0 : _columns$j.dataIndex;
@@ -523,52 +505,42 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
523
505
  var _shellStatusRef$curre9;
524
506
 
525
507
  if (!isEmpty((_shellStatusRef$curre9 = shellStatusRef.current) === null || _shellStatusRef$curre9 === void 0 ? void 0 : _shellStatusRef$curre9.commiting)) {
526
- var _commiting$start, _commiting$end, _commiting$start2, _commiting$end2, _difference, _difference2;
508
+ var _commiting$start, _commiting$end, _commiting$start2, _commiting$end2, _difference, _difference2, _obj$i;
527
509
 
528
510
  var _shellStatusRef$curre10 = shellStatusRef.current,
529
511
  start = _shellStatusRef$curre10.start,
530
512
  end = _shellStatusRef$curre10.end,
531
- commiting = _shellStatusRef$curre10.commiting;
513
+ commiting = _shellStatusRef$curre10.commiting; //
514
+
532
515
  var innerColumns = (columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length) ? deepColumnsRef.current : columns;
516
+ var innerDataSource = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current : dataSource; //
517
+
533
518
  var columnsKeysList = innerColumns.map(function (item) {
534
519
  return item.dataIndex;
535
- });
536
- var rowtext = range(commiting === null || commiting === void 0 ? void 0 : commiting.start.i, commiting === null || commiting === void 0 ? void 0 : commiting.end.i).map(function (i) {
537
- return columnsKeysList.map(function (j) {
538
- var columnKey = j;
539
- var dataItem = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current[i] : dataSource[i];
540
- var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
541
- return cell;
542
- });
543
- });
544
- var coltext = range(commiting === null || commiting === void 0 ? void 0 : commiting.start.i, commiting === null || commiting === void 0 ? void 0 : commiting.end.i).map(function (i) {
545
- return range(commiting === null || commiting === void 0 ? void 0 : commiting.start.j, commiting === null || commiting === void 0 ? void 0 : commiting.end.j).map(function (j) {
546
- var _innerColumns$j, _innerColumns$j2;
547
-
548
- var columnKey = (_innerColumns$j = innerColumns[j]) === null || _innerColumns$j === void 0 ? void 0 : _innerColumns$j.dataIndex;
549
- var dataItem = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current[i] : dataSource[i];
550
- var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
551
-
552
- if ((_innerColumns$j2 = innerColumns[j]) === null || _innerColumns$j2 === void 0 ? void 0 : _innerColumns$j2.render) {
553
- var _innerColumns$j3, _innerColumns$j3$rend;
554
-
555
- return (_innerColumns$j3 = innerColumns[j]) === null || _innerColumns$j3 === void 0 ? void 0 : (_innerColumns$j3$rend = _innerColumns$j3.render) === null || _innerColumns$j3$rend === void 0 ? void 0 : _innerColumns$j3$rend.call(_innerColumns$j3, cell, dataItem, i);
556
- }
520
+ }); //
557
521
 
558
- return cell;
559
- });
522
+ var skipList = (0, _util.getSkipList)(innerDataSource);
523
+ var rowtext = (0, _util.getSelectionRowText)({
524
+ selection: commiting,
525
+ columnsKeysList: columnsKeysList,
526
+ dataSource: innerDataSource
527
+ });
528
+ var coltext = (0, _util.getSelectionColText)({
529
+ selection: commiting,
530
+ columns: innerColumns,
531
+ dataSource: innerDataSource
560
532
  });
561
533
  /** 选择范围 例如:i:[0,1], j:[1,2] */
562
534
 
563
535
  var selectedRange = {
564
- i: range(start.i, end.i),
565
- j: range(start.j, end.j)
536
+ i: (0, _util.range)(start.i, end.i),
537
+ j: (0, _util.range)(start.j, end.j)
566
538
  };
567
539
  /** 提交范围 */
568
540
 
569
541
  var commitRange = {
570
- i: range(commiting === null || commiting === void 0 ? void 0 : (_commiting$start = commiting.start) === null || _commiting$start === void 0 ? void 0 : _commiting$start.i, commiting === null || commiting === void 0 ? void 0 : (_commiting$end = commiting.end) === null || _commiting$end === void 0 ? void 0 : _commiting$end.i),
571
- j: range(commiting === null || commiting === void 0 ? void 0 : (_commiting$start2 = commiting.start) === null || _commiting$start2 === void 0 ? void 0 : _commiting$start2.j, commiting === null || commiting === void 0 ? void 0 : (_commiting$end2 = commiting.end) === null || _commiting$end2 === void 0 ? void 0 : _commiting$end2.j)
542
+ i: (0, _util.range)(commiting === null || commiting === void 0 ? void 0 : (_commiting$start = commiting.start) === null || _commiting$start === void 0 ? void 0 : _commiting$start.i, commiting === null || commiting === void 0 ? void 0 : (_commiting$end = commiting.end) === null || _commiting$end === void 0 ? void 0 : _commiting$end.i),
543
+ j: (0, _util.range)(commiting === null || commiting === void 0 ? void 0 : (_commiting$start2 = commiting.start) === null || _commiting$start2 === void 0 ? void 0 : _commiting$start2.j, commiting === null || commiting === void 0 ? void 0 : (_commiting$end2 = commiting.end) === null || _commiting$end2 === void 0 ? void 0 : _commiting$end2.j)
572
544
  }; // obj 为新增的范围
573
545
 
574
546
  var obj = {
@@ -591,36 +563,38 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
591
563
  type = 'col';
592
564
  }
593
565
 
594
- var data = (0, _lodash.cloneDeep)(dataSourceRef.current); // 行列分组
566
+ var data = (0, _lodash.cloneDeep)(dataSourceRef.current);
567
+ (_obj$i = obj.i) === null || _obj$i === void 0 ? void 0 : _obj$i.forEach(function (tri, index) {
568
+ var _obj$j;
595
569
 
596
- if ((groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) || (columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length)) {} else {
597
- var _obj$i;
570
+ (_obj$j = obj.j) === null || _obj$j === void 0 ? void 0 : _obj$j.forEach(function (tdj) {
571
+ var _isSelected;
598
572
 
599
- (_obj$i = obj.i) === null || _obj$i === void 0 ? void 0 : _obj$i.map(function (tri, index) {
600
- var _obj$j;
573
+ if ((_isSelected = isSelected(tri, tdj)) === null || _isSelected === void 0 ? void 0 : _isSelected.isSelected) {
574
+ var key = columnsKeysList[tdj];
575
+ var sourceIndex = tri - skipList[tri];
601
576
 
602
- (_obj$j = obj.j) === null || _obj$j === void 0 ? void 0 : _obj$j.map(function (tdj) {
603
- var _isSelected;
577
+ if (sourceIndex < 0) {
578
+ return;
579
+ } // 行替换
604
580
 
605
- if ((_isSelected = isSelected(tri, tdj)) === null || _isSelected === void 0 ? void 0 : _isSelected.isSelected) {
606
- var key = columnsKeysList[tdj];
607
581
 
608
- if (type === 'row') {
609
- var _rowtext;
582
+ if (type === 'row') {
583
+ var _rowtext;
610
584
 
611
- data[tri][key] = (_rowtext = rowtext[index % rowtext.length]) === null || _rowtext === void 0 ? void 0 : _rowtext[tdj];
612
- } else {
613
- var _coltext;
585
+ data[sourceIndex][key] = (_rowtext = rowtext[index % rowtext.length]) === null || _rowtext === void 0 ? void 0 : _rowtext[tdj];
586
+ } else {
587
+ var _coltext;
614
588
 
615
- data[tri][key] = (_coltext = coltext[index % coltext.length]) === null || _coltext === void 0 ? void 0 : _coltext[tdj % coltext[index % coltext.length].length];
616
- }
589
+ // 列替换
590
+ data[sourceIndex][key] = (_coltext = coltext[index % coltext.length]) === null || _coltext === void 0 ? void 0 : _coltext[tdj % coltext[index % coltext.length].length];
617
591
  }
618
- });
592
+ }
619
593
  });
594
+ });
620
595
 
621
- if (editSheet) {
622
- dataChange === null || dataChange === void 0 ? void 0 : dataChange(data);
623
- }
596
+ if (editSheet) {
597
+ dataChange === null || dataChange === void 0 ? void 0 : dataChange(data);
624
598
  }
625
599
 
626
600
  setSheelStatus((0, _objectSpread2.default)((0, _objectSpread2.default)({}, sheelStataus), {}, {
@@ -1234,7 +1208,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1234
1208
  items: columns.reduce(function (acc, item) {
1235
1209
  return [].concat((0, _toConsumableArray2.default)(acc), [item.dataIndex]);
1236
1210
  }, [])
1237
- }, /*#__PURE__*/_react.default.createElement(_proComponents.ProTable, (0, _extends2.default)({}, config, {
1211
+ }, /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
1238
1212
  loading: loading,
1239
1213
  dataSource: dataSource,
1240
1214
  components: tableComponents,
@@ -1260,7 +1234,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1260
1234
  summary: function summary(pageData) {
1261
1235
  return _summary && _summary(pageData, resultColumns);
1262
1236
  }
1263
- })))) : /*#__PURE__*/_react.default.createElement(_proComponents.ProTable, (0, _extends2.default)({}, config, {
1237
+ })))) : /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
1264
1238
  loading: loading,
1265
1239
  dataSource: dataSource,
1266
1240
  components: tableComponents,
@@ -74,7 +74,7 @@ var SheelTabelCell = function SheelTabelCell(props) {
74
74
  if (e.button === 2) {
75
75
  console.log('点击了右键');
76
76
  } else if (!(col === null || col === void 0 ? void 0 : col.disableEvents)) {
77
- console.log((_a = endCellRef === null || endCellRef === void 0 ? void 0 : endCellRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target), '点击了快速选择键');
77
+ console.log((_a = endCellRef === null || endCellRef === void 0 ? void 0 : endCellRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target), '点击了快速选择键', record, col, rowKey);
78
78
  onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(rowIndex, colIndex, e, !!((_b = endCellRef === null || endCellRef === void 0 ? void 0 : endCellRef.current) === null || _b === void 0 ? void 0 : _b.contains(e.target)));
79
79
  }
80
80
  };
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.checkIsSelectd = checkIsSelectd;
9
9
  exports.checkStatus = checkStatus;
10
+ exports.getSelectionColText = getSelectionColText;
11
+ exports.getSelectionRowText = getSelectionRowText;
12
+ exports.getSkipList = getSkipList;
13
+ exports.range = void 0;
10
14
  exports.transformWithColGroup = transformWithColGroup;
11
15
  exports.transformWithRowGroup = transformWithRowGroup;
12
16
 
@@ -16,12 +20,32 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
16
20
 
17
21
  var _lodash = _interopRequireDefault(require("lodash"));
18
22
 
23
+ /**
24
+ * 生成 start 到 end 数字组成的数组
25
+ * @param {number} start
26
+ * @param {number} end
27
+ * @returns {Array<number>}
28
+ */
29
+ var range = function range(start, end) {
30
+ var array = [];
31
+ var inc = end - start > 0;
32
+
33
+ for (var i = start; inc ? i <= end : i >= end; inc ? i += 1 : i -= 1) {
34
+ inc ? array.push(i) : array.unshift(i);
35
+ }
36
+
37
+ return array;
38
+ };
19
39
  /**
20
40
  * 对数据进行分组
21
41
  * @param {Array} data
22
42
  * @param {string} key
23
43
  * @return {Object}
24
44
  */
45
+
46
+
47
+ exports.range = range;
48
+
25
49
  function dataGroup(data, key) {
26
50
  var result = {};
27
51
  data.forEach(function (item) {
@@ -208,4 +232,81 @@ function checkStatus(i, j, commiting) {
208
232
  /** 是否有效拉伸 */
209
233
  isVaildCommit: mini <= i && maxi >= i || minj <= j && maxj >= j
210
234
  };
235
+ }
236
+ /**
237
+ * 获取空行列表值数组
238
+ * @param {Array} dataSourceWithGroup
239
+ * @returns {Array}
240
+ */
241
+
242
+
243
+ function getSkipList(dataSourceWithGroup) {
244
+ var skipList = dataSourceWithGroup.reduce(function (prev, cur) {
245
+ if (!prev.length) {
246
+ return cur.group ? [1] : [0];
247
+ }
248
+
249
+ if (cur.group) {
250
+ return [].concat((0, _toConsumableArray2.default)(prev), [prev[prev.length - 1] + 1]);
251
+ }
252
+
253
+ return [].concat((0, _toConsumableArray2.default)(prev), [prev[prev.length - 1]]);
254
+ }, []);
255
+ return skipList;
256
+ }
257
+ /**
258
+ * 获取选中行文本
259
+ * @param {Object}
260
+ * {
261
+ * selection: {start: {i, j}, end: {i, j}},
262
+ * columnsKeysList: Array,
263
+ * dataSource: Array
264
+ * }
265
+ * @returns {Array}
266
+ */
267
+
268
+
269
+ function getSelectionRowText(_ref) {
270
+ var selection = _ref.selection,
271
+ columnsKeysList = _ref.columnsKeysList,
272
+ dataSource = _ref.dataSource;
273
+ var rowtext = range(selection === null || selection === void 0 ? void 0 : selection.start.i, selection === null || selection === void 0 ? void 0 : selection.end.i).map(function (i) {
274
+ return columnsKeysList.map(function (j) {
275
+ var columnKey = j;
276
+ var dataItem = dataSource[i];
277
+ var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
278
+ return cell;
279
+ });
280
+ });
281
+ return rowtext;
282
+ }
283
+ /**
284
+ * 获取选中列文本
285
+ * @param {Object}
286
+ * @returns {Array}
287
+ */
288
+
289
+
290
+ function getSelectionColText(_ref2) {
291
+ var selection = _ref2.selection,
292
+ columns = _ref2.columns,
293
+ dataSource = _ref2.dataSource;
294
+ var coltext = range(selection === null || selection === void 0 ? void 0 : selection.start.i, selection === null || selection === void 0 ? void 0 : selection.end.i).map(function (i) {
295
+ return range(selection === null || selection === void 0 ? void 0 : selection.start.j, selection === null || selection === void 0 ? void 0 : selection.end.j).map(function (j) {
296
+ var _columns$j, _columns$j2;
297
+
298
+ var columnKey = (_columns$j = columns[j]) === null || _columns$j === void 0 ? void 0 : _columns$j.dataIndex;
299
+ var dataItem = dataSource[i];
300
+ var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
301
+
302
+ if ((_columns$j2 = columns[j]) === null || _columns$j2 === void 0 ? void 0 : _columns$j2.render) {
303
+ var _columns$j3, _columns$j3$render;
304
+
305
+ return (_columns$j3 = columns[j]) === null || _columns$j3 === void 0 ? void 0 : (_columns$j3$render = _columns$j3.render) === null || _columns$j3$render === void 0 ? void 0 : _columns$j3$render.call(_columns$j3, cell, dataItem, i);
306
+ }
307
+
308
+ return cell;
309
+ });
310
+ });
311
+ return coltext;
211
312
  }
@@ -1,4 +1,3 @@
1
- import type { BuildInPlacements } from 'rc-trigger';
2
1
  export interface AdjustOverflow {
3
2
  adjustX?: 0 | 1;
4
3
  adjustY?: 0 | 1;
@@ -1,4 +1,4 @@
1
- export declare const useCheckboxOptions: (options: any, { value, onChange: onCheckChange }: {
1
+ export declare const useCheckboxOptions: (options: any, { value, onChange }: {
2
2
  value?: any[];
3
3
  onChange: any;
4
4
  }, filter?: string) => JSX.Element;
@@ -19,7 +19,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
19
19
 
20
20
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
21
21
 
22
- var _proComponents = require("@ant-design/pro-components");
22
+ var _proTable = _interopRequireDefault(require("@ant-design/pro-table"));
23
23
 
24
24
  var _sortable = require("@dnd-kit/sortable");
25
25
 
@@ -62,7 +62,7 @@ var _virTual = require("./virTual");
62
62
  var _excluded = ["columns", "dataSource", "autoSize", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "sortOpen", "colSortOpen", "resizeable", "customCheck", "components", "rowSelection", "columnsState", "onChange", "filterChange", "tableRowType", "size", "openSheet", "editSheet", "dataChange", "groupInfo", "emptyProps", "columnKeys"],
63
63
  _excluded2 = ["className", "style"],
64
64
  _excluded3 = ["onResize", "width", "onResizeStop"];
65
- var Summary = _proComponents.ProTable.Summary;
65
+ var Summary = _proTable.default.Summary;
66
66
  exports.Summary = Summary;
67
67
 
68
68
  var isEmpty = function isEmpty(obj) {
@@ -75,24 +75,6 @@ var defaultParsePaste = function defaultParsePaste(str) {
75
75
  return str.split(/\r\n|\n|\r/).map(function (row) {
76
76
  return row.split('\t');
77
77
  });
78
- };
79
- /**
80
- * 生成 start 到 end 数字组成的数组
81
- * @param {number} start
82
- * @param {number} end
83
- * @returns {Array<number>}
84
- */
85
-
86
-
87
- var range = function range(start, end) {
88
- var array = [];
89
- var inc = end - start > 0;
90
-
91
- for (var i = start; inc ? i <= end : i >= end; inc ? i += 1 : i -= 1) {
92
- inc ? array.push(i) : array.unshift(i);
93
- }
94
-
95
- return array;
96
78
  }; // const DragHandle = SortableHandle(() => <MenuOutlined style={{ cursor: 'grab', color: '#999' }} />);
97
79
 
98
80
 
@@ -189,6 +171,11 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
189
171
 
190
172
  var deepDataSourceRef = (0, _react.useRef)([]);
191
173
  var deepColumnsRef = (0, _react.useRef)([]);
174
+ /** 记录最原始数据 */
175
+
176
+ (0, _react.useEffect)(function () {
177
+ dataSourceRef.current = customizeDataSource;
178
+ }, [customizeDataSource]);
192
179
  /** 行分组 */
193
180
 
194
181
  var groupDataSource = (0, _react.useMemo)(function () {
@@ -219,23 +206,21 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
219
206
  /** sheel数据的表格 */
220
207
 
221
208
  var _useState9 = (0, _react.useState)({
209
+ // 记录框选的行列坐标信息
222
210
  start: {},
223
211
  end: {},
212
+ // 是否在框选
224
213
  selecting: false,
225
214
  forceEdit: false,
215
+ // 是否在编辑中
226
216
  editing: {},
227
217
  clear: {},
218
+ // 记录右下角小方块的拖动信息
228
219
  commiting: {}
229
220
  }),
230
221
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
231
222
  sheelStataus = _useState10[0],
232
223
  setSheelStatus = _useState10[1];
233
- /**
234
- * start: {i, j} 框选的坐标开始位置
235
- * end: {i, j} 框选的坐标结束位置
236
- * commiting: { start: {i, j}, end: {i, j}} 提交
237
- */
238
-
239
224
 
240
225
  var shellStatusRef = (0, _react.useRef)({
241
226
  start: {},
@@ -296,10 +281,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
296
281
  });
297
282
  var SortContainer = (0, _reactSortableHoc.SortableContainer)(function (props) {
298
283
  return /*#__PURE__*/_react.default.createElement("tbody", props);
299
- });
300
- (0, _react.useEffect)(function () {
301
- dataSourceRef.current = dataSource;
302
- }, [dataSource]); // 行分组数据铺平, 在框选时获取数据使用
284
+ }); // 行分组数据铺平, 在框选时获取数据使用
303
285
 
304
286
  (0, _react.useEffect)(function () {
305
287
  var source = [];
@@ -432,8 +414,8 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
432
414
 
433
415
 
434
416
  var getSelectDatas = function getSelectDatas(start, end) {
435
- return range(start.i, end.i).map(function (i) {
436
- return range(start.j, end.j).map(function (j) {
417
+ return (0, _util.range)(start.i, end.i).map(function (i) {
418
+ return (0, _util.range)(start.j, end.j).map(function (j) {
437
419
  var _columns$j, _columns$j2;
438
420
 
439
421
  var columnKey = (columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length) ? deepColumnsRef.current[j].dataIndex : (_columns$j = columns[j]) === null || _columns$j === void 0 ? void 0 : _columns$j.dataIndex;
@@ -523,52 +505,42 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
523
505
  var _shellStatusRef$curre9;
524
506
 
525
507
  if (!isEmpty((_shellStatusRef$curre9 = shellStatusRef.current) === null || _shellStatusRef$curre9 === void 0 ? void 0 : _shellStatusRef$curre9.commiting)) {
526
- var _commiting$start, _commiting$end, _commiting$start2, _commiting$end2, _difference, _difference2;
508
+ var _commiting$start, _commiting$end, _commiting$start2, _commiting$end2, _difference, _difference2, _obj$i;
527
509
 
528
510
  var _shellStatusRef$curre10 = shellStatusRef.current,
529
511
  start = _shellStatusRef$curre10.start,
530
512
  end = _shellStatusRef$curre10.end,
531
- commiting = _shellStatusRef$curre10.commiting;
513
+ commiting = _shellStatusRef$curre10.commiting; //
514
+
532
515
  var innerColumns = (columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length) ? deepColumnsRef.current : columns;
516
+ var innerDataSource = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current : dataSource; //
517
+
533
518
  var columnsKeysList = innerColumns.map(function (item) {
534
519
  return item.dataIndex;
535
- });
536
- var rowtext = range(commiting === null || commiting === void 0 ? void 0 : commiting.start.i, commiting === null || commiting === void 0 ? void 0 : commiting.end.i).map(function (i) {
537
- return columnsKeysList.map(function (j) {
538
- var columnKey = j;
539
- var dataItem = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current[i] : dataSource[i];
540
- var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
541
- return cell;
542
- });
543
- });
544
- var coltext = range(commiting === null || commiting === void 0 ? void 0 : commiting.start.i, commiting === null || commiting === void 0 ? void 0 : commiting.end.i).map(function (i) {
545
- return range(commiting === null || commiting === void 0 ? void 0 : commiting.start.j, commiting === null || commiting === void 0 ? void 0 : commiting.end.j).map(function (j) {
546
- var _innerColumns$j, _innerColumns$j2;
547
-
548
- var columnKey = (_innerColumns$j = innerColumns[j]) === null || _innerColumns$j === void 0 ? void 0 : _innerColumns$j.dataIndex;
549
- var dataItem = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current[i] : dataSource[i];
550
- var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
551
-
552
- if ((_innerColumns$j2 = innerColumns[j]) === null || _innerColumns$j2 === void 0 ? void 0 : _innerColumns$j2.render) {
553
- var _innerColumns$j3, _innerColumns$j3$rend;
554
-
555
- return (_innerColumns$j3 = innerColumns[j]) === null || _innerColumns$j3 === void 0 ? void 0 : (_innerColumns$j3$rend = _innerColumns$j3.render) === null || _innerColumns$j3$rend === void 0 ? void 0 : _innerColumns$j3$rend.call(_innerColumns$j3, cell, dataItem, i);
556
- }
520
+ }); //
557
521
 
558
- return cell;
559
- });
522
+ var skipList = (0, _util.getSkipList)(innerDataSource);
523
+ var rowtext = (0, _util.getSelectionRowText)({
524
+ selection: commiting,
525
+ columnsKeysList: columnsKeysList,
526
+ dataSource: innerDataSource
527
+ });
528
+ var coltext = (0, _util.getSelectionColText)({
529
+ selection: commiting,
530
+ columns: innerColumns,
531
+ dataSource: innerDataSource
560
532
  });
561
533
  /** 选择范围 例如:i:[0,1], j:[1,2] */
562
534
 
563
535
  var selectedRange = {
564
- i: range(start.i, end.i),
565
- j: range(start.j, end.j)
536
+ i: (0, _util.range)(start.i, end.i),
537
+ j: (0, _util.range)(start.j, end.j)
566
538
  };
567
539
  /** 提交范围 */
568
540
 
569
541
  var commitRange = {
570
- i: range(commiting === null || commiting === void 0 ? void 0 : (_commiting$start = commiting.start) === null || _commiting$start === void 0 ? void 0 : _commiting$start.i, commiting === null || commiting === void 0 ? void 0 : (_commiting$end = commiting.end) === null || _commiting$end === void 0 ? void 0 : _commiting$end.i),
571
- j: range(commiting === null || commiting === void 0 ? void 0 : (_commiting$start2 = commiting.start) === null || _commiting$start2 === void 0 ? void 0 : _commiting$start2.j, commiting === null || commiting === void 0 ? void 0 : (_commiting$end2 = commiting.end) === null || _commiting$end2 === void 0 ? void 0 : _commiting$end2.j)
542
+ i: (0, _util.range)(commiting === null || commiting === void 0 ? void 0 : (_commiting$start = commiting.start) === null || _commiting$start === void 0 ? void 0 : _commiting$start.i, commiting === null || commiting === void 0 ? void 0 : (_commiting$end = commiting.end) === null || _commiting$end === void 0 ? void 0 : _commiting$end.i),
543
+ j: (0, _util.range)(commiting === null || commiting === void 0 ? void 0 : (_commiting$start2 = commiting.start) === null || _commiting$start2 === void 0 ? void 0 : _commiting$start2.j, commiting === null || commiting === void 0 ? void 0 : (_commiting$end2 = commiting.end) === null || _commiting$end2 === void 0 ? void 0 : _commiting$end2.j)
572
544
  }; // obj 为新增的范围
573
545
 
574
546
  var obj = {
@@ -591,36 +563,38 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
591
563
  type = 'col';
592
564
  }
593
565
 
594
- var data = (0, _lodash.cloneDeep)(dataSourceRef.current); // 行列分组
566
+ var data = (0, _lodash.cloneDeep)(dataSourceRef.current);
567
+ (_obj$i = obj.i) === null || _obj$i === void 0 ? void 0 : _obj$i.forEach(function (tri, index) {
568
+ var _obj$j;
595
569
 
596
- if ((groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) || (columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length)) {} else {
597
- var _obj$i;
570
+ (_obj$j = obj.j) === null || _obj$j === void 0 ? void 0 : _obj$j.forEach(function (tdj) {
571
+ var _isSelected;
598
572
 
599
- (_obj$i = obj.i) === null || _obj$i === void 0 ? void 0 : _obj$i.map(function (tri, index) {
600
- var _obj$j;
573
+ if ((_isSelected = isSelected(tri, tdj)) === null || _isSelected === void 0 ? void 0 : _isSelected.isSelected) {
574
+ var key = columnsKeysList[tdj];
575
+ var sourceIndex = tri - skipList[tri];
601
576
 
602
- (_obj$j = obj.j) === null || _obj$j === void 0 ? void 0 : _obj$j.map(function (tdj) {
603
- var _isSelected;
577
+ if (sourceIndex < 0) {
578
+ return;
579
+ } // 行替换
604
580
 
605
- if ((_isSelected = isSelected(tri, tdj)) === null || _isSelected === void 0 ? void 0 : _isSelected.isSelected) {
606
- var key = columnsKeysList[tdj];
607
581
 
608
- if (type === 'row') {
609
- var _rowtext;
582
+ if (type === 'row') {
583
+ var _rowtext;
610
584
 
611
- data[tri][key] = (_rowtext = rowtext[index % rowtext.length]) === null || _rowtext === void 0 ? void 0 : _rowtext[tdj];
612
- } else {
613
- var _coltext;
585
+ data[sourceIndex][key] = (_rowtext = rowtext[index % rowtext.length]) === null || _rowtext === void 0 ? void 0 : _rowtext[tdj];
586
+ } else {
587
+ var _coltext;
614
588
 
615
- data[tri][key] = (_coltext = coltext[index % coltext.length]) === null || _coltext === void 0 ? void 0 : _coltext[tdj % coltext[index % coltext.length].length];
616
- }
589
+ // 列替换
590
+ data[sourceIndex][key] = (_coltext = coltext[index % coltext.length]) === null || _coltext === void 0 ? void 0 : _coltext[tdj % coltext[index % coltext.length].length];
617
591
  }
618
- });
592
+ }
619
593
  });
594
+ });
620
595
 
621
- if (editSheet) {
622
- dataChange === null || dataChange === void 0 ? void 0 : dataChange(data);
623
- }
596
+ if (editSheet) {
597
+ dataChange === null || dataChange === void 0 ? void 0 : dataChange(data);
624
598
  }
625
599
 
626
600
  setSheelStatus((0, _objectSpread2.default)((0, _objectSpread2.default)({}, sheelStataus), {}, {
@@ -1234,7 +1208,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1234
1208
  items: columns.reduce(function (acc, item) {
1235
1209
  return [].concat((0, _toConsumableArray2.default)(acc), [item.dataIndex]);
1236
1210
  }, [])
1237
- }, /*#__PURE__*/_react.default.createElement(_proComponents.ProTable, (0, _extends2.default)({}, config, {
1211
+ }, /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
1238
1212
  loading: loading,
1239
1213
  dataSource: dataSource,
1240
1214
  components: tableComponents,
@@ -1260,7 +1234,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1260
1234
  summary: function summary(pageData) {
1261
1235
  return _summary && _summary(pageData, resultColumns);
1262
1236
  }
1263
- })))) : /*#__PURE__*/_react.default.createElement(_proComponents.ProTable, (0, _extends2.default)({}, config, {
1237
+ })))) : /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
1264
1238
  loading: loading,
1265
1239
  dataSource: dataSource,
1266
1240
  components: tableComponents,