@gridsheet/react-core 0.12.4-rc.1 → 0.12.5

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 (211) hide show
  1. package/dist/components/Cell.js +185 -197
  2. package/dist/components/Cell.js.map +1 -1
  3. package/dist/components/ContextMenu.js +198 -208
  4. package/dist/components/ContextMenu.js.map +1 -1
  5. package/dist/components/Editor.d.ts.map +1 -1
  6. package/dist/components/Editor.js +262 -275
  7. package/dist/components/Editor.js.map +1 -1
  8. package/dist/components/Emitter.js +29 -39
  9. package/dist/components/Emitter.js.map +1 -1
  10. package/dist/components/GridSheet.js +109 -119
  11. package/dist/components/GridSheet.js.map +1 -1
  12. package/dist/components/HeaderLeftCell.js +61 -72
  13. package/dist/components/HeaderLeftCell.js.map +1 -1
  14. package/dist/components/HeaderTopCell.js +62 -73
  15. package/dist/components/HeaderTopCell.js.map +1 -1
  16. package/dist/components/Resizer.js +79 -90
  17. package/dist/components/Resizer.js.map +1 -1
  18. package/dist/components/SearchBox.d.ts.map +1 -1
  19. package/dist/components/SearchBox.js +54 -64
  20. package/dist/components/SearchBox.js.map +1 -1
  21. package/dist/components/StoreInitializer.js +71 -81
  22. package/dist/components/StoreInitializer.js.map +1 -1
  23. package/dist/components/Tabular.d.ts +2 -2
  24. package/dist/components/Tabular.d.ts.map +1 -1
  25. package/dist/components/Tabular.js +85 -95
  26. package/dist/components/Tabular.js.map +1 -1
  27. package/dist/constants.js +26 -36
  28. package/dist/constants.js.map +1 -1
  29. package/dist/formula/evaluator.d.ts +1 -1
  30. package/dist/formula/evaluator.js +490 -500
  31. package/dist/formula/evaluator.js.map +1 -1
  32. package/dist/formula/functions/__base.js +17 -27
  33. package/dist/formula/functions/__base.js.map +1 -1
  34. package/dist/formula/functions/__utils.js +103 -113
  35. package/dist/formula/functions/__utils.js.map +1 -1
  36. package/dist/formula/functions/abs.js +21 -31
  37. package/dist/formula/functions/abs.js.map +1 -1
  38. package/dist/formula/functions/abs.spec.js +25 -35
  39. package/dist/formula/functions/abs.spec.js.map +1 -1
  40. package/dist/formula/functions/acos.js +28 -38
  41. package/dist/formula/functions/acos.js.map +1 -1
  42. package/dist/formula/functions/add.js +47 -57
  43. package/dist/formula/functions/add.js.map +1 -1
  44. package/dist/formula/functions/and.js +28 -38
  45. package/dist/formula/functions/and.js.map +1 -1
  46. package/dist/formula/functions/asin.js +28 -38
  47. package/dist/formula/functions/asin.js.map +1 -1
  48. package/dist/formula/functions/atan.js +26 -36
  49. package/dist/formula/functions/atan.js.map +1 -1
  50. package/dist/formula/functions/atan2.js +32 -42
  51. package/dist/formula/functions/atan2.js.map +1 -1
  52. package/dist/formula/functions/average.js +40 -50
  53. package/dist/formula/functions/average.js.map +1 -1
  54. package/dist/formula/functions/col.js +28 -38
  55. package/dist/formula/functions/col.js.map +1 -1
  56. package/dist/formula/functions/concat.js +27 -37
  57. package/dist/formula/functions/concat.js.map +1 -1
  58. package/dist/formula/functions/concatenate.js +25 -35
  59. package/dist/formula/functions/concatenate.js.map +1 -1
  60. package/dist/formula/functions/cos.js +26 -36
  61. package/dist/formula/functions/cos.js.map +1 -1
  62. package/dist/formula/functions/count.js +35 -45
  63. package/dist/formula/functions/count.js.map +1 -1
  64. package/dist/formula/functions/counta.js +35 -45
  65. package/dist/formula/functions/counta.js.map +1 -1
  66. package/dist/formula/functions/countif.js +30 -40
  67. package/dist/formula/functions/countif.js.map +1 -1
  68. package/dist/formula/functions/divide.js +32 -42
  69. package/dist/formula/functions/divide.js.map +1 -1
  70. package/dist/formula/functions/eq.js +25 -35
  71. package/dist/formula/functions/eq.js.map +1 -1
  72. package/dist/formula/functions/exp.js +28 -38
  73. package/dist/formula/functions/exp.js.map +1 -1
  74. package/dist/formula/functions/gt.js +27 -37
  75. package/dist/formula/functions/gt.js.map +1 -1
  76. package/dist/formula/functions/gte.js +27 -37
  77. package/dist/formula/functions/gte.js.map +1 -1
  78. package/dist/formula/functions/hlookup.js +67 -77
  79. package/dist/formula/functions/hlookup.js.map +1 -1
  80. package/dist/formula/functions/if.js +36 -46
  81. package/dist/formula/functions/if.js.map +1 -1
  82. package/dist/formula/functions/iferror.js +38 -48
  83. package/dist/formula/functions/iferror.js.map +1 -1
  84. package/dist/formula/functions/iferror.spec.js +53 -63
  85. package/dist/formula/functions/iferror.spec.js.map +1 -1
  86. package/dist/formula/functions/len.js +26 -36
  87. package/dist/formula/functions/len.js.map +1 -1
  88. package/dist/formula/functions/lenb.js +26 -36
  89. package/dist/formula/functions/lenb.js.map +1 -1
  90. package/dist/formula/functions/ln.js +28 -38
  91. package/dist/formula/functions/ln.js.map +1 -1
  92. package/dist/formula/functions/log.js +33 -43
  93. package/dist/formula/functions/log.js.map +1 -1
  94. package/dist/formula/functions/log10.js +28 -38
  95. package/dist/formula/functions/log10.js.map +1 -1
  96. package/dist/formula/functions/lt.js +27 -37
  97. package/dist/formula/functions/lt.js.map +1 -1
  98. package/dist/formula/functions/lte.js +27 -37
  99. package/dist/formula/functions/lte.js.map +1 -1
  100. package/dist/formula/functions/max.js +42 -52
  101. package/dist/formula/functions/max.js.map +1 -1
  102. package/dist/formula/functions/min.js +42 -52
  103. package/dist/formula/functions/min.js.map +1 -1
  104. package/dist/formula/functions/minus.js +47 -57
  105. package/dist/formula/functions/minus.js.map +1 -1
  106. package/dist/formula/functions/mod.js +30 -40
  107. package/dist/formula/functions/mod.js.map +1 -1
  108. package/dist/formula/functions/mod.spec.js +47 -57
  109. package/dist/formula/functions/mod.spec.js.map +1 -1
  110. package/dist/formula/functions/multiply.js +27 -37
  111. package/dist/formula/functions/multiply.js.map +1 -1
  112. package/dist/formula/functions/ne.js +25 -35
  113. package/dist/formula/functions/ne.js.map +1 -1
  114. package/dist/formula/functions/not.js +30 -40
  115. package/dist/formula/functions/not.js.map +1 -1
  116. package/dist/formula/functions/now.js +21 -31
  117. package/dist/formula/functions/now.js.map +1 -1
  118. package/dist/formula/functions/or.js +28 -38
  119. package/dist/formula/functions/or.js.map +1 -1
  120. package/dist/formula/functions/pi.js +19 -29
  121. package/dist/formula/functions/pi.js.map +1 -1
  122. package/dist/formula/functions/power.js +24 -34
  123. package/dist/formula/functions/power.js.map +1 -1
  124. package/dist/formula/functions/product.js +37 -47
  125. package/dist/formula/functions/product.js.map +1 -1
  126. package/dist/formula/functions/radians.js +26 -36
  127. package/dist/formula/functions/radians.js.map +1 -1
  128. package/dist/formula/functions/rand.js +19 -29
  129. package/dist/formula/functions/rand.js.map +1 -1
  130. package/dist/formula/functions/round.js +34 -44
  131. package/dist/formula/functions/round.js.map +1 -1
  132. package/dist/formula/functions/rounddown.js +34 -44
  133. package/dist/formula/functions/rounddown.js.map +1 -1
  134. package/dist/formula/functions/roundup.js +34 -44
  135. package/dist/formula/functions/roundup.js.map +1 -1
  136. package/dist/formula/functions/row.js +28 -38
  137. package/dist/formula/functions/row.js.map +1 -1
  138. package/dist/formula/functions/sin.js +26 -36
  139. package/dist/formula/functions/sin.js.map +1 -1
  140. package/dist/formula/functions/sqrt.js +28 -38
  141. package/dist/formula/functions/sqrt.js.map +1 -1
  142. package/dist/formula/functions/sum.js +42 -52
  143. package/dist/formula/functions/sum.js.map +1 -1
  144. package/dist/formula/functions/sum.spec.js +35 -45
  145. package/dist/formula/functions/sum.spec.js.map +1 -1
  146. package/dist/formula/functions/sumif.js +56 -66
  147. package/dist/formula/functions/sumif.js.map +1 -1
  148. package/dist/formula/functions/tan.js +26 -36
  149. package/dist/formula/functions/tan.js.map +1 -1
  150. package/dist/formula/functions/uminus.js +23 -33
  151. package/dist/formula/functions/uminus.js.map +1 -1
  152. package/dist/formula/functions/vlookup.js +67 -77
  153. package/dist/formula/functions/vlookup.js.map +1 -1
  154. package/dist/formula/mapping.js +116 -126
  155. package/dist/formula/mapping.js.map +1 -1
  156. package/dist/formula/solver.js +61 -71
  157. package/dist/formula/solver.js.map +1 -1
  158. package/dist/index.js +31 -41
  159. package/dist/index.js.map +1 -1
  160. package/dist/lib/autofill.js +334 -344
  161. package/dist/lib/autofill.js.map +1 -1
  162. package/dist/lib/clipboard.js +45 -55
  163. package/dist/lib/clipboard.js.map +1 -1
  164. package/dist/lib/converters.js +130 -140
  165. package/dist/lib/converters.js.map +1 -1
  166. package/dist/lib/hooks.d.ts +1 -0
  167. package/dist/lib/hooks.d.ts.map +1 -0
  168. package/dist/lib/hooks.js +2 -0
  169. package/dist/lib/hooks.js.map +1 -0
  170. package/dist/lib/structs.d.ts +1 -1
  171. package/dist/lib/structs.d.ts.map +1 -1
  172. package/dist/lib/structs.js +254 -264
  173. package/dist/lib/structs.js.map +1 -1
  174. package/dist/lib/table.d.ts +1 -3
  175. package/dist/lib/table.d.ts.map +1 -1
  176. package/dist/lib/table.js +897 -911
  177. package/dist/lib/table.js.map +1 -1
  178. package/dist/lib/time.d.ts.map +1 -1
  179. package/dist/lib/time.js +59 -69
  180. package/dist/lib/time.js.map +1 -1
  181. package/dist/lib/virtualization.d.ts +3 -21
  182. package/dist/lib/virtualization.d.ts.map +1 -1
  183. package/dist/lib/virtualization.js +115 -125
  184. package/dist/lib/virtualization.js.map +1 -1
  185. package/dist/parsers/core.js +109 -119
  186. package/dist/parsers/core.js.map +1 -1
  187. package/dist/renderers/checkbox.js +11 -21
  188. package/dist/renderers/checkbox.js.map +1 -1
  189. package/dist/renderers/core.d.ts +1 -1
  190. package/dist/renderers/core.d.ts.map +1 -1
  191. package/dist/renderers/core.js +129 -139
  192. package/dist/renderers/core.js.map +1 -1
  193. package/dist/renderers/thousand_separator.js +15 -25
  194. package/dist/renderers/thousand_separator.js.map +1 -1
  195. package/dist/store/actions.d.ts.map +1 -1
  196. package/dist/store/actions.js +484 -498
  197. package/dist/store/actions.js.map +1 -1
  198. package/dist/store/helpers.js +78 -88
  199. package/dist/store/helpers.js.map +1 -1
  200. package/dist/store/index.js +5 -15
  201. package/dist/store/index.js.map +1 -1
  202. package/dist/styles/embedder.js +17 -27
  203. package/dist/styles/embedder.js.map +1 -1
  204. package/dist/styles/minified.js +6 -16
  205. package/dist/styles/minified.js.map +1 -1
  206. package/dist/types.d.ts +6 -1
  207. package/dist/types.d.ts.map +1 -1
  208. package/dist/types.js +2 -12
  209. package/dist/utils.js +9 -19
  210. package/dist/utils.js.map +1 -1
  211. package/package.json +9 -2
