@zhenliang/sheet 0.1.56 → 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/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
|
}
|
|
@@ -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