@zhenliang/sheet 0.1.55 → 0.1.57-beta.0
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/core/editor/numberEditor/index.js +2 -1
- package/dist/core/reducers/sideEffectReducer.js +65 -3
- package/dist/core/reducers/stateReducer.js +9 -16
- package/dist/core/sheet/useKeyBoardEvent.js +4 -0
- package/dist/hooks/useKeyboard.d.ts +1 -0
- package/dist/hooks/useKeyboard.js +6 -2
- package/dist/type/sheet.d.ts +1 -0
- package/package.json +1 -1
|
@@ -357,8 +357,11 @@ export var sideEffectReducer = {
|
|
|
357
357
|
start = _getState10.start,
|
|
358
358
|
end = _getState10.end,
|
|
359
359
|
history = _getState10.history,
|
|
360
|
+
_getState10$recoverHi = _getState10.recoverHisotry,
|
|
361
|
+
recoverHisotry = _getState10$recoverHi === void 0 ? [] : _getState10$recoverHi,
|
|
360
362
|
cellChangeHandler = _getState10.cellChangeHandler,
|
|
361
|
-
eventBus = _getState10.eventBus
|
|
363
|
+
eventBus = _getState10.eventBus,
|
|
364
|
+
data = _getState10.data;
|
|
362
365
|
if (!(history !== null && history !== void 0 && history.length)) return;
|
|
363
366
|
var changeHistory = _toConsumableArray(history);
|
|
364
367
|
var change = changeHistory.pop();
|
|
@@ -368,12 +371,70 @@ export var sideEffectReducer = {
|
|
|
368
371
|
dispatch({
|
|
369
372
|
type: 'changes',
|
|
370
373
|
payload: {
|
|
371
|
-
history: changeHistory
|
|
374
|
+
history: changeHistory,
|
|
375
|
+
recoverHisotry: [].concat(_toConsumableArray(recoverHisotry), [change])
|
|
372
376
|
}
|
|
373
377
|
});
|
|
374
378
|
return;
|
|
375
379
|
}
|
|
376
380
|
cellChangeHandler && cellChangeHandler(change.changes);
|
|
381
|
+
var recoverChange = _objectSpread(_objectSpread({}, change), {}, {
|
|
382
|
+
changes: change.changes.map(function (item) {
|
|
383
|
+
var _item$row, _item$col;
|
|
384
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
385
|
+
value: data[(_item$row = item.row) !== null && _item$row !== void 0 ? _item$row : 0][(_item$col = item.col) !== null && _item$col !== void 0 ? _item$col : -1].value
|
|
386
|
+
});
|
|
387
|
+
})
|
|
388
|
+
});
|
|
389
|
+
dispatch({
|
|
390
|
+
type: 'changes',
|
|
391
|
+
payload: {
|
|
392
|
+
start: pick(head(change.changes), ['row', 'col']),
|
|
393
|
+
end: pick(last(change.changes), ['row', 'col']),
|
|
394
|
+
lastSelected: {
|
|
395
|
+
start: start,
|
|
396
|
+
end: end
|
|
397
|
+
},
|
|
398
|
+
history: changeHistory,
|
|
399
|
+
recoverHisotry: [].concat(_toConsumableArray(recoverHisotry), [recoverChange])
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
},
|
|
403
|
+
recover: function recover(dispatch, getState) {
|
|
404
|
+
var _getState11 = getState(),
|
|
405
|
+
eventBus = _getState11.eventBus,
|
|
406
|
+
_getState11$recoverHi = _getState11.recoverHisotry,
|
|
407
|
+
recoverHisotry = _getState11$recoverHi === void 0 ? [] : _getState11$recoverHi,
|
|
408
|
+
_getState11$history = _getState11.history,
|
|
409
|
+
history = _getState11$history === void 0 ? [] : _getState11$history,
|
|
410
|
+
cellChangeHandler = _getState11.cellChangeHandler,
|
|
411
|
+
start = _getState11.start,
|
|
412
|
+
end = _getState11.end,
|
|
413
|
+
data = _getState11.data;
|
|
414
|
+
if (!(recoverHisotry !== null && recoverHisotry !== void 0 && recoverHisotry.length)) return;
|
|
415
|
+
var changeHistory = _toConsumableArray(recoverHisotry);
|
|
416
|
+
var change = changeHistory.pop();
|
|
417
|
+
var type = change.type;
|
|
418
|
+
if (!['Edit', 'Paste', 'Delete'].includes(type)) {
|
|
419
|
+
eventBus.emit('recover', change);
|
|
420
|
+
dispatch({
|
|
421
|
+
type: 'changes',
|
|
422
|
+
payload: {
|
|
423
|
+
recoverHisotry: changeHistory,
|
|
424
|
+
history: [].concat(_toConsumableArray(history), [change])
|
|
425
|
+
}
|
|
426
|
+
});
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
var reverseChange = _objectSpread(_objectSpread({}, change), {}, {
|
|
430
|
+
changes: change.changes.map(function (item) {
|
|
431
|
+
var _item$row2, _item$col2;
|
|
432
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
433
|
+
value: data[(_item$row2 = item.row) !== null && _item$row2 !== void 0 ? _item$row2 : 0][(_item$col2 = item.col) !== null && _item$col2 !== void 0 ? _item$col2 : -1].value
|
|
434
|
+
});
|
|
435
|
+
})
|
|
436
|
+
});
|
|
437
|
+
cellChangeHandler && cellChangeHandler(change.changes);
|
|
377
438
|
dispatch({
|
|
378
439
|
type: 'changes',
|
|
379
440
|
payload: {
|
|
@@ -383,7 +444,8 @@ export var sideEffectReducer = {
|
|
|
383
444
|
start: start,
|
|
384
445
|
end: end
|
|
385
446
|
},
|
|
386
|
-
history:
|
|
447
|
+
history: [].concat(_toConsumableArray(history), [reverseChange]),
|
|
448
|
+
recoverHisotry: changeHistory
|
|
387
449
|
}
|
|
388
450
|
});
|
|
389
451
|
}
|
|
@@ -10,7 +10,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
10
10
|
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; }
|
|
11
11
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
12
12
|
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); }
|
|
13
|
-
import {
|
|
13
|
+
import { stripRowIndex } from "../util";
|
|
14
14
|
export var searchReducer = {
|
|
15
15
|
changeSearch: function changeSearch(state, payload) {
|
|
16
16
|
var data = state.data;
|
|
@@ -177,27 +177,20 @@ export var stateReducer = _objectSpread({
|
|
|
177
177
|
});
|
|
178
178
|
},
|
|
179
179
|
selectOneRow: function selectOneRow(state, payload) {
|
|
180
|
-
var _state$data4
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
return item.fixed === SheetType.CellAlign.right;
|
|
187
|
-
});
|
|
188
|
-
if (lastFixed) {
|
|
189
|
-
var _state$data$0$indexOf, _state$data7;
|
|
190
|
-
endCol = ((_state$data$0$indexOf = (_state$data7 = state.data) === null || _state$data7 === void 0 ? void 0 : _state$data7[0].indexOf(lastFixed)) !== null && _state$data$0$indexOf !== void 0 ? _state$data$0$indexOf : 0) - 1;
|
|
191
|
-
}
|
|
192
|
-
if (startCol >= 0 && endCol >= 0) {
|
|
180
|
+
var _state$data4 = state.data,
|
|
181
|
+
data = _state$data4 === void 0 ? [] : _state$data4;
|
|
182
|
+
var _stripRowIndex = stripRowIndex(data),
|
|
183
|
+
startIndex = _stripRowIndex.startIndex,
|
|
184
|
+
endIndex = _stripRowIndex.endIndex;
|
|
185
|
+
if (startIndex >= 0 && endIndex >= 0) {
|
|
193
186
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
194
187
|
start: {
|
|
195
188
|
row: payload,
|
|
196
|
-
col:
|
|
189
|
+
col: startIndex
|
|
197
190
|
},
|
|
198
191
|
end: {
|
|
199
192
|
row: payload,
|
|
200
|
-
col:
|
|
193
|
+
col: endIndex
|
|
201
194
|
},
|
|
202
195
|
lastSelected: {
|
|
203
196
|
start: state.start,
|
|
@@ -35,6 +35,10 @@ export var useKeyBoardEvent = function useKeyBoardEvent(dispatch, elementRef) {
|
|
|
35
35
|
reverse: function reverse() {
|
|
36
36
|
dispatch(sideEffectReducer.reverse);
|
|
37
37
|
},
|
|
38
|
+
recover: function recover(e) {
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
dispatch(sideEffectReducer.recover);
|
|
41
|
+
},
|
|
38
42
|
delete: function _delete() {
|
|
39
43
|
dispatch(sideEffectReducer.delete);
|
|
40
44
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect } from 'react';
|
|
2
|
-
import { A_KEY, BACKSPACE_KEY, C_KEY, DELETE_KEY, DOWN_KEY, ENTER_KEY, ESCAPE_KEY, F_KEY, LEFT_KEY, RIGHT_KEY, TAB_KEY, UP_KEY, V_KEY, X_KEY, Z_KEY } from "../core/config";
|
|
2
|
+
import { A_KEY, BACKSPACE_KEY, C_KEY, DELETE_KEY, DOWN_KEY, ENTER_KEY, ESCAPE_KEY, F_KEY, LEFT_KEY, RIGHT_KEY, TAB_KEY, UP_KEY, V_KEY, X_KEY, Y_KEY, Z_KEY } from "../core/config";
|
|
3
3
|
import { isInputKey } from "../core/util";
|
|
4
4
|
var ua = window.navigator.userAgent;
|
|
5
5
|
var isIE = /MSIE|Trident/.test(ua);
|
|
@@ -56,11 +56,15 @@ export var useKeyBoard = function useKeyBoard(handler, listenElement) {
|
|
|
56
56
|
handler.search(e);
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
-
var isReverse = ctrlKeyPressed && keyCode === Z_KEY;
|
|
59
|
+
var isReverse = ctrlKeyPressed && keyCode === Z_KEY && !shiftKey;
|
|
60
60
|
if (isReverse) {
|
|
61
61
|
handler.reverse(e);
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
|
+
var isRecover = ctrlKeyPressed && (keyCode === Z_KEY && shiftKey || keyCode === Y_KEY);
|
|
65
|
+
if (isRecover) {
|
|
66
|
+
handler.recover(e);
|
|
67
|
+
}
|
|
64
68
|
var isSelectAll = ctrlKeyPressed && keyCode === A_KEY;
|
|
65
69
|
if (isSelectAll) {
|
|
66
70
|
handler.selectAll(e);
|
package/dist/type/sheet.d.ts
CHANGED