@zhenliang/sheet 0.1.6 → 0.1.7-3.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/assets/arrow-mac-down.svg +19 -0
  2. package/dist/assets/arrow-mac-right.svg +17 -0
  3. package/dist/assets/arrow-windows-down.svg +17 -0
  4. package/dist/assets/arrow-windows-right.svg +17 -0
  5. package/dist/core/config.d.ts +3 -0
  6. package/dist/core/config.js +4 -1
  7. package/dist/core/editor/cascaderEditor/index.d.ts +1 -1
  8. package/dist/core/editor/cascaderEditor/index.js +10 -9
  9. package/dist/core/editor/cascaderEditor/index.less +15 -7
  10. package/dist/core/editor/dateEditor/index.js +29 -6
  11. package/dist/core/editor/dateEditor/index.less +9 -2
  12. package/dist/core/editor/numberEditor/index.d.ts +3 -1
  13. package/dist/core/editor/numberEditor/index.js +60 -25
  14. package/dist/core/editor/numberEditor/index.less +3 -2
  15. package/dist/core/editor/selectEditor/index.d.ts +1 -1
  16. package/dist/core/editor/selectEditor/index.js +31 -16
  17. package/dist/core/editor/selectEditor/index.less +16 -5
  18. package/dist/core/reducers/index.d.ts +2 -2
  19. package/dist/core/reducers/index.js +8 -1
  20. package/dist/core/reducers/keyboardReducer.js +39 -9
  21. package/dist/core/reducers/mouseReducer.js +115 -11
  22. package/dist/core/reducers/sideEffectReducer.d.ts +1 -1
  23. package/dist/core/reducers/sideEffectReducer.js +146 -41
  24. package/dist/core/reducers/stateReducer.d.ts +1 -0
  25. package/dist/core/reducers/stateReducer.js +96 -27
  26. package/dist/core/sheet/Cell.js +30 -21
  27. package/dist/core/sheet/Control.d.ts +21 -0
  28. package/dist/core/sheet/Control.js +83 -0
  29. package/dist/core/sheet/DataEditor.js +1 -1
  30. package/dist/core/sheet/DefaultCell.d.ts +8 -3
  31. package/dist/core/sheet/DefaultCell.js +11 -7
  32. package/dist/core/sheet/DefaultRow.js +1 -7
  33. package/dist/core/sheet/DefaultRowMapper.d.ts +3 -0
  34. package/dist/core/sheet/DefaultRowMapper.js +19 -3
  35. package/dist/core/sheet/Menu.d.ts +6 -0
  36. package/dist/core/sheet/Menu.js +21 -0
  37. package/dist/core/sheet/index.js +247 -86
  38. package/dist/core/sheet/index.less +199 -107
  39. package/dist/core/sheet/searchInput.d.ts +15 -0
  40. package/dist/core/sheet/searchInput.js +78 -0
  41. package/dist/core/sheet/useContextMenu.d.ts +1 -1
  42. package/dist/core/sheet/useContextMenu.js +12 -9
  43. package/dist/core/sheet/useKeyBoardEvent.js +19 -2
  44. package/dist/core/sheet/useMouseEvent.js +19 -12
  45. package/dist/core/sheet/useSearchInput.d.ts +11 -0
  46. package/dist/core/sheet/useSearchInput.js +65 -0
  47. package/dist/core/sheet/useSelectVisible.d.ts +1 -1
  48. package/dist/core/sheet/useSelectVisible.js +16 -6
  49. package/dist/core/sheet/useVirtualList.d.ts +10 -1
  50. package/dist/core/sheet/useVirtualList.js +44 -28
  51. package/dist/core/sheet/var.less +41 -34
  52. package/dist/core/shell/draggableShell/index.d.ts +3 -0
  53. package/dist/core/shell/draggableShell/index.js +130 -47
  54. package/dist/core/shell/tableShell.d.ts +3 -0
  55. package/dist/core/shell/tableShell.js +78 -30
  56. package/dist/core/table/addButton.d.ts +6 -0
  57. package/dist/core/table/addButton.js +103 -0
  58. package/dist/core/table/events.d.ts +0 -2
  59. package/dist/core/table/events.js +25 -31
  60. package/dist/core/table/index.js +94 -187
  61. package/dist/core/table/index.less +12 -0
  62. package/dist/core/table/useGroupConfig.d.ts +4 -1
  63. package/dist/core/table/useGroupConfig.js +138 -13
  64. package/dist/core/table/useRowSelection.d.ts +3 -0
  65. package/dist/core/table/useRowSelection.js +67 -1
  66. package/dist/core/util.d.ts +10 -4
  67. package/dist/core/util.js +121 -69
  68. package/dist/core/viewer/cascaderViewer/index.js +6 -1
  69. package/dist/core/viewer/groupViewer/index.js +24 -8
  70. package/dist/core/viewer/selectorViewer/index.js +7 -3
  71. package/dist/core/viewer/switchViewer/index.js +8 -2
  72. package/dist/example/antComponent.js +61 -35
  73. package/dist/example/basic.js +16 -10
  74. package/dist/example/ellipsis.js +1 -0
  75. package/dist/example/fixed.js +1 -0
  76. package/dist/example/group.js +38 -15
  77. package/dist/example/selection.js +7 -6
  78. package/dist/example/sheet.js +18 -19
  79. package/dist/example/valuationAnalyze.d.ts +1 -0
  80. package/dist/example/valuationAnalyze.js +1 -2
  81. package/dist/hooks/index.d.ts +1 -1
  82. package/dist/hooks/index.js +1 -1
  83. package/dist/hooks/useEventBus.d.ts +1 -0
  84. package/dist/hooks/useEventBus.js +1 -1
  85. package/dist/hooks/useGroupConfig.d.ts +4 -0
  86. package/dist/hooks/useGroupConfig.js +5 -0
  87. package/dist/hooks/useKeyboard.d.ts +5 -2
  88. package/dist/hooks/useKeyboard.js +16 -2
  89. package/dist/hooks/useMiddlewareReducer.d.ts +5 -5
  90. package/dist/hooks/useMiddlewareReducer.js +2 -2
  91. package/dist/hooks/useMouse.d.ts +1 -1
  92. package/dist/hooks/useMouse.js +6 -6
  93. package/dist/hooks/useSetState.js +6 -6
  94. package/dist/hooks/useWidthConfig.d.ts +3 -3
  95. package/dist/standardUtils/index.d.ts +1 -1
  96. package/dist/standardUtils/index.js +1 -1
  97. package/dist/type/sheet.d.ts +76 -31
  98. package/dist/type/sheetTable.d.ts +21 -12
  99. package/package.json +11 -5