@@ -1,538 +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
- }
425
- }
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
- }
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;
430
410
  }
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
- }
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;
435
415
  }
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
- if (gridOuterRef.current) {
440
- (0, virtualization_1.smartScroll)(table, gridOuterRef.current, { y: nextY, x: nextX });
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;
441
420
  }
442
- 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 } });
443
421
  }
444
- }
445
- exports.arrow = new ArrowAction().bind();
446
- class WalkAction extends CoreAction {
447
- reduce(store, payload) {
448
- var _a, _b, _c, _d;
449
- let { deltaY, deltaX, numRows, numCols } = payload;
450
- let { choosing, selectingZone, table, gridOuterRef } = store;
451
- let { y: editorTop, x: editorLeft, height, width } = store.editorRect;
452
- const { y, x } = choosing;
453
- const selectingArea = (0, structs_1.zoneToArea)(selectingZone);
454
- const { top, left, bottom, right } = selectingArea;
455
- let [nextY, nextX] = [y + deltaY, x + deltaX];
456
- if (nextY < top && top !== -1) {
457
- deltaY = bottom - nextY;
458
- nextY = bottom;
459
- if (nextX > left) {
460
- nextX--;
461
- deltaX--;
462
- }
463
- else {
464
- deltaX = right - nextX;
465
- nextX = right;
466
- }
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;
467
425
  }
468
- if (nextY > bottom && bottom !== -1) {
469
- deltaY = top - nextY;
470
- nextY = top;
471
- if (nextX < right) {
472
- nextX++;
473
- deltaX++;
474
- }
475
- else {
476
- deltaX = left - nextX;
477
- nextX = left;
478
- }
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--;
479
451
  }
480
- if (nextX < left && left !== -1) {
452
+ else {
481
453
  deltaX = right - nextX;
482
454
  nextX = right;
483
- if (nextY > top) {
484
- nextY--;
485
- deltaY--;
486
- }
487
- else {
488
- deltaY = bottom - nextY;
489
- nextY = bottom;
490
- }
491
455
  }
492
- 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 {
493
465
  deltaX = left - nextX;
494
466
  nextX = left;
495
- if (nextY < bottom) {
496
- nextY++;
497
- deltaY++;
498
- }
499
- else {
500
- deltaY = top - nextY;
501
- nextY = top;
502
- }
503
467
  }
504
- if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {
505
- return store;
468
+ }
469
+ if (nextX < left && left !== -1) {
470
+ deltaX = right - nextX;
471
+ nextX = right;
472
+ if (nextY > top) {
473
+ nextY--;
474
+ deltaY--;
506
475
  }
507
- if (deltaY > 0) {
508
- for (let i = y; i < nextY; i++) {
509
- editorTop += ((_a = table.getByPoint({ y: i, x: 0 })) === null || _a === void 0 ? void 0 : _a.height) || constants_1.DEFAULT_HEIGHT;
510
- }
476
+ else {
477
+ deltaY = bottom - nextY;
478
+ nextY = bottom;
511
479
  }
512
- else if (deltaY < 0) {
513
- for (let i = y - 1; i >= nextY; i--) {
514
- editorTop -= ((_b = table.getByPoint({ y: i, x: 0 })) === null || _b === void 0 ? void 0 : _b.height) || constants_1.DEFAULT_HEIGHT;
515
- }
480
+ }
481
+ if (nextX > right && right !== -1) {
482
+ deltaX = left - nextX;
483
+ nextX = left;
484
+ if (nextY < bottom) {
485
+ nextY++;
486
+ deltaY++;
516
487
  }
517
- if (deltaX > 0) {
518
- for (let i = x; i < nextX; i++) {
519
- editorLeft += ((_c = table.getByPoint({ y: 0, x: i })) === null || _c === void 0 ? void 0 : _c.width) || constants_1.DEFAULT_WIDTH;
520
- }
488
+ else {
489
+ deltaY = top - nextY;
490
+ nextY = top;
521
491
  }
522
- else if (deltaX < 0) {
523
- for (let i = x - 1; i >= nextX; i--) {
524
- editorLeft -= ((_d = table.getByPoint({ y: 0, x: i })) === null || _d === void 0 ? void 0 : _d.width) || constants_1.DEFAULT_WIDTH;
525
- }
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;
526
499
  }
527
- const cell = table.getByPoint({ y: nextY, x: nextX });
528
- height = (cell === null || cell === void 0 ? void 0 : cell.height) || constants_1.DEFAULT_HEIGHT;
529
- width = (cell === null || cell === void 0 ? void 0 : cell.width) || constants_1.DEFAULT_WIDTH;
530
- if (gridOuterRef.current) {
531
- (0, virtualization_1.smartScroll)(table, gridOuterRef.current, { y: nextY, x: nextX });
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;
532
514
  }
533
- return Object.assign(Object.assign({}, store), { choosing: { y: nextY, x: nextX }, editorRect: { y: editorTop, x: editorLeft, height, width } });
534
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 } });
535
521
  }
536
- exports.walk = new WalkAction().bind();
537
- });
522
+ }
523
+ exports.walk = new WalkAction().bind();
538
524
  //# sourceMappingURL=actions.js.map