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

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