@@ -2,10 +2,15 @@
2
2
  // == string 和 number 类型忽略
3
3
 
4
4
  import { valuesTransferToLabel } from "../../util";
5
+ import { Fragment as _Fragment } from "react/jsx-runtime";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
5
7
  export var getCascaderViewer = function getCascaderViewer(options) {
6
8
  var TypeViewer = function TypeViewer(props) {
7
9
  var value = props.value;
8
- return valuesTransferToLabel(options, value) || value;
10
+ var text = valuesTransferToLabel(options, value) || value;
11
+ return /*#__PURE__*/_jsx(_Fragment, {
12
+ children: text
13
+ });
9
14
  };
10
15
  return TypeViewer;
11
16
  };
@@ -1,30 +1,46 @@
1
1
  import { MinusSquareOutlined, PlusSquareOutlined } from '@ant-design/icons';
2
2
  import { useSheetEvent } from "../../..";
3
+ import { useGroup } from "../../../hooks/useGroupConfig";
3
4
  import { useCallback } from 'react';
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  export var GroupViewer = function GroupViewer(props) {
6
- var value = props.value,
7
- row = props.row,
7
+ var _config$configMap, _config$configMap2, _config$groupOpen;
8
+ var _props$row = props.row,
9
+ row = _props$row === void 0 ? 0 : _props$row,
8
10
  record = props.record;
11
+ var _ref = record || {},
12
+ isHeader = _ref.isHeader;
13
+ var _useGroup = useGroup(),
14
+ config = _useGroup.config;
9
15
  var eventBus = useSheetEvent();
16
+ var isStart = config === null || config === void 0 || (_config$configMap = config.configMap) === null || _config$configMap === void 0 || (_config$configMap = _config$configMap.get(row)) === null || _config$configMap === void 0 ? void 0 : _config$configMap.isStart;
17
+ var isOpen = config === null || config === void 0 || (_config$configMap2 = config.configMap) === null || _config$configMap2 === void 0 || (_config$configMap2 = _config$configMap2.get(row)) === null || _config$configMap2 === void 0 ? void 0 : _config$configMap2.isOpen;
18
+ var allOpen = !(config !== null && config !== void 0 && (_config$groupOpen = config.groupOpen) !== null && _config$groupOpen !== void 0 && _config$groupOpen.some(function (value) {
19
+ return !value;
20
+ }));
10
21
  var handleChange = useCallback(function () {
11
22
  if (!eventBus) return;
12
- if (record !== null && record !== void 0 && record.isHeader) {
13
- eventBus.emit('group-open-title', !(record !== null && record !== void 0 && record.open));
23
+ if (isHeader) {
24
+ eventBus.emit('group-open-title', !allOpen);
14
25
  } else {
15
26
  eventBus.emit('group-open', {
16
27
  row: row,
17
- open: record === null || record === void 0 ? void 0 : record.open
28
+ open: !isOpen
18
29
  });
19
30
  }
20
- }, [eventBus, row, record === null || record === void 0 ? void 0 : record.open]);
21
- if (value) {
31
+ }, [eventBus, row, isOpen, allOpen]);
32
+ if (isStart || isHeader) {
33
+ var currentOpen = record !== null && record !== void 0 && record.isHeader ? allOpen : isOpen;
22
34
  return /*#__PURE__*/_jsx("span", {
35
+ style: {
36
+ cursor: 'pointer',
37
+ pointerEvents: 'all'
38
+ },
23
39
  onMouseDown: function onMouseDown(e) {
24
40
  return e.stopPropagation();
25
41
  },
26
42
  onClick: handleChange,
27
- children: !(record !== null && record !== void 0 && record.open) ? /*#__PURE__*/_jsx(PlusSquareOutlined, {}) : /*#__PURE__*/_jsx(MinusSquareOutlined, {})
43
+ children: !currentOpen ? /*#__PURE__*/_jsx(PlusSquareOutlined, {}) : /*#__PURE__*/_jsx(MinusSquareOutlined, {})
28
44
  });
29
45
  }
30
46
  return /*#__PURE__*/_jsx("span", {});
@@ -1,12 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  /* eslint-disable eqeqeq */
2
3
  // == string 和 number 类型忽略
3
4
 
4
5
  export var getSelectorViewer = function getSelectorViewer(options) {
5
6
  var TypeViewer = function TypeViewer(props) {
6
7
  var _options$find;
7
- return ((_options$find = options.find(function (item) {
8
- return item.label === props.value || item.value == props.value;
9
- })) === null || _options$find === void 0 ? void 0 : _options$find.label) || null;
8
+ return /*#__PURE__*/_jsx("span", {
9
+ className: "value-viewer",
10
+ children: ((_options$find = options.find(function (item) {
11
+ return item.label === props.value || "".concat(item.value) === "".concat(props.value);
12
+ })) === null || _options$find === void 0 ? void 0 : _options$find.label) || null
13
+ });
10
14
  };
11
15
  return TypeViewer;
12
16
  };
@@ -5,17 +5,23 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  export var SwitchViewer = function SwitchViewer(props) {
6
6
  var value = props.value,
7
7
  row = props.row,
8
- record = props.record;
8
+ record = props.record,
9
+ cell = props.cell;
10
+ var _ref = cell !== null && cell !== void 0 ? cell : {},
11
+ key = _ref.key,
12
+ readonly = _ref.readonly;
9
13
  var eventBus = useSheetEvent();
10
14
  var handleChange = useCallback(function () {
11
15
  if (!eventBus) return;
12
16
  eventBus.emit('cell-switch', {
13
17
  row: row,
14
18
  record: record,
15
- value: !value
19
+ value: !value,
20
+ key: key
16
21
  });
17
22
  }, [eventBus, row, record, value]);
18
23
  return /*#__PURE__*/_jsx(Switch, {
24
+ disabled: readonly,
19
25
  checked: value,
20
26
  onChange: handleChange
21
27
  });
@@ -1,9 +1,9 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
7
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
8
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
9
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -12,13 +12,14 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
12
12
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
13
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
14
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
16
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
17
  import { Button, Modal } from 'antd';
18
- import { cloneDeep, random } from 'lodash';
18
+ import { cloneDeep, random, range } from 'lodash';
19
19
  import React, { useCallback, useMemo, useRef, useState } from 'react';
20
20
  import { getCascaderEditor, getDateEditor, getNumberEditor, getSelectEditor } from "../core/editor";
21
21
  import Table from "../core/table";
22
+ import { getSelectorViewer } from "../core/viewer";
22
23
  import { BtnViewer } from "../core/viewer/btnViewer";
23
24
  import { getCascaderViewer } from "../core/viewer/cascaderViewer";
24
25
  import { EditViewer } from "../core/viewer/editViewer";
@@ -48,13 +49,13 @@ var SelectorOptions = [{
48
49
  }];
49
50
  var getTypeViewer = function getTypeViewer(options) {
50
51
  var TypeViewer = function TypeViewer(props) {
51
- return options.find(function (item) {
52
+ var _options$find;
53
+ return (_options$find = options.find(function (item) {
52
54
  return item.label === props.value || item.value == props.value;
53
- }).label;
55
+ })) === null || _options$find === void 0 ? void 0 : _options$find.label;
54
56
  };
55
57
  return TypeViewer;
56
58
  };
57
- var TypeSelector = getSelectEditor(SelectorOptions, 'label');
58
59
  var cascaderOptions = [{
59
60
  value: 'zhejiang',
60
61
  label: 'Zhejiang',
@@ -95,8 +96,8 @@ var columns = [{
95
96
  editor: Precision2Number,
96
97
  readonly: function readonly(value, record, row) {
97
98
  return row === 1;
98
- }
99
- // fixed: 'left',
99
+ },
100
+ fixed: 'left'
100
101
  }, {
101
102
  title: 'price',
102
103
  width: 100,
@@ -105,8 +106,8 @@ var columns = [{
105
106
  editor: Precision2MoneyEditor,
106
107
  readonly: function readonly(value, record, row) {
107
108
  return row === 1;
108
- }
109
- // fixed: 'left',
109
+ },
110
+ fixed: 'left'
110
111
  }, {
111
112
  title: 'date',
112
113
  width: 150,
@@ -118,8 +119,11 @@ var columns = [{
118
119
  title: 'select',
119
120
  width: 200,
120
121
  dataIndex: 'select',
121
- render: getTypeViewer(SelectorOptions),
122
- editor: getSelectEditor(SelectorOptions, 'label')
122
+ render: getSelectorViewer(SelectorOptions),
123
+ editor: getSelectEditor(SelectorOptions, 'label', undefined, {
124
+ allowClear: false
125
+ }),
126
+ allowClear: false
123
127
  }, {
124
128
  title: 'Column 2',
125
129
  width: 200,
@@ -160,12 +164,14 @@ var columns = [{
160
164
  title: 'Column 7',
161
165
  width: 200,
162
166
  dataIndex: 'address6',
163
- key: '7'
167
+ key: '7',
168
+ fixed: 'right'
164
169
  }, {
165
170
  title: 'Column 8',
166
171
  width: 200,
167
172
  dataIndex: 'address7',
168
- key: '8'
173
+ key: '8',
174
+ fixed: 'right'
169
175
  }, {
170
176
  title: 'Action',
171
177
  align: SheetType.CellAlign.center,
@@ -179,7 +185,7 @@ var data = [{
179
185
  name: 'John Brown',
180
186
  date: '2020-01-01',
181
187
  open: true,
182
- age: 32,
188
+ age: 1,
183
189
  address1: 'West Lake',
184
190
  address2: '打开对话框1',
185
191
  select: '111111',
@@ -190,9 +196,16 @@ var data = [{
190
196
  open: false,
191
197
  date: '1990-01-01',
192
198
  address2: '打开对话框2',
193
- age: 40,
199
+ age: 2,
194
200
  select: '222222',
195
- address: 'London Park'
201
+ address: 'London Park',
202
+ children: [{
203
+ key: '11',
204
+ name: 'John Brown',
205
+ date: '2020-01-01',
206
+ open: true,
207
+ age: 1
208
+ }]
196
209
  }];
197
210
  var App = function App() {
198
211
  var _useState = useState(data),
@@ -205,7 +218,7 @@ var App = function App() {
205
218
  setOptions = _useState4[1];
206
219
  var sheetInstance = useRef(null);
207
220
  var handleChange = useCallback(function (changes, extChange) {
208
- console.log(extChange);
221
+ // console.log(extChange);
209
222
  var newState = cloneDeep(state);
210
223
  changes.forEach(function (change) {
211
224
  var row = change.row,
@@ -217,24 +230,34 @@ var App = function App() {
217
230
  }, [state]);
218
231
  var handleAdd = useCallback(function () {
219
232
  var _sheetInstance$curren;
233
+ var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
220
234
  var newState = cloneDeep(state);
221
- (_sheetInstance$curren = sheetInstance.current) === null || _sheetInstance$curren === void 0 ? void 0 : _sheetInstance$curren.pushToHistory({
235
+ (_sheetInstance$curren = sheetInstance.current) === null || _sheetInstance$curren === void 0 || _sheetInstance$curren.pushToHistory({
222
236
  type: 'NewRow',
223
237
  changes: [],
224
238
  rowInfo: {
225
239
  newRow: newState.length
226
240
  }
227
241
  });
228
- setState([].concat(_toConsumableArray(newState), [{
229
- key: String(random()),
230
- name: 'new',
231
- open: false,
232
- date: '1990-01-01',
233
- address2: "\u6253\u5F00\u5BF9\u8BDD\u68462".concat(newState.length + 2),
234
- age: 40 + newState.length,
235
- select: '111111',
236
- address: 'London Park'
237
- }]));
242
+ setState([].concat(_toConsumableArray(newState), _toConsumableArray(range(0, count).map(function (a, i) {
243
+ return {
244
+ key: String(random()),
245
+ name: 'new',
246
+ open: false,
247
+ date: '1990-01-01',
248
+ address2: "\u6253\u5F00\u5BF9\u8BDD\u68462".concat(newState.length + 2 + i),
249
+ age: newState[newState.length - 1].age + i + 1,
250
+ select: '111111',
251
+ address: 'London Park'
252
+ };
253
+ }))));
254
+ setTimeout(function () {
255
+ var _sheetInstance$curren2, _sheetInstance$curren3;
256
+ console.log('select', newState.length + count - 1);
257
+ (_sheetInstance$curren2 = sheetInstance.current) === null || _sheetInstance$curren2 === void 0 || _sheetInstance$curren2.selectRow(newState.length + count - 1);
258
+ console.log('zoomTO', newState.length + count - 1);
259
+ (_sheetInstance$curren3 = sheetInstance.current) === null || _sheetInstance$curren3 === void 0 || _sheetInstance$curren3.zoomTo(newState.length + count - 1);
260
+ }, 100);
238
261
  }, [state]);
239
262
  var handleOptionsAdd = useCallback(function () {
240
263
  setOptions([].concat(_toConsumableArray(options), [{
@@ -257,14 +280,17 @@ var App = function App() {
257
280
  }, [options]);
258
281
  return /*#__PURE__*/_jsx(Table, {
259
282
  freePaste: true,
283
+ draggable: true,
260
284
  sheetInstance: sheetInstance,
261
- columns: antColumns,
285
+ columns: columns,
262
286
  dataSource: state,
263
287
  scroll: {
264
288
  x: '100%'
265
289
  },
266
290
  onChange: handleChange,
267
291
  handleAdd: handleAdd,
292
+ showQuickLocationBtn: true,
293
+ handleBatchAdd: handleAdd,
268
294
  eventHandler: {
269
295
  reverse: function reverse(value) {
270
296
  // 处理 行列删除自定义事件
@@ -272,7 +298,7 @@ var App = function App() {
272
298
  type = _ref.type,
273
299
  rowInfo = _ref.rowInfo;
274
300
  if (type === 'Custom') {
275
- console.log('操作');
301
+ // console.log('操作');
276
302
  } else if (type === 'NewRow') {
277
303
  var newState = _toConsumableArray(state);
278
304
  newState.splice(rowInfo === null || rowInfo === void 0 ? void 0 : rowInfo.newRow, 1);
@@ -1,9 +1,9 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
7
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
8
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
9
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -12,7 +12,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
12
12
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
13
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
14
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
16
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
17
  import { Table } from "./..";
18
18
  import { Space, Tag } from 'antd';
@@ -31,20 +31,24 @@ var columns = [{
31
31
  return /*#__PURE__*/_jsx("a", {
32
32
  children: value
33
33
  });
34
- }
34
+ },
35
+ width: 100
35
36
  }, {
36
37
  title: 'Age',
37
38
  dataIndex: 'age',
38
- key: 'age'
39
+ key: 'age',
40
+ width: 100
39
41
  }, {
40
42
  title: 'Address',
41
43
  editable: false,
42
44
  dataIndex: 'address',
43
- key: 'address'
45
+ key: 'address',
46
+ width: 100
44
47
  }, {
45
48
  title: 'Tags',
46
49
  key: 'tags',
47
50
  dataIndex: 'tags',
51
+ width: 100,
48
52
  render: function render(_ref2) {
49
53
  var tags = _ref2.record.tags;
50
54
  return /*#__PURE__*/_jsx(_Fragment, {
@@ -112,9 +116,11 @@ var App = function App() {
112
116
  setData(newData);
113
117
  }, [dataSource]);
114
118
  return /*#__PURE__*/_jsx(Table, {
119
+ draggable: true,
115
120
  columns: columns,
116
121
  dataSource: dataSource,
117
- onChange: onChange
122
+ onChange: onChange,
123
+ showQuickLocationBtn: true
118
124
  });
119
125
  };
120
126
  export default App;
@@ -55,6 +55,7 @@ var data = [{
55
55
  }];
56
56
  var App = function App() {
57
57
  return /*#__PURE__*/_jsx(Table, {
58
+ draggable: true,
58
59
  columns: columns,
59
60
  dataSource: data,
60
61
  onChange: function onChange() {}
@@ -77,6 +77,7 @@ var data = [{
77
77
  }];
78
78
  var App = function App() {
79
79
  return /*#__PURE__*/_jsx(Table, {
80
+ draggable: true,
80
81
  columns: columns,
81
82
  dataSource: data,
82
83
  scroll: {
@@ -1,8 +1,12 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
1
5
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
6
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
7
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
8
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
9
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
11
  import { cloneDeep } from 'lodash';
8
12
  import { useCallback, useState } from 'react';
@@ -19,7 +23,7 @@ var columns = [{
19
23
  }, {
20
24
  title: 'Address',
21
25
  readonly: function readonly(value, record, index) {
22
- console.log(index);
26
+ // console.log(index);
23
27
  return index % 2 === 0;
24
28
  },
25
29
  dataIndex: 'address',
@@ -43,10 +47,12 @@ var data = [{
43
47
  address: 'New York No. 1 Lake Park',
44
48
  children: [{
45
49
  id: 11,
46
- key: '1-1'
50
+ key: '1-1',
51
+ parentId: 1
47
52
  }, {
48
53
  id: 12,
49
- key: '1-2'
54
+ key: '1-2',
55
+ parentId: 1
50
56
  }]
51
57
  }, {
52
58
  key: 2,
@@ -56,10 +62,12 @@ var data = [{
56
62
  address: 'London No. 1 Lake Park',
57
63
  children: [{
58
64
  id: 21,
59
- key: '2-1'
65
+ key: '2-1',
66
+ parentId: 2
60
67
  }, {
61
68
  id: 22,
62
- key: '2-2'
69
+ key: '2-2',
70
+ parentId: 2
63
71
  }]
64
72
  }, {
65
73
  key: 3,
@@ -75,10 +83,12 @@ var data = [{
75
83
  address: 'Sidney No. 1 Lake Park',
76
84
  children: [{
77
85
  id: 41,
78
- key: '4-1'
86
+ key: '4-1',
87
+ parentId: 4
79
88
  }, {
80
89
  id: 42,
81
- key: '4-2'
90
+ key: '4-2',
91
+ parentId: 4
82
92
  }]
83
93
  }];
84
94
  var App = function App() {
@@ -86,14 +96,27 @@ var App = function App() {
86
96
  _useState2 = _slicedToArray(_useState, 2),
87
97
  state = _useState2[0],
88
98
  setState = _useState2[1];
89
- var handleChange = useCallback(function (changes, extChange) {
90
- console.log(extChange);
99
+ var handleChange = useCallback(function (changes) {
100
+ // console.log(extChange);
91
101
  var newState = cloneDeep(state);
102
+ var flatNewState = newState.reduce(function (left, right) {
103
+ return [].concat(_toConsumableArray(left), [right], _toConsumableArray(right.children || []));
104
+ }, []);
92
105
  changes.forEach(function (change) {
93
- var row = change.row,
94
- key = change.key,
95
- value = change.value;
96
- newState[row][key] = value;
106
+ var key = change.key,
107
+ value = change.value,
108
+ id = change.id;
109
+ var changedItem = flatNewState.find(function (item) {
110
+ return item.id === id;
111
+ });
112
+ var parentIndex = newState.findIndex(function (item) {
113
+ return item.id === changedItem.parentId;
114
+ });
115
+ var childIndex = newState[parentIndex].children.findIndex(function (item) {
116
+ return item.id === id;
117
+ });
118
+ newState[parentIndex].children[childIndex][key] = value;
119
+ // newState[row][key] = value;
97
120
  });
98
121
  setState(newState);
99
122
  }, [state]);
@@ -116,7 +139,7 @@ var App = function App() {
116
139
  // rowExpandable: (record) => record.name !== 'Not Expandable',
117
140
  // }}
118
141
  ,
119
- dataSource: data,
142
+ dataSource: state,
120
143
  onChange: handleChange
121
144
  });
122
145
  };
@@ -1,9 +1,9 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
7
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
8
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
9
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -12,7 +12,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
12
12
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
13
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
14
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
16
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
17
  import { Table } from "./..";
18
18
  import 'antd/dist/antd.css';
@@ -72,6 +72,7 @@ var App = function App() {
72
72
  }, [dataSource]);
73
73
  var handleRowChange = useCallback(function () {}, []);
74
74
  return /*#__PURE__*/_jsx(Table, {
75
+ draggable: true,
75
76
  columns: columns,
76
77
  rowKey: "key",
77
78
  dataSource: dataSource,