@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.
- package/dist/assets/arrow-mac-down.svg +19 -0
- package/dist/assets/arrow-mac-right.svg +17 -0
- package/dist/assets/arrow-windows-down.svg +17 -0
- package/dist/assets/arrow-windows-right.svg +17 -0
- package/dist/core/config.d.ts +3 -0
- package/dist/core/config.js +4 -1
- package/dist/core/editor/cascaderEditor/index.d.ts +1 -1
- package/dist/core/editor/cascaderEditor/index.js +10 -9
- package/dist/core/editor/cascaderEditor/index.less +15 -7
- package/dist/core/editor/dateEditor/index.js +29 -6
- package/dist/core/editor/dateEditor/index.less +9 -2
- package/dist/core/editor/numberEditor/index.d.ts +3 -1
- package/dist/core/editor/numberEditor/index.js +60 -25
- package/dist/core/editor/numberEditor/index.less +3 -2
- package/dist/core/editor/selectEditor/index.d.ts +1 -1
- package/dist/core/editor/selectEditor/index.js +31 -16
- package/dist/core/editor/selectEditor/index.less +16 -5
- package/dist/core/reducers/index.d.ts +2 -2
- package/dist/core/reducers/index.js +8 -1
- package/dist/core/reducers/keyboardReducer.js +39 -9
- package/dist/core/reducers/mouseReducer.js +115 -11
- package/dist/core/reducers/sideEffectReducer.d.ts +1 -1
- package/dist/core/reducers/sideEffectReducer.js +146 -41
- package/dist/core/reducers/stateReducer.d.ts +1 -0
- package/dist/core/reducers/stateReducer.js +96 -27
- package/dist/core/sheet/Cell.js +30 -21
- package/dist/core/sheet/Control.d.ts +21 -0
- package/dist/core/sheet/Control.js +83 -0
- package/dist/core/sheet/DataEditor.js +1 -1
- package/dist/core/sheet/DefaultCell.d.ts +8 -3
- package/dist/core/sheet/DefaultCell.js +11 -7
- package/dist/core/sheet/DefaultRow.js +1 -7
- package/dist/core/sheet/DefaultRowMapper.d.ts +3 -0
- package/dist/core/sheet/DefaultRowMapper.js +19 -3
- package/dist/core/sheet/Menu.d.ts +6 -0
- package/dist/core/sheet/Menu.js +21 -0
- package/dist/core/sheet/index.js +247 -86
- package/dist/core/sheet/index.less +199 -107
- package/dist/core/sheet/searchInput.d.ts +15 -0
- package/dist/core/sheet/searchInput.js +78 -0
- package/dist/core/sheet/useContextMenu.d.ts +1 -1
- package/dist/core/sheet/useContextMenu.js +12 -9
- package/dist/core/sheet/useKeyBoardEvent.js +19 -2
- package/dist/core/sheet/useMouseEvent.js +19 -12
- package/dist/core/sheet/useSearchInput.d.ts +11 -0
- package/dist/core/sheet/useSearchInput.js +65 -0
- package/dist/core/sheet/useSelectVisible.d.ts +1 -1
- package/dist/core/sheet/useSelectVisible.js +16 -6
- package/dist/core/sheet/useVirtualList.d.ts +10 -1
- package/dist/core/sheet/useVirtualList.js +44 -28
- package/dist/core/sheet/var.less +41 -34
- package/dist/core/shell/draggableShell/index.d.ts +3 -0
- package/dist/core/shell/draggableShell/index.js +130 -47
- package/dist/core/shell/tableShell.d.ts +3 -0
- package/dist/core/shell/tableShell.js +78 -30
- package/dist/core/table/addButton.d.ts +6 -0
- package/dist/core/table/addButton.js +103 -0
- package/dist/core/table/events.d.ts +0 -2
- package/dist/core/table/events.js +25 -31
- package/dist/core/table/index.js +94 -187
- package/dist/core/table/index.less +12 -0
- package/dist/core/table/useGroupConfig.d.ts +4 -1
- package/dist/core/table/useGroupConfig.js +138 -13
- package/dist/core/table/useRowSelection.d.ts +3 -0
- package/dist/core/table/useRowSelection.js +67 -1
- package/dist/core/util.d.ts +10 -4
- package/dist/core/util.js +121 -69
- package/dist/core/viewer/cascaderViewer/index.js +6 -1
- package/dist/core/viewer/groupViewer/index.js +24 -8
- package/dist/core/viewer/selectorViewer/index.js +7 -3
- package/dist/core/viewer/switchViewer/index.js +8 -2
- package/dist/example/antComponent.js +61 -35
- package/dist/example/basic.js +16 -10
- package/dist/example/ellipsis.js +1 -0
- package/dist/example/fixed.js +1 -0
- package/dist/example/group.js +38 -15
- package/dist/example/selection.js +7 -6
- package/dist/example/sheet.js +18 -19
- package/dist/example/valuationAnalyze.d.ts +1 -0
- package/dist/example/valuationAnalyze.js +1 -2
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useEventBus.d.ts +1 -0
- package/dist/hooks/useEventBus.js +1 -1
- package/dist/hooks/useGroupConfig.d.ts +4 -0
- package/dist/hooks/useGroupConfig.js +5 -0
- package/dist/hooks/useKeyboard.d.ts +5 -2
- package/dist/hooks/useKeyboard.js +16 -2
- package/dist/hooks/useMiddlewareReducer.d.ts +5 -5
- package/dist/hooks/useMiddlewareReducer.js +2 -2
- package/dist/hooks/useMouse.d.ts +1 -1
- package/dist/hooks/useMouse.js +6 -6
- package/dist/hooks/useSetState.js +6 -6
- package/dist/hooks/useWidthConfig.d.ts +3 -3
- package/dist/standardUtils/index.d.ts +1 -1
- package/dist/standardUtils/index.js +1 -1
- package/dist/type/sheet.d.ts +76 -31
- package/dist/type/sheetTable.d.ts +21 -12
- 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
|
-
|
|
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
|
|
7
|
-
|
|
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 (
|
|
13
|
-
eventBus.emit('group-open-title', !
|
|
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:
|
|
28
|
+
open: !isOpen
|
|
18
29
|
});
|
|
19
30
|
}
|
|
20
|
-
}, [eventBus, row,
|
|
21
|
-
if (
|
|
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: !
|
|
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 (
|
|
8
|
-
|
|
9
|
-
|
|
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(
|
|
2
|
-
function ownKeys(
|
|
3
|
-
function _objectSpread(
|
|
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(
|
|
6
|
-
function _toPrimitive(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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:
|
|
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);
|
package/dist/example/basic.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function _typeof(
|
|
2
|
-
function ownKeys(
|
|
3
|
-
function _objectSpread(
|
|
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(
|
|
6
|
-
function _toPrimitive(
|
|
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(
|
|
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;
|
package/dist/example/ellipsis.js
CHANGED
package/dist/example/fixed.js
CHANGED
package/dist/example/group.js
CHANGED
|
@@ -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(
|
|
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
|
|
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
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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:
|
|
142
|
+
dataSource: state,
|
|
120
143
|
onChange: handleChange
|
|
121
144
|
});
|
|
122
145
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function _typeof(
|
|
2
|
-
function ownKeys(
|
|
3
|
-
function _objectSpread(
|
|
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(
|
|
6
|
-
function _toPrimitive(
|
|
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(
|
|
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,
|