@gridsheet/react-core 0.12.4-rc.0 → 0.12.4

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