@gridsheet/react-core 0.12.2 → 0.12.4-rc.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/README.md +1 -1
- package/dist/components/Cell.js +197 -181
- package/dist/components/Cell.js.map +1 -1
- package/dist/components/ContextMenu.js +211 -194
- package/dist/components/ContextMenu.js.map +1 -1
- package/dist/components/Editor.js +280 -263
- package/dist/components/Editor.js.map +1 -1
- package/dist/components/Emitter.js +41 -24
- package/dist/components/Emitter.js.map +1 -1
- package/dist/components/GridSheet.d.ts.map +1 -1
- package/dist/components/GridSheet.js +142 -105
- package/dist/components/GridSheet.js.map +1 -1
- package/dist/components/HeaderLeftCell.js +76 -60
- package/dist/components/HeaderLeftCell.js.map +1 -1
- package/dist/components/HeaderTopCell.js +77 -61
- package/dist/components/HeaderTopCell.js.map +1 -1
- package/dist/components/Resizer.js +91 -75
- package/dist/components/Resizer.js.map +1 -1
- package/dist/components/SearchBox.js +66 -49
- package/dist/components/SearchBox.js.map +1 -1
- package/dist/components/StoreInitializer.js +83 -66
- package/dist/components/StoreInitializer.js.map +1 -1
- package/dist/components/Tabular.d.ts.map +1 -1
- package/dist/components/Tabular.js +98 -80
- package/dist/components/Tabular.js.map +1 -1
- package/dist/constants.js +33 -19
- package/dist/constants.js.map +1 -1
- package/dist/formula/evaluator.js +500 -474
- package/dist/formula/evaluator.js.map +1 -1
- package/dist/formula/functions/__base.js +27 -13
- package/dist/formula/functions/__base.js.map +1 -1
- package/dist/formula/functions/__utils.js +113 -95
- package/dist/formula/functions/__utils.js.map +1 -1
- package/dist/formula/functions/abs.js +31 -17
- package/dist/formula/functions/abs.js.map +1 -1
- package/dist/formula/functions/abs.spec.js +35 -23
- package/dist/formula/functions/abs.spec.js.map +1 -1
- package/dist/formula/functions/acos.js +38 -24
- package/dist/formula/functions/acos.js.map +1 -1
- package/dist/formula/functions/add.js +57 -43
- package/dist/formula/functions/add.js.map +1 -1
- package/dist/formula/functions/and.js +38 -24
- package/dist/formula/functions/and.js.map +1 -1
- package/dist/formula/functions/asin.js +38 -24
- package/dist/formula/functions/asin.js.map +1 -1
- package/dist/formula/functions/atan.js +36 -22
- package/dist/formula/functions/atan.js.map +1 -1
- package/dist/formula/functions/atan2.js +42 -28
- package/dist/formula/functions/atan2.js.map +1 -1
- package/dist/formula/functions/average.js +50 -36
- package/dist/formula/functions/average.js.map +1 -1
- package/dist/formula/functions/col.js +38 -24
- package/dist/formula/functions/col.js.map +1 -1
- package/dist/formula/functions/concat.js +37 -23
- package/dist/formula/functions/concat.js.map +1 -1
- package/dist/formula/functions/concatenate.js +35 -21
- package/dist/formula/functions/concatenate.js.map +1 -1
- package/dist/formula/functions/cos.js +36 -22
- package/dist/formula/functions/cos.js.map +1 -1
- package/dist/formula/functions/count.js +45 -31
- package/dist/formula/functions/count.js.map +1 -1
- package/dist/formula/functions/counta.js +45 -31
- package/dist/formula/functions/counta.js.map +1 -1
- package/dist/formula/functions/countif.js +40 -26
- package/dist/formula/functions/countif.js.map +1 -1
- package/dist/formula/functions/divide.js +42 -28
- package/dist/formula/functions/divide.js.map +1 -1
- package/dist/formula/functions/eq.js +35 -21
- package/dist/formula/functions/eq.js.map +1 -1
- package/dist/formula/functions/exp.js +38 -24
- package/dist/formula/functions/exp.js.map +1 -1
- package/dist/formula/functions/gt.js +37 -23
- package/dist/formula/functions/gt.js.map +1 -1
- package/dist/formula/functions/gte.js +37 -23
- package/dist/formula/functions/gte.js.map +1 -1
- package/dist/formula/functions/hlookup.js +77 -63
- package/dist/formula/functions/hlookup.js.map +1 -1
- package/dist/formula/functions/if.js +46 -32
- package/dist/formula/functions/if.js.map +1 -1
- package/dist/formula/functions/iferror.js +48 -34
- package/dist/formula/functions/iferror.js.map +1 -1
- package/dist/formula/functions/iferror.spec.js +63 -51
- package/dist/formula/functions/iferror.spec.js.map +1 -1
- package/dist/formula/functions/len.js +36 -22
- package/dist/formula/functions/len.js.map +1 -1
- package/dist/formula/functions/lenb.js +36 -22
- package/dist/formula/functions/lenb.js.map +1 -1
- package/dist/formula/functions/ln.js +38 -24
- package/dist/formula/functions/ln.js.map +1 -1
- package/dist/formula/functions/log.js +43 -29
- package/dist/formula/functions/log.js.map +1 -1
- package/dist/formula/functions/log10.js +38 -24
- package/dist/formula/functions/log10.js.map +1 -1
- package/dist/formula/functions/lt.js +37 -23
- package/dist/formula/functions/lt.js.map +1 -1
- package/dist/formula/functions/lte.js +37 -23
- package/dist/formula/functions/lte.js.map +1 -1
- package/dist/formula/functions/max.js +52 -38
- package/dist/formula/functions/max.js.map +1 -1
- package/dist/formula/functions/min.js +52 -38
- package/dist/formula/functions/min.js.map +1 -1
- package/dist/formula/functions/minus.js +57 -43
- package/dist/formula/functions/minus.js.map +1 -1
- package/dist/formula/functions/mod.js +40 -26
- package/dist/formula/functions/mod.js.map +1 -1
- package/dist/formula/functions/mod.spec.js +58 -46
- package/dist/formula/functions/mod.spec.js.map +1 -1
- package/dist/formula/functions/multiply.js +37 -23
- package/dist/formula/functions/multiply.js.map +1 -1
- package/dist/formula/functions/ne.js +35 -21
- package/dist/formula/functions/ne.js.map +1 -1
- package/dist/formula/functions/not.js +40 -26
- package/dist/formula/functions/not.js.map +1 -1
- package/dist/formula/functions/now.js +31 -17
- package/dist/formula/functions/now.js.map +1 -1
- package/dist/formula/functions/or.js +38 -24
- package/dist/formula/functions/or.js.map +1 -1
- package/dist/formula/functions/pi.js +29 -15
- package/dist/formula/functions/pi.js.map +1 -1
- package/dist/formula/functions/power.js +34 -20
- package/dist/formula/functions/power.js.map +1 -1
- package/dist/formula/functions/product.js +47 -33
- package/dist/formula/functions/product.js.map +1 -1
- package/dist/formula/functions/radians.js +36 -22
- package/dist/formula/functions/radians.js.map +1 -1
- package/dist/formula/functions/rand.js +29 -15
- package/dist/formula/functions/rand.js.map +1 -1
- package/dist/formula/functions/round.js +44 -30
- package/dist/formula/functions/round.js.map +1 -1
- package/dist/formula/functions/rounddown.js +44 -30
- package/dist/formula/functions/rounddown.js.map +1 -1
- package/dist/formula/functions/roundup.js +44 -30
- package/dist/formula/functions/roundup.js.map +1 -1
- package/dist/formula/functions/row.js +38 -24
- package/dist/formula/functions/row.js.map +1 -1
- package/dist/formula/functions/sin.js +36 -22
- package/dist/formula/functions/sin.js.map +1 -1
- package/dist/formula/functions/sqrt.js +38 -24
- package/dist/formula/functions/sqrt.js.map +1 -1
- package/dist/formula/functions/sum.js +52 -38
- package/dist/formula/functions/sum.js.map +1 -1
- package/dist/formula/functions/sum.spec.js +45 -33
- package/dist/formula/functions/sum.spec.js.map +1 -1
- package/dist/formula/functions/sumif.js +66 -52
- package/dist/formula/functions/sumif.js.map +1 -1
- package/dist/formula/functions/tan.js +36 -22
- package/dist/formula/functions/tan.js.map +1 -1
- package/dist/formula/functions/uminus.js +33 -19
- package/dist/formula/functions/uminus.js.map +1 -1
- package/dist/formula/functions/vlookup.js +77 -63
- package/dist/formula/functions/vlookup.js.map +1 -1
- package/dist/formula/mapping.js +126 -113
- package/dist/formula/mapping.js.map +1 -1
- package/dist/formula/solver.js +71 -56
- package/dist/formula/solver.js.map +1 -1
- package/dist/index.js +41 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/autofill.js +344 -330
- package/dist/lib/autofill.js.map +1 -1
- package/dist/lib/clipboard.js +55 -41
- package/dist/lib/clipboard.js.map +1 -1
- package/dist/lib/converters.js +140 -119
- package/dist/lib/converters.js.map +1 -1
- package/dist/lib/structs.js +266 -228
- package/dist/lib/structs.js.map +1 -1
- package/dist/lib/table.js +915 -900
- package/dist/lib/table.js.map +1 -1
- package/dist/lib/time.js +69 -55
- package/dist/lib/time.js.map +1 -1
- package/dist/lib/virtualization.js +121 -104
- package/dist/lib/virtualization.js.map +1 -1
- package/dist/parsers/core.js +119 -105
- package/dist/parsers/core.js.map +1 -1
- package/dist/renderers/checkbox.js +24 -8
- package/dist/renderers/checkbox.js.map +1 -1
- package/dist/renderers/core.js +139 -125
- package/dist/renderers/core.js.map +1 -1
- package/dist/renderers/thousand_separator.js +25 -12
- package/dist/renderers/thousand_separator.js.map +1 -1
- package/dist/store/actions.js +495 -480
- package/dist/store/actions.js.map +1 -1
- package/dist/store/helpers.js +88 -72
- package/dist/store/helpers.js.map +1 -1
- package/dist/store/index.js +38 -2
- package/dist/store/index.js.map +1 -1
- package/dist/styles/embedder.js +27 -13
- package/dist/styles/embedder.js.map +1 -1
- package/dist/styles/minified.d.ts +2 -2
- package/dist/styles/minified.d.ts.map +1 -1
- package/dist/styles/minified.js +16 -3
- package/dist/styles/minified.js.map +1 -1
- package/dist/types.js +12 -1
- package/dist/utils.js +19 -5
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/store/actions.js
CHANGED
|
@@ -1,519 +1,534 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
class
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports", "../lib/structs", "../lib/converters", "../constants", "./helpers", "../lib/virtualization"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.walk = exports.arrow = exports.redo = exports.undo = exports.clear = exports.write = exports.search = exports.drag = exports.selectCols = exports.selectRows = exports.select = exports.choose = exports.escape = exports.paste = exports.cut = exports.copy = exports.blur = exports.setResizingRect = exports.setEditorRect = exports.updateTable = exports.initializeTable = exports.setSheetWidth = exports.setSheetHeight = exports.setHeaderWidth = exports.setHeaderHeight = exports.setEntering = exports.setOnSave = exports.setResizingPositionX = exports.setResizingPositionY = exports.setContextMenuPosition = exports.setShowAddress = exports.setAutofillDraggingTo = exports.setEditingOnEnter = exports.setEditingCell = exports.setSearchQuery = exports.CoreAction = exports.reducer = void 0;
|
|
13
|
+
const structs_1 = require("../lib/structs");
|
|
14
|
+
const converters_1 = require("../lib/converters");
|
|
15
|
+
const constants_1 = require("../constants");
|
|
16
|
+
const helpers_1 = require("./helpers");
|
|
17
|
+
const virtualization_1 = require("../lib/virtualization");
|
|
18
|
+
const actions = {};
|
|
19
|
+
const reducer = (store, action) => {
|
|
20
|
+
const act = actions[action.type];
|
|
21
|
+
if (act == null) {
|
|
22
|
+
return store;
|
|
23
|
+
}
|
|
24
|
+
return Object.assign(Object.assign({}, store), act.reduce(store, action.value));
|
|
25
|
+
};
|
|
26
|
+
exports.reducer = reducer;
|
|
27
|
+
class CoreAction {
|
|
28
|
+
constructor() {
|
|
29
|
+
this.actionId = 1;
|
|
30
|
+
}
|
|
31
|
+
reduce(store, payload) {
|
|
32
|
+
return store;
|
|
33
|
+
}
|
|
34
|
+
call(payload) {
|
|
35
|
+
return {
|
|
36
|
+
type: this.actionId,
|
|
37
|
+
value: payload,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
bind() {
|
|
41
|
+
this.actionId = CoreAction.head++;
|
|
42
|
+
actions[this.actionId] = this;
|
|
43
|
+
return this.call.bind(this);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.CoreAction = CoreAction;
|
|
47
|
+
CoreAction.head = 1;
|
|
48
|
+
class SetSearchQueryAction extends CoreAction {
|
|
49
|
+
reduce(store, payload) {
|
|
50
|
+
const searchQuery = payload;
|
|
51
|
+
const { table } = store;
|
|
52
|
+
return Object.assign(Object.assign(Object.assign({}, store), (0, helpers_1.initSearchStatement)(table, Object.assign(Object.assign({}, store), { searchQuery }))), { searchQuery });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.setSearchQuery = new SetSearchQueryAction().bind();
|
|
56
|
+
class SetEditingCellAction extends CoreAction {
|
|
57
|
+
reduce(store, payload) {
|
|
58
|
+
return Object.assign(Object.assign({}, store), { editingCell: payload });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.setEditingCell = new SetEditingCellAction().bind();
|
|
62
|
+
class SetEditingOnEnterAction extends CoreAction {
|
|
63
|
+
reduce(store, payload) {
|
|
64
|
+
return Object.assign(Object.assign({}, store), { editingOnEnter: payload });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.setEditingOnEnter = new SetEditingOnEnterAction().bind();
|
|
68
|
+
class SetAutofillDraggingToAction extends CoreAction {
|
|
69
|
+
reduce(store, payload) {
|
|
70
|
+
return Object.assign(Object.assign({}, store), { autofillDraggingTo: payload });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.setAutofillDraggingTo = new SetAutofillDraggingToAction().bind();
|
|
74
|
+
class SetShowAddressAction extends CoreAction {
|
|
75
|
+
reduce(store, payload) {
|
|
76
|
+
return Object.assign(Object.assign({}, store), { showAddress: payload });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.setShowAddress = new SetShowAddressAction().bind();
|
|
80
|
+
class SetContextMenuPositionAction extends CoreAction {
|
|
81
|
+
reduce(store, payload) {
|
|
82
|
+
return Object.assign(Object.assign({}, store), { contextMenuPosition: payload });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.setContextMenuPosition = new SetContextMenuPositionAction().bind();
|
|
86
|
+
class SetResizingPositionYAction extends CoreAction {
|
|
87
|
+
reduce(store, payload) {
|
|
88
|
+
return Object.assign(Object.assign({}, store), { resizingPositionY: payload });
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.setResizingPositionY = new SetResizingPositionYAction().bind();
|
|
92
|
+
class SetResizingPositionXAction extends CoreAction {
|
|
93
|
+
reduce(store, payload) {
|
|
94
|
+
return Object.assign(Object.assign({}, store), { resizingPositionX: payload });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.setResizingPositionX = new SetResizingPositionXAction().bind();
|
|
98
|
+
class SetOnSaveAction extends CoreAction {
|
|
99
|
+
reduce(store, payload) {
|
|
100
|
+
return Object.assign(Object.assign({}, store), { onSave: payload });
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.setOnSave = new SetOnSaveAction().bind();
|
|
104
|
+
class SetEnteringAction extends CoreAction {
|
|
105
|
+
reduce(store, payload) {
|
|
106
|
+
return Object.assign(Object.assign({}, store), { entering: payload });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.setEntering = new SetEnteringAction().bind();
|
|
110
|
+
class SetHeaderHeightAction extends CoreAction {
|
|
111
|
+
reduce(store, payload) {
|
|
112
|
+
return Object.assign(Object.assign({}, store), { headerHeight: payload });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.setHeaderHeight = new SetHeaderHeightAction().bind();
|
|
116
|
+
class SetHeaderWidthAction extends CoreAction {
|
|
117
|
+
reduce(store, payload) {
|
|
118
|
+
return Object.assign(Object.assign({}, store), { headerWidth: payload });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.setHeaderWidth = new SetHeaderWidthAction().bind();
|
|
122
|
+
class SetSheetHeightAction extends CoreAction {
|
|
123
|
+
reduce(store, payload) {
|
|
124
|
+
return Object.assign(Object.assign({}, store), { sheetHeight: payload });
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.setSheetHeight = new SetSheetHeightAction().bind();
|
|
128
|
+
class SetSheetWidthAction extends CoreAction {
|
|
129
|
+
reduce(store, payload) {
|
|
130
|
+
return Object.assign(Object.assign({}, store), { sheetWidth: payload });
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.setSheetWidth = new SetSheetWidthAction().bind();
|
|
134
|
+
class InitializeTableAction extends CoreAction {
|
|
135
|
+
reduce(store, payload) {
|
|
136
|
+
return Object.assign(Object.assign({}, store), { table: payload, tableInitialized: true });
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.initializeTable = new InitializeTableAction().bind();
|
|
140
|
+
class UpdateTableAction extends CoreAction {
|
|
141
|
+
reduce(store, payload) {
|
|
142
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, store), { table: payload }), (0, helpers_1.initSearchStatement)(payload, store)), (0, helpers_1.restrictPoints)(store, payload));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.updateTable = new UpdateTableAction().bind();
|
|
146
|
+
class SetEditorRectAction extends CoreAction {
|
|
147
|
+
reduce(store, payload) {
|
|
148
|
+
return Object.assign(Object.assign({}, store), { editorRect: payload });
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.setEditorRect = new SetEditorRectAction().bind();
|
|
152
|
+
class SetResizingRectAction extends CoreAction {
|
|
153
|
+
reduce(store, payload) {
|
|
154
|
+
return Object.assign(Object.assign({}, store), { resizingRect: payload });
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
exports.setResizingRect = new SetResizingRectAction().bind();
|
|
158
|
+
class BlurAction extends CoreAction {
|
|
159
|
+
reduce(store, payload) {
|
|
160
|
+
return Object.assign(Object.assign({}, store), { editingCell: "" });
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.blur = new BlurAction().bind();
|
|
164
|
+
class CopyAction extends CoreAction {
|
|
165
|
+
reduce(store, payload) {
|
|
166
|
+
return Object.assign(Object.assign({}, store), { copyingZone: payload, cutting: false });
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.copy = new CopyAction().bind();
|
|
170
|
+
class CutAction extends CoreAction {
|
|
171
|
+
reduce(store, payload) {
|
|
172
|
+
return Object.assign(Object.assign({}, store), { copyingZone: payload, cutting: true });
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
exports.cut = new CutAction().bind();
|
|
176
|
+
class PasteAction extends CoreAction {
|
|
177
|
+
reduce(store, payload) {
|
|
178
|
+
const { choosing, copyingZone, selectingZone, cutting, table } = store;
|
|
179
|
+
let selectingArea = (0, structs_1.zoneToArea)(selectingZone);
|
|
180
|
+
const copyingArea = (0, structs_1.zoneToArea)(copyingZone);
|
|
181
|
+
if (cutting) {
|
|
182
|
+
const src = copyingArea;
|
|
183
|
+
const { height: h, width: w } = (0, structs_1.areaShape)(copyingArea);
|
|
184
|
+
const dst = selectingArea.top !== -1
|
|
185
|
+
? {
|
|
186
|
+
top: selectingArea.top,
|
|
187
|
+
left: selectingArea.left,
|
|
188
|
+
bottom: selectingArea.top + h,
|
|
189
|
+
right: selectingArea.left + w,
|
|
190
|
+
}
|
|
191
|
+
: {
|
|
192
|
+
top: choosing.y,
|
|
193
|
+
left: choosing.x,
|
|
194
|
+
bottom: choosing.y + h,
|
|
195
|
+
right: choosing.x + w,
|
|
196
|
+
};
|
|
197
|
+
const newTable = table.move({
|
|
198
|
+
src,
|
|
199
|
+
dst,
|
|
200
|
+
reflection: {
|
|
201
|
+
selectingZone: (0, structs_1.areaToZone)(dst),
|
|
202
|
+
copyingZone,
|
|
203
|
+
cutting,
|
|
204
|
+
},
|
|
205
|
+
});
|
|
206
|
+
return Object.assign(Object.assign(Object.assign({}, store), (0, helpers_1.initSearchStatement)(newTable, store)), { cutting: false, table: newTable, selectingZone: (0, structs_1.areaToZone)(dst), copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 } });
|
|
207
|
+
}
|
|
208
|
+
let newTable;
|
|
209
|
+
let { y, x } = choosing;
|
|
210
|
+
const { text } = payload;
|
|
211
|
+
if (copyingArea.top === -1) {
|
|
212
|
+
const matrixFrom = (0, converters_1.tsv2matrix)(text);
|
|
213
|
+
let { height, width } = (0, structs_1.matrixShape)({ matrix: matrixFrom, base: -1 });
|
|
214
|
+
selectingArea = {
|
|
215
|
+
top: y,
|
|
216
|
+
left: x,
|
|
217
|
+
bottom: y + height,
|
|
218
|
+
right: x + width,
|
|
182
219
|
};
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
220
|
+
newTable = table.writeMatrix({
|
|
221
|
+
point: { y, x },
|
|
222
|
+
matrix: matrixFrom,
|
|
223
|
+
reflection: {
|
|
224
|
+
selectingZone: (0, structs_1.areaToZone)(selectingArea),
|
|
225
|
+
},
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
let { height, width } = (0, structs_1.areaShape)(copyingArea);
|
|
230
|
+
if (selectingArea.top !== -1) {
|
|
231
|
+
y = selectingArea.top;
|
|
232
|
+
x = selectingArea.left;
|
|
233
|
+
const superposed = (0, structs_1.superposeArea)(selectingArea, copyingArea);
|
|
234
|
+
height = superposed.height;
|
|
235
|
+
width = superposed.width;
|
|
236
|
+
}
|
|
237
|
+
selectingArea = { top: y, left: x, bottom: y + height, right: x + width };
|
|
238
|
+
newTable = table.copy({
|
|
239
|
+
src: copyingArea,
|
|
240
|
+
dst: selectingArea,
|
|
241
|
+
reflection: {
|
|
242
|
+
copyingZone,
|
|
243
|
+
selectingZone,
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
return Object.assign(Object.assign(Object.assign({}, store), { table: newTable, selectingZone: (0, structs_1.areaToZone)(selectingArea), copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 } }), (0, helpers_1.initSearchStatement)(newTable, store));
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
exports.paste = new PasteAction().bind();
|
|
251
|
+
class EscapeAction extends CoreAction {
|
|
252
|
+
reduce(store, payload) {
|
|
253
|
+
return Object.assign(Object.assign({}, store), { copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 }, cutting: false, editingCell: "", headerTopSelecting: false, headerLeftSelecting: false });
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
exports.escape = new EscapeAction().bind();
|
|
257
|
+
class ChooseAction extends CoreAction {
|
|
258
|
+
reduce(store, payload) {
|
|
259
|
+
return Object.assign(Object.assign({}, store), { choosing: payload, entering: true });
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
exports.choose = new ChooseAction().bind();
|
|
263
|
+
class SelectAction extends CoreAction {
|
|
264
|
+
reduce(store, payload) {
|
|
265
|
+
return Object.assign(Object.assign({}, store), { selectingZone: payload, headerTopSelecting: false, headerLeftSelecting: false });
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
exports.select = new SelectAction().bind();
|
|
269
|
+
class SelectRowsAction extends CoreAction {
|
|
270
|
+
reduce(store, payload) {
|
|
271
|
+
const { range, numCols } = payload;
|
|
272
|
+
const { start, end } = range;
|
|
273
|
+
const selectingZone = {
|
|
274
|
+
startY: start,
|
|
275
|
+
startX: 1,
|
|
276
|
+
endY: end,
|
|
277
|
+
endX: numCols,
|
|
205
278
|
};
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
279
|
+
return Object.assign(Object.assign({}, store), { selectingZone, choosing: { y: start, x: 0 }, headerLeftSelecting: true, headerTopSelecting: false });
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
exports.selectRows = new SelectRowsAction().bind();
|
|
283
|
+
class SelectColsAction extends CoreAction {
|
|
284
|
+
reduce(store, payload) {
|
|
285
|
+
const { range, numRows } = payload;
|
|
286
|
+
const { start, end } = range;
|
|
287
|
+
const selectingZone = {
|
|
288
|
+
startY: 1,
|
|
289
|
+
startX: start,
|
|
290
|
+
endY: numRows,
|
|
291
|
+
endX: end,
|
|
292
|
+
};
|
|
293
|
+
return Object.assign(Object.assign({}, store), { selectingZone, choosing: { y: 0, x: start }, headerLeftSelecting: false, headerTopSelecting: true });
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
exports.selectCols = new SelectColsAction().bind();
|
|
297
|
+
class DragAction extends CoreAction {
|
|
298
|
+
reduce(store, payload) {
|
|
299
|
+
const { y, x } = store.choosing;
|
|
300
|
+
const selectingZone = {
|
|
301
|
+
startY: y,
|
|
302
|
+
startX: x,
|
|
303
|
+
endY: payload.y,
|
|
304
|
+
endX: payload.x,
|
|
305
|
+
};
|
|
306
|
+
return Object.assign(Object.assign({}, store), { selectingZone });
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
exports.drag = new DragAction().bind();
|
|
310
|
+
class SearchAction extends CoreAction {
|
|
311
|
+
reduce(store, payload) {
|
|
312
|
+
let { matchingCells, matchingCellIndex } = store;
|
|
313
|
+
matchingCellIndex += payload;
|
|
314
|
+
if (matchingCellIndex >= matchingCells.length) {
|
|
315
|
+
matchingCellIndex = 0;
|
|
316
|
+
}
|
|
317
|
+
else if (matchingCellIndex < 0) {
|
|
318
|
+
matchingCellIndex = matchingCells.length - 1;
|
|
319
|
+
}
|
|
320
|
+
return Object.assign(Object.assign({}, store), { matchingCells, matchingCellIndex });
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
exports.search = new SearchAction().bind();
|
|
324
|
+
class WriteAction extends CoreAction {
|
|
325
|
+
reduce(store, payload) {
|
|
326
|
+
const { choosing, selectingZone, table } = store;
|
|
327
|
+
const newTable = table.write({
|
|
328
|
+
point: choosing,
|
|
329
|
+
value: payload,
|
|
209
330
|
reflection: {
|
|
210
|
-
selectingZone
|
|
331
|
+
selectingZone,
|
|
332
|
+
choosing,
|
|
211
333
|
},
|
|
212
334
|
});
|
|
335
|
+
return Object.assign(Object.assign(Object.assign({}, store), (0, helpers_1.initSearchStatement)(newTable, store)), { table: newTable, copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 } });
|
|
213
336
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
337
|
+
}
|
|
338
|
+
exports.write = new WriteAction().bind();
|
|
339
|
+
class ClearAction extends CoreAction {
|
|
340
|
+
reduce(store, payload) {
|
|
341
|
+
const { choosing, selectingZone, table } = store;
|
|
342
|
+
let selectingArea = (0, structs_1.zoneToArea)(selectingZone);
|
|
343
|
+
if (selectingArea.top === -1) {
|
|
344
|
+
const { y, x } = choosing;
|
|
345
|
+
selectingArea = { top: y, left: x, bottom: y, right: x };
|
|
222
346
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
347
|
+
const { top, left, bottom, right } = selectingArea;
|
|
348
|
+
const diff = {};
|
|
349
|
+
for (let y = top; y <= bottom; y++) {
|
|
350
|
+
for (let x = left; x <= right; x++) {
|
|
351
|
+
diff[(0, converters_1.p2a)({ y, x })] = { value: null };
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
const newTable = table.update({
|
|
355
|
+
diff,
|
|
356
|
+
partial: true,
|
|
227
357
|
reflection: {
|
|
228
|
-
copyingZone,
|
|
229
358
|
selectingZone,
|
|
359
|
+
choosing,
|
|
230
360
|
},
|
|
231
361
|
});
|
|
362
|
+
return Object.assign(Object.assign(Object.assign({}, store), (0, helpers_1.initSearchStatement)(newTable, store)), { table: newTable });
|
|
232
363
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}
|
|
242
|
-
export const escape = new EscapeAction().bind();
|
|
243
|
-
class ChooseAction extends CoreAction {
|
|
244
|
-
reduce(store, payload) {
|
|
245
|
-
return Object.assign(Object.assign({}, store), { choosing: payload, entering: true });
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
export const choose = new ChooseAction().bind();
|
|
249
|
-
class SelectAction extends CoreAction {
|
|
250
|
-
reduce(store, payload) {
|
|
251
|
-
return Object.assign(Object.assign({}, store), { selectingZone: payload, headerTopSelecting: false, headerLeftSelecting: false });
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
export const select = new SelectAction().bind();
|
|
255
|
-
class SelectRowsAction extends CoreAction {
|
|
256
|
-
reduce(store, payload) {
|
|
257
|
-
const { range, numCols } = payload;
|
|
258
|
-
const { start, end } = range;
|
|
259
|
-
const selectingZone = {
|
|
260
|
-
startY: start,
|
|
261
|
-
startX: 1,
|
|
262
|
-
endY: end,
|
|
263
|
-
endX: numCols,
|
|
264
|
-
};
|
|
265
|
-
return Object.assign(Object.assign({}, store), { selectingZone, choosing: { y: start, x: 0 }, headerLeftSelecting: true, headerTopSelecting: false });
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
export const selectRows = new SelectRowsAction().bind();
|
|
269
|
-
class SelectColsAction extends CoreAction {
|
|
270
|
-
reduce(store, payload) {
|
|
271
|
-
const { range, numRows } = payload;
|
|
272
|
-
const { start, end } = range;
|
|
273
|
-
const selectingZone = {
|
|
274
|
-
startY: 1,
|
|
275
|
-
startX: start,
|
|
276
|
-
endY: numRows,
|
|
277
|
-
endX: end,
|
|
278
|
-
};
|
|
279
|
-
return Object.assign(Object.assign({}, store), { selectingZone, choosing: { y: 0, x: start }, headerLeftSelecting: false, headerTopSelecting: true });
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
export const selectCols = new SelectColsAction().bind();
|
|
283
|
-
class DragAction extends CoreAction {
|
|
284
|
-
reduce(store, payload) {
|
|
285
|
-
const { y, x } = store.choosing;
|
|
286
|
-
const selectingZone = {
|
|
287
|
-
startY: y,
|
|
288
|
-
startX: x,
|
|
289
|
-
endY: payload.y,
|
|
290
|
-
endX: payload.x,
|
|
291
|
-
};
|
|
292
|
-
return Object.assign(Object.assign({}, store), { selectingZone });
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
export const drag = new DragAction().bind();
|
|
296
|
-
class SearchAction extends CoreAction {
|
|
297
|
-
reduce(store, payload) {
|
|
298
|
-
let { matchingCells, matchingCellIndex } = store;
|
|
299
|
-
matchingCellIndex += payload;
|
|
300
|
-
if (matchingCellIndex >= matchingCells.length) {
|
|
301
|
-
matchingCellIndex = 0;
|
|
302
|
-
}
|
|
303
|
-
else if (matchingCellIndex < 0) {
|
|
304
|
-
matchingCellIndex = matchingCells.length - 1;
|
|
305
|
-
}
|
|
306
|
-
return Object.assign(Object.assign({}, store), { matchingCells, matchingCellIndex });
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
export const search = new SearchAction().bind();
|
|
310
|
-
class WriteAction extends CoreAction {
|
|
311
|
-
reduce(store, payload) {
|
|
312
|
-
const { choosing, selectingZone, table } = store;
|
|
313
|
-
const newTable = table.write({
|
|
314
|
-
point: choosing,
|
|
315
|
-
value: payload,
|
|
316
|
-
reflection: {
|
|
317
|
-
selectingZone,
|
|
318
|
-
choosing,
|
|
319
|
-
},
|
|
320
|
-
});
|
|
321
|
-
return Object.assign(Object.assign(Object.assign({}, store), initSearchStatement(newTable, store)), { table: newTable, copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 } });
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
export const write = new WriteAction().bind();
|
|
325
|
-
class ClearAction extends CoreAction {
|
|
326
|
-
reduce(store, payload) {
|
|
327
|
-
const { choosing, selectingZone, table } = store;
|
|
328
|
-
let selectingArea = zoneToArea(selectingZone);
|
|
329
|
-
if (selectingArea.top === -1) {
|
|
330
|
-
const { y, x } = choosing;
|
|
331
|
-
selectingArea = { top: y, left: x, bottom: y, right: x };
|
|
332
|
-
}
|
|
333
|
-
const { top, left, bottom, right } = selectingArea;
|
|
334
|
-
const diff = {};
|
|
335
|
-
for (let y = top; y <= bottom; y++) {
|
|
336
|
-
for (let x = left; x <= right; x++) {
|
|
337
|
-
diff[p2a({ y, x })] = { value: null };
|
|
364
|
+
}
|
|
365
|
+
exports.clear = new ClearAction().bind();
|
|
366
|
+
class UndoAction extends CoreAction {
|
|
367
|
+
reduce(store, payload) {
|
|
368
|
+
const { table } = store;
|
|
369
|
+
const { history, newTable } = table.undo();
|
|
370
|
+
if (history == null) {
|
|
371
|
+
return store;
|
|
338
372
|
}
|
|
373
|
+
const { reflection, operation } = history;
|
|
374
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, store), (0, helpers_1.restrictPoints)(store, table)), reflection), (0, helpers_1.initSearchStatement)(newTable, store)), { table: newTable });
|
|
339
375
|
}
|
|
340
|
-
const newTable = table.update({
|
|
341
|
-
diff,
|
|
342
|
-
partial: true,
|
|
343
|
-
reflection: {
|
|
344
|
-
selectingZone,
|
|
345
|
-
choosing,
|
|
346
|
-
},
|
|
347
|
-
});
|
|
348
|
-
return Object.assign(Object.assign(Object.assign({}, store), initSearchStatement(newTable, store)), { table: newTable });
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
export const clear = new ClearAction().bind();
|
|
352
|
-
class UndoAction extends CoreAction {
|
|
353
|
-
reduce(store, payload) {
|
|
354
|
-
const { table } = store;
|
|
355
|
-
const { history, newTable } = table.undo();
|
|
356
|
-
if (history == null) {
|
|
357
|
-
return store;
|
|
358
|
-
}
|
|
359
|
-
const { reflection, operation } = history;
|
|
360
|
-
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, store), restrictPoints(store, table)), reflection), initSearchStatement(newTable, store)), { table: newTable });
|
|
361
376
|
}
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
377
|
+
exports.undo = new UndoAction().bind();
|
|
378
|
+
class RedoAction extends CoreAction {
|
|
379
|
+
reduce(store, payload) {
|
|
380
|
+
const { table } = store;
|
|
381
|
+
const { history, newTable } = table.redo();
|
|
382
|
+
if (history == null) {
|
|
383
|
+
return store;
|
|
384
|
+
}
|
|
385
|
+
const { reflection, operation } = history;
|
|
386
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, store), reflection), (0, helpers_1.restrictPoints)(store, table)), (0, helpers_1.initSearchStatement)(newTable, store)), { table: newTable });
|
|
370
387
|
}
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
+
}
|
|
389
|
+
exports.redo = new RedoAction().bind();
|
|
390
|
+
class ArrowAction extends CoreAction {
|
|
391
|
+
reduce(store, payload) {
|
|
392
|
+
var _a, _b, _c, _d;
|
|
393
|
+
const { shiftKey, deltaY, deltaX, numRows, numCols } = payload;
|
|
394
|
+
let { choosing, selectingZone, table, gridOuterRef } = store;
|
|
395
|
+
const { y, x } = choosing;
|
|
396
|
+
if (shiftKey) {
|
|
397
|
+
let [dragEndY, dragEndX] = [
|
|
398
|
+
selectingZone.endY === -1 ? y : selectingZone.endY,
|
|
399
|
+
selectingZone.endX === -1 ? x : selectingZone.endX,
|
|
400
|
+
];
|
|
401
|
+
const [nextY, nextX] = [dragEndY + deltaY, dragEndX + deltaX];
|
|
402
|
+
if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {
|
|
403
|
+
return store;
|
|
404
|
+
}
|
|
405
|
+
selectingZone =
|
|
406
|
+
y === nextY && x === nextX
|
|
407
|
+
? { startY: -1, startX: -1, endY: -1, endX: -1 }
|
|
408
|
+
: { startY: y, startX: x, endY: nextY, endX: nextX };
|
|
409
|
+
return Object.assign(Object.assign({}, store), { selectingZone });
|
|
410
|
+
}
|
|
411
|
+
const [nextY, nextX] = [y + deltaY, x + deltaX];
|
|
388
412
|
if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {
|
|
389
413
|
return store;
|
|
390
414
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
}
|
|
397
|
-
const [nextY, nextX] = [y + deltaY, x + deltaX];
|
|
398
|
-
if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {
|
|
399
|
-
return store;
|
|
400
|
-
}
|
|
401
|
-
let { y: editorTop, x: editorLeft, height, width } = store.editorRect;
|
|
402
|
-
if (deltaY > 0) {
|
|
403
|
-
for (let i = y; i < nextY; i++) {
|
|
404
|
-
editorTop += ((_a = table.getByPoint({ y: i, x: 0 })) === null || _a === void 0 ? void 0 : _a.height) || DEFAULT_HEIGHT;
|
|
415
|
+
let { y: editorTop, x: editorLeft, height, width } = store.editorRect;
|
|
416
|
+
if (deltaY > 0) {
|
|
417
|
+
for (let i = y; i < nextY; i++) {
|
|
418
|
+
editorTop += ((_a = table.getByPoint({ y: i, x: 0 })) === null || _a === void 0 ? void 0 : _a.height) || constants_1.DEFAULT_HEIGHT;
|
|
419
|
+
}
|
|
405
420
|
}
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
421
|
+
else if (deltaY < 0) {
|
|
422
|
+
for (let i = y - 1; i >= nextY; i--) {
|
|
423
|
+
editorTop -= ((_b = table.getByPoint({ y: i, x: 0 })) === null || _b === void 0 ? void 0 : _b.height) || constants_1.DEFAULT_HEIGHT;
|
|
424
|
+
}
|
|
410
425
|
}
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
426
|
+
if (deltaX > 0) {
|
|
427
|
+
for (let i = x; i < nextX; i++) {
|
|
428
|
+
editorLeft += ((_c = table.getByPoint({ y: 0, x: i })) === null || _c === void 0 ? void 0 : _c.width) || constants_1.DEFAULT_WIDTH;
|
|
429
|
+
}
|
|
415
430
|
}
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
431
|
+
else if (deltaX < 0) {
|
|
432
|
+
for (let i = x - 1; i >= nextX; i--) {
|
|
433
|
+
editorLeft -= ((_d = table.getByPoint({ y: 0, x: i })) === null || _d === void 0 ? void 0 : _d.width) || constants_1.DEFAULT_WIDTH;
|
|
434
|
+
}
|
|
420
435
|
}
|
|
436
|
+
const cell = table.getByPoint({ y: nextY, x: nextX });
|
|
437
|
+
height = (cell === null || cell === void 0 ? void 0 : cell.height) || constants_1.DEFAULT_HEIGHT;
|
|
438
|
+
width = (cell === null || cell === void 0 ? void 0 : cell.width) || constants_1.DEFAULT_WIDTH;
|
|
439
|
+
(0, virtualization_1.smartScroll)(table, gridOuterRef.current, { y: nextY, x: nextX });
|
|
440
|
+
return Object.assign(Object.assign({}, store), { selectingZone: { startY: -1, startX: -1, endY: -1, endX: -1 }, choosing: { y: nextY, x: nextX }, editorRect: { y: editorTop, x: editorLeft, height, width } });
|
|
421
441
|
}
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
deltaX--;
|
|
442
|
+
}
|
|
443
|
+
exports.arrow = new ArrowAction().bind();
|
|
444
|
+
class WalkAction extends CoreAction {
|
|
445
|
+
reduce(store, payload) {
|
|
446
|
+
var _a, _b, _c, _d;
|
|
447
|
+
let { deltaY, deltaX, numRows, numCols } = payload;
|
|
448
|
+
let { choosing, selectingZone, table, gridOuterRef } = store;
|
|
449
|
+
let { y: editorTop, x: editorLeft, height, width } = store.editorRect;
|
|
450
|
+
const { y, x } = choosing;
|
|
451
|
+
const selectingArea = (0, structs_1.zoneToArea)(selectingZone);
|
|
452
|
+
const { top, left, bottom, right } = selectingArea;
|
|
453
|
+
let [nextY, nextX] = [y + deltaY, x + deltaX];
|
|
454
|
+
if (nextY < top && top !== -1) {
|
|
455
|
+
deltaY = bottom - nextY;
|
|
456
|
+
nextY = bottom;
|
|
457
|
+
if (nextX > left) {
|
|
458
|
+
nextX--;
|
|
459
|
+
deltaX--;
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
deltaX = right - nextX;
|
|
463
|
+
nextX = right;
|
|
464
|
+
}
|
|
446
465
|
}
|
|
447
|
-
|
|
466
|
+
if (nextY > bottom && bottom !== -1) {
|
|
467
|
+
deltaY = top - nextY;
|
|
468
|
+
nextY = top;
|
|
469
|
+
if (nextX < right) {
|
|
470
|
+
nextX++;
|
|
471
|
+
deltaX++;
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
deltaX = left - nextX;
|
|
475
|
+
nextX = left;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
if (nextX < left && left !== -1) {
|
|
448
479
|
deltaX = right - nextX;
|
|
449
480
|
nextX = right;
|
|
481
|
+
if (nextY > top) {
|
|
482
|
+
nextY--;
|
|
483
|
+
deltaY--;
|
|
484
|
+
}
|
|
485
|
+
else {
|
|
486
|
+
deltaY = bottom - nextY;
|
|
487
|
+
nextY = bottom;
|
|
488
|
+
}
|
|
450
489
|
}
|
|
451
|
-
|
|
452
|
-
if (nextY > bottom && bottom !== -1) {
|
|
453
|
-
deltaY = top - nextY;
|
|
454
|
-
nextY = top;
|
|
455
|
-
if (nextX < right) {
|
|
456
|
-
nextX++;
|
|
457
|
-
deltaX++;
|
|
458
|
-
}
|
|
459
|
-
else {
|
|
490
|
+
if (nextX > right && right !== -1) {
|
|
460
491
|
deltaX = left - nextX;
|
|
461
492
|
nextX = left;
|
|
493
|
+
if (nextY < bottom) {
|
|
494
|
+
nextY++;
|
|
495
|
+
deltaY++;
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
deltaY = top - nextY;
|
|
499
|
+
nextY = top;
|
|
500
|
+
}
|
|
462
501
|
}
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
deltaX = right - nextX;
|
|
466
|
-
nextX = right;
|
|
467
|
-
if (nextY > top) {
|
|
468
|
-
nextY--;
|
|
469
|
-
deltaY--;
|
|
470
|
-
}
|
|
471
|
-
else {
|
|
472
|
-
deltaY = bottom - nextY;
|
|
473
|
-
nextY = bottom;
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
if (nextX > right && right !== -1) {
|
|
477
|
-
deltaX = left - nextX;
|
|
478
|
-
nextX = left;
|
|
479
|
-
if (nextY < bottom) {
|
|
480
|
-
nextY++;
|
|
481
|
-
deltaY++;
|
|
482
|
-
}
|
|
483
|
-
else {
|
|
484
|
-
deltaY = top - nextY;
|
|
485
|
-
nextY = top;
|
|
502
|
+
if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {
|
|
503
|
+
return store;
|
|
486
504
|
}
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
if (deltaY > 0) {
|
|
492
|
-
for (let i = y; i < nextY; i++) {
|
|
493
|
-
editorTop += ((_a = table.getByPoint({ y: i, x: 0 })) === null || _a === void 0 ? void 0 : _a.height) || DEFAULT_HEIGHT;
|
|
505
|
+
if (deltaY > 0) {
|
|
506
|
+
for (let i = y; i < nextY; i++) {
|
|
507
|
+
editorTop += ((_a = table.getByPoint({ y: i, x: 0 })) === null || _a === void 0 ? void 0 : _a.height) || constants_1.DEFAULT_HEIGHT;
|
|
508
|
+
}
|
|
494
509
|
}
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
510
|
+
else if (deltaY < 0) {
|
|
511
|
+
for (let i = y - 1; i >= nextY; i--) {
|
|
512
|
+
editorTop -= ((_b = table.getByPoint({ y: i, x: 0 })) === null || _b === void 0 ? void 0 : _b.height) || constants_1.DEFAULT_HEIGHT;
|
|
513
|
+
}
|
|
499
514
|
}
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
515
|
+
if (deltaX > 0) {
|
|
516
|
+
for (let i = x; i < nextX; i++) {
|
|
517
|
+
editorLeft += ((_c = table.getByPoint({ y: 0, x: i })) === null || _c === void 0 ? void 0 : _c.width) || constants_1.DEFAULT_WIDTH;
|
|
518
|
+
}
|
|
504
519
|
}
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
520
|
+
else if (deltaX < 0) {
|
|
521
|
+
for (let i = x - 1; i >= nextX; i--) {
|
|
522
|
+
editorLeft -= ((_d = table.getByPoint({ y: 0, x: i })) === null || _d === void 0 ? void 0 : _d.width) || constants_1.DEFAULT_WIDTH;
|
|
523
|
+
}
|
|
509
524
|
}
|
|
525
|
+
const cell = table.getByPoint({ y: nextY, x: nextX });
|
|
526
|
+
height = (cell === null || cell === void 0 ? void 0 : cell.height) || constants_1.DEFAULT_HEIGHT;
|
|
527
|
+
width = (cell === null || cell === void 0 ? void 0 : cell.width) || constants_1.DEFAULT_WIDTH;
|
|
528
|
+
(0, virtualization_1.smartScroll)(table, gridOuterRef.current, { y: nextY, x: nextX });
|
|
529
|
+
return Object.assign(Object.assign({}, store), { choosing: { y: nextY, x: nextX }, editorRect: { y: editorTop, x: editorLeft, height, width } });
|
|
510
530
|
}
|
|
511
|
-
const cell = table.getByPoint({ y: nextY, x: nextX });
|
|
512
|
-
height = (cell === null || cell === void 0 ? void 0 : cell.height) || DEFAULT_HEIGHT;
|
|
513
|
-
width = (cell === null || cell === void 0 ? void 0 : cell.width) || DEFAULT_WIDTH;
|
|
514
|
-
smartScroll(table, gridOuterRef.current, { y: nextY, x: nextX });
|
|
515
|
-
return Object.assign(Object.assign({}, store), { choosing: { y: nextY, x: nextX }, editorRect: { y: editorTop, x: editorLeft, height, width } });
|
|
516
531
|
}
|
|
517
|
-
|
|
518
|
-
|
|
532
|
+
exports.walk = new WalkAction().bind();
|
|
533
|
+
});
|
|
519
534
|
//# sourceMappingURL=actions.js.map
|