handsontable 0.0.0-next-08765b9-20230714 → 0.0.0-next-f8ea07b-20230714

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (295) hide show
  1. package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
  2. package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
  3. package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
  4. package/3rdparty/walkontable/src/cell/coords.js +11 -50
  5. package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
  6. package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
  7. package/3rdparty/walkontable/src/cell/range.js +7 -38
  8. package/3rdparty/walkontable/src/cell/range.mjs +7 -38
  9. package/3rdparty/walkontable/src/core/_base.js +3 -9
  10. package/3rdparty/walkontable/src/core/_base.mjs +3 -9
  11. package/3rdparty/walkontable/src/core/clone.js +2 -2
  12. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  13. package/3rdparty/walkontable/src/core/core.js +2 -3
  14. package/3rdparty/walkontable/src/core/core.mjs +2 -3
  15. package/3rdparty/walkontable/src/event.js +7 -7
  16. package/3rdparty/walkontable/src/event.mjs +7 -7
  17. package/3rdparty/walkontable/src/facade/core.js +2 -2
  18. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  19. package/3rdparty/walkontable/src/index.js +2 -10
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +1 -1
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  23. package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
  25. package/3rdparty/walkontable/src/overlay/top.js +6 -2
  26. package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
  27. package/3rdparty/walkontable/src/selection.js +295 -0
  28. package/3rdparty/walkontable/src/selection.mjs +290 -0
  29. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
  30. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
  31. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
  32. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
  33. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
  34. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
  35. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
  36. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
  37. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
  38. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
  39. package/3rdparty/walkontable/src/table.js +78 -6
  40. package/3rdparty/walkontable/src/table.mjs +79 -7
  41. package/base.js +2 -2
  42. package/base.mjs +2 -2
  43. package/core.d.ts +3 -6
  44. package/core.js +290 -173
  45. package/core.mjs +290 -173
  46. package/dataMap/metaManager/metaSchema.js +0 -41
  47. package/dataMap/metaManager/metaSchema.mjs +0 -41
  48. package/dist/handsontable.css +3 -19
  49. package/dist/handsontable.full.css +3 -19
  50. package/dist/handsontable.full.js +5369 -8671
  51. package/dist/handsontable.full.min.css +3 -3
  52. package/dist/handsontable.full.min.js +25 -25
  53. package/dist/handsontable.js +8117 -11419
  54. package/dist/handsontable.min.css +3 -3
  55. package/dist/handsontable.min.js +19 -19
  56. package/editorManager.js +75 -11
  57. package/editorManager.mjs +74 -11
  58. package/editors/textEditor/textEditor.js +11 -3
  59. package/editors/textEditor/textEditor.mjs +12 -4
  60. package/helpers/mixed.js +1 -1
  61. package/helpers/mixed.mjs +1 -1
  62. package/helpers/number.d.ts +0 -1
  63. package/helpers/number.js +0 -18
  64. package/helpers/number.mjs +0 -17
  65. package/package.json +1 -1
  66. package/pluginHooks.d.ts +1 -7
  67. package/pluginHooks.js +1 -106
  68. package/pluginHooks.mjs +1 -106
  69. package/plugins/collapsibleColumns/collapsibleColumns.js +4 -58
  70. package/plugins/collapsibleColumns/collapsibleColumns.mjs +4 -58
  71. package/plugins/columnSorting/columnSorting.js +0 -38
  72. package/plugins/columnSorting/columnSorting.mjs +2 -38
  73. package/plugins/columnSorting/index.js +1 -3
  74. package/plugins/columnSorting/index.mjs +1 -1
  75. package/plugins/comments/commentEditor.js +0 -1
  76. package/plugins/comments/commentEditor.mjs +0 -1
  77. package/plugins/comments/comments.js +189 -251
  78. package/plugins/comments/comments.mjs +190 -250
  79. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  80. package/plugins/contextMenu/contextMenu.js +30 -72
  81. package/plugins/contextMenu/contextMenu.mjs +31 -73
  82. package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
  83. package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
  84. package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
  85. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
  86. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
  87. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
  88. package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
  89. package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
  90. package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
  91. package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
  92. package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
  93. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
  94. package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
  95. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
  96. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
  97. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
  98. package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
  99. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
  100. package/plugins/contextMenu/utils.js +16 -28
  101. package/plugins/contextMenu/utils.mjs +15 -27
  102. package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
  103. package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
  104. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
  105. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
  106. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
  107. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
  108. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
  109. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
  110. package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
  111. package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
  112. package/plugins/copyPaste/copyPaste.js +2 -6
  113. package/plugins/copyPaste/copyPaste.mjs +2 -6
  114. package/plugins/customBorders/customBorders.js +20 -23
  115. package/plugins/customBorders/customBorders.mjs +21 -24
  116. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  117. package/plugins/dropdownMenu/dropdownMenu.js +32 -89
  118. package/plugins/dropdownMenu/dropdownMenu.mjs +32 -89
  119. package/plugins/filters/filters.js +14 -31
  120. package/plugins/filters/filters.mjs +13 -30
  121. package/plugins/mergeCells/mergeCells.js +16 -5
  122. package/plugins/mergeCells/mergeCells.mjs +16 -5
  123. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
  124. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
  125. package/plugins/nestedHeaders/nestedHeaders.js +8 -121
  126. package/plugins/nestedHeaders/nestedHeaders.mjs +8 -121
  127. package/plugins/nestedHeaders/stateManager/index.js +0 -37
  128. package/plugins/nestedHeaders/stateManager/index.mjs +0 -37
  129. package/plugins/nestedRows/nestedRows.js +0 -41
  130. package/plugins/nestedRows/nestedRows.mjs +0 -41
  131. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  132. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  133. package/selection/highlight/constants.js +15 -0
  134. package/selection/highlight/constants.mjs +6 -0
  135. package/selection/highlight/highlight.js +71 -256
  136. package/selection/highlight/highlight.mjs +71 -250
  137. package/selection/highlight/types/activeHeader.js +8 -10
  138. package/selection/highlight/types/activeHeader.mjs +8 -10
  139. package/selection/highlight/types/area.js +18 -6
  140. package/selection/highlight/types/area.mjs +18 -6
  141. package/selection/highlight/types/{focus.js → cell.js} +7 -5
  142. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  143. package/selection/highlight/types/customSelection.js +9 -7
  144. package/selection/highlight/types/customSelection.mjs +9 -7
  145. package/selection/highlight/types/fill.js +7 -5
  146. package/selection/highlight/types/fill.mjs +7 -5
  147. package/selection/highlight/types/header.js +18 -9
  148. package/selection/highlight/types/header.mjs +18 -9
  149. package/selection/highlight/types/index.js +35 -0
  150. package/selection/highlight/types/index.mjs +31 -0
  151. package/selection/highlight/visualSelection.js +27 -31
  152. package/selection/highlight/visualSelection.mjs +27 -31
  153. package/selection/index.js +7 -4
  154. package/selection/index.mjs +3 -2
  155. package/selection/mouseEventHandler.js +1 -1
  156. package/selection/mouseEventHandler.mjs +1 -1
  157. package/selection/range.js +8 -8
  158. package/selection/range.mjs +8 -8
  159. package/selection/selection.js +154 -290
  160. package/selection/selection.mjs +153 -287
  161. package/selection/transformation.js +90 -232
  162. package/selection/transformation.mjs +90 -232
  163. package/selection/utils.js +21 -15
  164. package/selection/utils.mjs +21 -16
  165. package/settings.d.ts +0 -2
  166. package/shortcuts/manager.js +0 -2
  167. package/shortcuts/manager.mjs +0 -2
  168. package/shortcuts/recorder.js +2 -2
  169. package/shortcuts/recorder.mjs +2 -2
  170. package/shortcuts/utils.js +5 -19
  171. package/shortcuts/utils.mjs +4 -18
  172. package/tableView.js +13 -67
  173. package/tableView.mjs +13 -67
  174. package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
  175. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  176. package/3rdparty/walkontable/src/selection/constants.js +0 -62
  177. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  178. package/3rdparty/walkontable/src/selection/index.js +0 -26
  179. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  180. package/3rdparty/walkontable/src/selection/manager.js +0 -259
  181. package/3rdparty/walkontable/src/selection/manager.mjs +0 -254
  182. package/3rdparty/walkontable/src/selection/scanner.js +0 -270
  183. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
  184. package/3rdparty/walkontable/src/selection/selection.js +0 -101
  185. package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
  186. package/core/focusCatcher/focusDetector.js +0 -58
  187. package/core/focusCatcher/focusDetector.mjs +0 -54
  188. package/core/focusCatcher/index.js +0 -142
  189. package/core/focusCatcher/index.mjs +0 -138
  190. package/core/index.js +0 -9
  191. package/core/index.mjs +0 -1
  192. package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
  193. package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
  194. package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
  195. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
  196. package/plugins/comments/contextMenuItem/removeComment.js +0 -38
  197. package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
  198. package/selection/highlight/types/areaLayered.js +0 -31
  199. package/selection/highlight/types/areaLayered.mjs +0 -26
  200. package/selection/highlight/types/column.js +0 -27
  201. package/selection/highlight/types/column.mjs +0 -22
  202. package/selection/highlight/types/row.js +0 -27
  203. package/selection/highlight/types/row.mjs +0 -22
  204. package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
  205. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
  206. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
  207. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  208. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  209. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
  210. package/shortcutContexts/commands/editor/index.js +0 -16
  211. package/shortcutContexts/commands/editor/index.mjs +0 -12
  212. package/shortcutContexts/commands/editor/open.js +0 -27
  213. package/shortcutContexts/commands/editor/open.mjs +0 -23
  214. package/shortcutContexts/commands/emptySelectedCells.js +0 -11
  215. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  216. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  217. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
  218. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -21
  219. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -17
  220. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  221. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  222. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  223. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
  224. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  225. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
  226. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  227. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
  228. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
  229. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
  230. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
  231. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
  232. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
  233. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
  234. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
  235. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
  236. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
  237. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
  238. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
  239. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
  240. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  241. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
  242. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  243. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
  244. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -21
  245. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -17
  246. package/shortcutContexts/commands/index.js +0 -35
  247. package/shortcutContexts/commands/index.mjs +0 -31
  248. package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
  249. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
  250. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -31
  251. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -27
  252. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  253. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  254. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
  255. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  256. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
  257. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  258. package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
  259. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  260. package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
  261. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  262. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
  263. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
  264. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
  265. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
  266. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
  267. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
  268. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
  269. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
  270. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
  271. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
  272. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
  273. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
  274. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
  275. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
  276. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
  277. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
  278. package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
  279. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
  280. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -31
  281. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -27
  282. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
  283. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
  284. package/shortcutContexts/commands/scrollToFocusedCell.js +0 -36
  285. package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -32
  286. package/shortcutContexts/commands/selectAll.js +0 -10
  287. package/shortcutContexts/commands/selectAll.mjs +0 -6
  288. package/shortcutContexts/constants.js +0 -13
  289. package/shortcutContexts/constants.mjs +0 -8
  290. package/shortcutContexts/editor.js +0 -25
  291. package/shortcutContexts/editor.mjs +0 -21
  292. package/shortcutContexts/grid.js +0 -163
  293. package/shortcutContexts/grid.mjs +0 -159
  294. package/shortcutContexts/index.js +0 -24
  295. package/shortcutContexts/index.mjs +0 -11
@@ -1,303 +1,161 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- require("core-js/modules/es.error.cause.js");
5
4
  var _object = require("../helpers/object");
6
5
  var _localHooks = _interopRequireDefault(require("./../mixins/localHooks"));
7
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
9
- function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
10
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
11
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
12
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
13
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
14
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
15
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
16
- function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
17
7
  /**
18
8
  * The Transformation class implements algorithms for transforming coordinates based on current settings
19
- * passed to the Handsontable. The class performs the calculations based on the renderable indexes.
9
+ * passed to the Handsontable.
20
10
  *
21
11
  * Transformation is always applied relative to the current selection.
22
12
  *
23
- * The class operates on a table size defined by the renderable indexes. If the `navigableHeaders`
24
- * option is enabled, the table size is increased by the number of row and/or column headers.
25
- * Because the headers are treated as cells as part of the table size (indexes always go from 0 to N),
26
- * the algorithm can be written as simply as possible (without new if's that distinguish the headers
27
- * logic).
28
- *
29
13
  * @class Transformation
30
14
  * @util
31
15
  */
32
- var _range = /*#__PURE__*/new WeakMap();
33
- var _options = /*#__PURE__*/new WeakMap();
34
- var _offset = /*#__PURE__*/new WeakMap();
35
- var _setOffsetSize = /*#__PURE__*/new WeakSet();
36
- var _clampCoords = /*#__PURE__*/new WeakSet();
37
- var _getTableSize = /*#__PURE__*/new WeakSet();
38
- var _visualToZeroBasedCoords = /*#__PURE__*/new WeakSet();
39
- var _zeroBasedToVisualCoords = /*#__PURE__*/new WeakSet();
40
16
  class Transformation {
41
17
  constructor(range, options) {
42
- /**
43
- * Translates the zero-based coordinates to visual ones.
44
- *
45
- * @param {CellCoords} zeroBasedCoords The coordinates to process.
46
- * @returns {CellCoords}
47
- */
48
- _classPrivateMethodInitSpec(this, _zeroBasedToVisualCoords);
49
- /**
50
- * Translates the visual coordinates to zero-based ones.
51
- *
52
- * @param {CellCoords} visualCoords The visual coords to process.
53
- * @returns {{x: number, y: number}}
54
- */
55
- _classPrivateMethodInitSpec(this, _visualToZeroBasedCoords);
56
- /**
57
- * Gets the table size in number of rows with headers as "height" and number of columns with
58
- * headers as "width".
59
- *
60
- * @returns {{width: number, height: number}}
61
- */
62
- _classPrivateMethodInitSpec(this, _getTableSize);
63
- /**
64
- * Clamps the coords to make sure they points to the cell (or header) in the table range.
65
- *
66
- * @param {CellCoords} zeroBasedCoords The coords object to clamp.
67
- * @returns {{rowDir: 1|0|-1, colDir: 1|0|-1}}
68
- */
69
- _classPrivateMethodInitSpec(this, _clampCoords);
70
- /**
71
- * Sets the additional offset in table size that may occur when the `navigableHeaders` option
72
- * is enabled.
73
- *
74
- * @param {{x: number, y: number}} offset Offset as x and y properties.
75
- */
76
- _classPrivateMethodInitSpec(this, _setOffsetSize);
77
18
  /**
78
19
  * Instance of the SelectionRange, holder for visual coordinates applied to the table.
79
20
  *
80
21
  * @type {SelectionRange}
81
22
  */
82
- _classPrivateFieldInitSpec(this, _range, {
83
- writable: true,
84
- value: void 0
85
- });
23
+ this.range = range;
86
24
  /**
87
25
  * Additional options which define the state of the settings which can infer transformation and
88
26
  * give the possibility to translate indexes.
89
27
  *
90
28
  * @type {object}
91
29
  */
92
- _classPrivateFieldInitSpec(this, _options, {
93
- writable: true,
94
- value: void 0
95
- });
96
- /**
97
- * Increases the table size by applying the offsets. The option is used by the `navigableHeaders`
98
- * option.
99
- *
100
- * @type {{ x: number, y: number }}
101
- */
102
- _classPrivateFieldInitSpec(this, _offset, {
103
- writable: true,
104
- value: {
105
- x: 0,
106
- y: 0
107
- }
108
- });
109
- _classPrivateFieldSet(this, _range, range);
110
- _classPrivateFieldSet(this, _options, options);
30
+ this.options = options;
111
31
  }
112
32
 
113
33
  /**
114
- * Selects cell relative to the current cell (if possible).
34
+ * Selects cell relative to current cell (if possible).
115
35
  *
116
36
  * @param {number} rowDelta Rows number to move, value can be passed as negative number.
117
37
  * @param {number} colDelta Columns number to move, value can be passed as negative number.
118
- * @param {boolean} [createMissingRecords=false] If `true` the new rows/columns will be created if necessary. Otherwise, row/column will
38
+ * @param {boolean} [force=false] If `true` the new rows/columns will be created if necessary. Otherwise, row/column will
119
39
  * be created according to `minSpareRows/minSpareCols` settings of Handsontable.
120
40
  * @returns {CellCoords} Visual coordinates after transformation.
121
41
  */
122
42
  transformStart(rowDelta, colDelta) {
123
- let createMissingRecords = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
124
- _classPrivateMethodGet(this, _setOffsetSize, _setOffsetSize2).call(this, {
125
- x: _classPrivateFieldGet(this, _options).navigableHeaders() ? _classPrivateFieldGet(this, _options).countRowHeaders() : 0,
126
- y: _classPrivateFieldGet(this, _options).navigableHeaders() ? _classPrivateFieldGet(this, _options).countColHeaders() : 0
127
- });
128
- const delta = _classPrivateFieldGet(this, _options).createCellCoords(rowDelta, colDelta);
129
- let visualCoords = _classPrivateFieldGet(this, _range).current().highlight;
130
- const highlightRenderableCoords = _classPrivateFieldGet(this, _options).visualToRenderableCoords(visualCoords);
43
+ let force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
44
+ const delta = this.options.createCellCoords(rowDelta, colDelta);
45
+ const highlightCoords = this.range.current().highlight;
46
+ const {
47
+ row: renderableRow,
48
+ col: renderableColumn
49
+ } = this.options.visualToRenderableCoords(highlightCoords);
50
+ let visualCoords = highlightCoords;
131
51
  let rowTransformDir = 0;
132
52
  let colTransformDir = 0;
133
53
  this.runLocalHooks('beforeTransformStart', delta);
134
- if (highlightRenderableCoords.row !== null && highlightRenderableCoords.col !== null) {
135
- const {
136
- width,
137
- height
138
- } = _classPrivateMethodGet(this, _getTableSize, _getTableSize2).call(this);
139
- const {
140
- x,
141
- y
142
- } = _classPrivateMethodGet(this, _visualToZeroBasedCoords, _visualToZeroBasedCoords2).call(this, visualCoords);
143
- const fixedRowsBottom = _classPrivateFieldGet(this, _options).fixedRowsBottom();
144
- const minSpareRows = _classPrivateFieldGet(this, _options).minSpareRows();
145
- const minSpareCols = _classPrivateFieldGet(this, _options).minSpareCols();
146
- const autoWrapRow = _classPrivateFieldGet(this, _options).autoWrapRow();
147
- const autoWrapCol = _classPrivateFieldGet(this, _options).autoWrapCol();
148
- const rawCoords = {
149
- row: y + delta.row,
150
- col: x + delta.col
151
- };
152
- if (rawCoords.row >= height) {
153
- if (createMissingRecords && minSpareRows > 0 && fixedRowsBottom === 0) {
154
- this.runLocalHooks('insertRowRequire', _classPrivateFieldGet(this, _options).countRenderableRows());
54
+ if (renderableRow !== null && renderableColumn !== null) {
55
+ let totalRows = this.options.countRows();
56
+ let totalCols = this.options.countCols();
57
+ const fixedRowsBottom = this.options.fixedRowsBottom();
58
+ const minSpareRows = this.options.minSpareRows();
59
+ const minSpareCols = this.options.minSpareCols();
60
+ const autoWrapRow = this.options.autoWrapRow();
61
+ const autoWrapCol = this.options.autoWrapCol();
62
+ if (renderableRow + rowDelta > totalRows - 1) {
63
+ if (force && minSpareRows > 0 && !(fixedRowsBottom && renderableRow >= totalRows - fixedRowsBottom - 1)) {
64
+ this.runLocalHooks('insertRowRequire', totalRows);
65
+ totalRows = this.options.countRows();
155
66
  } else if (autoWrapCol) {
156
- const nextColumn = rawCoords.col + 1;
157
- rawCoords.row = rawCoords.row - height;
158
- rawCoords.col = nextColumn >= width ? nextColumn - width : nextColumn;
159
- }
160
- } else if (rawCoords.row < 0) {
161
- if (autoWrapCol) {
162
- const previousColumn = rawCoords.col - 1;
163
- rawCoords.row = height + rawCoords.row;
164
- rawCoords.col = previousColumn < 0 ? width + previousColumn : previousColumn;
67
+ delta.row = 1 - totalRows;
68
+ delta.col = renderableColumn + delta.col === totalCols - 1 ? 1 - totalCols : 1;
165
69
  }
70
+ } else if (autoWrapCol && renderableRow + delta.row < 0 && renderableColumn + delta.col >= 0) {
71
+ delta.row = totalRows - 1;
72
+ delta.col = renderableColumn + delta.col === 0 ? totalCols - 1 : -1;
166
73
  }
167
- if (rawCoords.col >= width) {
168
- if (createMissingRecords && minSpareCols > 0) {
169
- this.runLocalHooks('insertColRequire', _classPrivateFieldGet(this, _options).countRenderableColumns());
74
+ if (renderableColumn + delta.col > totalCols - 1) {
75
+ if (force && minSpareCols > 0) {
76
+ this.runLocalHooks('insertColRequire', totalCols);
77
+ totalCols = this.options.countCols();
170
78
  } else if (autoWrapRow) {
171
- const nextRow = rawCoords.row + 1;
172
- rawCoords.row = nextRow >= height ? nextRow - height : nextRow;
173
- rawCoords.col = rawCoords.col - width;
174
- }
175
- } else if (rawCoords.col < 0) {
176
- if (autoWrapRow) {
177
- const previousRow = rawCoords.row - 1;
178
- rawCoords.row = previousRow < 0 ? height + previousRow : previousRow;
179
- rawCoords.col = width + rawCoords.col;
79
+ delta.row = renderableRow + delta.row === totalRows - 1 ? 1 - totalRows : 1;
80
+ delta.col = 1 - totalCols;
180
81
  }
82
+ } else if (autoWrapRow && renderableColumn + delta.col < 0 && renderableRow + delta.row >= 0) {
83
+ delta.row = renderableRow + delta.row === 0 ? totalRows - 1 : -1;
84
+ delta.col = totalCols - 1;
181
85
  }
182
- const coords = _classPrivateFieldGet(this, _options).createCellCoords(rawCoords.row, rawCoords.col);
183
- const {
184
- rowDir,
185
- colDir
186
- } = _classPrivateMethodGet(this, _clampCoords, _clampCoords2).call(this, coords);
187
- rowTransformDir = rowDir;
188
- colTransformDir = colDir;
189
- visualCoords = _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, coords);
86
+ const coords = this.options.createCellCoords(renderableRow + delta.row, renderableColumn + delta.col);
87
+ rowTransformDir = 0;
88
+ colTransformDir = 0;
89
+ if (coords.row < 0) {
90
+ rowTransformDir = -1;
91
+ coords.row = 0;
92
+ } else if (coords.row > 0 && coords.row >= totalRows) {
93
+ rowTransformDir = 1;
94
+ coords.row = totalRows - 1;
95
+ }
96
+ if (coords.col < 0) {
97
+ colTransformDir = -1;
98
+ coords.col = 0;
99
+ } else if (coords.col > 0 && coords.col >= totalCols) {
100
+ colTransformDir = 1;
101
+ coords.col = totalCols - 1;
102
+ }
103
+ visualCoords = this.options.renderableToVisualCoords(coords);
190
104
  }
191
105
  this.runLocalHooks('afterTransformStart', visualCoords, rowTransformDir, colTransformDir);
192
106
  return visualCoords;
193
107
  }
194
108
 
195
109
  /**
196
- * Sets selection end cell relative to the current selection end cell (if possible).
110
+ * Sets selection end cell relative to current selection end cell (if possible).
197
111
  *
198
112
  * @param {number} rowDelta Rows number to move, value can be passed as negative number.
199
113
  * @param {number} colDelta Columns number to move, value can be passed as negative number.
200
114
  * @returns {CellCoords} Visual coordinates after transformation.
201
115
  */
202
116
  transformEnd(rowDelta, colDelta) {
203
- _classPrivateMethodGet(this, _setOffsetSize, _setOffsetSize2).call(this, {
204
- x: _classPrivateFieldGet(this, _options).navigableHeaders() ? _classPrivateFieldGet(this, _options).countRowHeaders() : 0,
205
- y: _classPrivateFieldGet(this, _options).navigableHeaders() ? _classPrivateFieldGet(this, _options).countColHeaders() : 0
206
- });
207
- const delta = _classPrivateFieldGet(this, _options).createCellCoords(rowDelta, colDelta);
208
- const cellRange = _classPrivateFieldGet(this, _range).current();
209
- const highlightRenderableCoords = _classPrivateFieldGet(this, _options).visualToRenderableCoords(cellRange.highlight);
210
- const visualCoords = cellRange.to.clone();
117
+ const delta = this.options.createCellCoords(rowDelta, colDelta);
118
+ const cellRange = this.range.current();
119
+ let visualCoords = cellRange.to;
211
120
  let rowTransformDir = 0;
212
121
  let colTransformDir = 0;
213
122
  this.runLocalHooks('beforeTransformEnd', delta);
214
- if (highlightRenderableCoords.row !== null && highlightRenderableCoords.col !== null) {
215
- const {
216
- x,
217
- y
218
- } = _classPrivateMethodGet(this, _visualToZeroBasedCoords, _visualToZeroBasedCoords2).call(this, cellRange.to);
219
- const rawCoords = {
220
- row: y + delta.row,
221
- col: x + delta.col
222
- };
223
- const coords = _classPrivateFieldGet(this, _options).createCellCoords(rawCoords.row, rawCoords.col);
123
+ const {
124
+ row: rowHighlight,
125
+ col: colHighlight
126
+ } = this.options.visualToRenderableCoords(cellRange.highlight);
127
+
128
+ // We have highlight (start point for the selection).
129
+ if (rowHighlight !== null && colHighlight !== null) {
130
+ const totalRows = this.options.countRows();
131
+ const totalCols = this.options.countCols();
224
132
  const {
225
- rowDir,
226
- colDir
227
- } = _classPrivateMethodGet(this, _clampCoords, _clampCoords2).call(this, coords);
228
- rowTransformDir = rowDir;
229
- colTransformDir = colDir;
230
- const newVisualCoords = _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, coords);
231
- if (delta.row === 0 && delta.col !== 0) {
232
- visualCoords.col = newVisualCoords.col;
233
- } else if (delta.row !== 0 && delta.col === 0) {
234
- visualCoords.row = newVisualCoords.row;
235
- } else {
236
- visualCoords.row = newVisualCoords.row;
237
- visualCoords.col = newVisualCoords.col;
133
+ row: rowTo,
134
+ col: colTo
135
+ } = this.options.visualToRenderableCoords(cellRange.to);
136
+ const coords = this.options.createCellCoords(rowTo + delta.row, colTo + delta.col);
137
+ rowTransformDir = 0;
138
+ colTransformDir = 0;
139
+ if (coords.row < 0) {
140
+ rowTransformDir = -1;
141
+ coords.row = 0;
142
+ } else if (coords.row > 0 && coords.row >= totalRows) {
143
+ rowTransformDir = 1;
144
+ coords.row = totalRows - 1;
145
+ }
146
+ if (coords.col < 0) {
147
+ colTransformDir = -1;
148
+ coords.col = 0;
149
+ } else if (coords.col > 0 && coords.col >= totalCols) {
150
+ colTransformDir = 1;
151
+ coords.col = totalCols - 1;
238
152
  }
153
+ visualCoords = this.options.renderableToVisualCoords(coords);
239
154
  }
240
155
  this.runLocalHooks('afterTransformEnd', visualCoords, rowTransformDir, colTransformDir);
241
156
  return visualCoords;
242
157
  }
243
158
  }
244
- function _setOffsetSize2(_ref) {
245
- let {
246
- x,
247
- y
248
- } = _ref;
249
- _classPrivateFieldSet(this, _offset, {
250
- x,
251
- y
252
- });
253
- }
254
- function _clampCoords2(zeroBasedCoords) {
255
- const {
256
- width,
257
- height
258
- } = _classPrivateMethodGet(this, _getTableSize, _getTableSize2).call(this);
259
- let rowDir = 0;
260
- let colDir = 0;
261
- if (zeroBasedCoords.row < 0) {
262
- rowDir = -1;
263
- zeroBasedCoords.row = 0;
264
- } else if (zeroBasedCoords.row > 0 && zeroBasedCoords.row >= height) {
265
- rowDir = 1;
266
- zeroBasedCoords.row = height - 1;
267
- }
268
- if (zeroBasedCoords.col < 0) {
269
- colDir = -1;
270
- zeroBasedCoords.col = 0;
271
- } else if (zeroBasedCoords.col > 0 && zeroBasedCoords.col >= width) {
272
- colDir = 1;
273
- zeroBasedCoords.col = width - 1;
274
- }
275
- return {
276
- rowDir,
277
- colDir
278
- };
279
- }
280
- function _getTableSize2() {
281
- return {
282
- width: _classPrivateFieldGet(this, _offset).x + _classPrivateFieldGet(this, _options).countRenderableColumns(),
283
- height: _classPrivateFieldGet(this, _offset).y + _classPrivateFieldGet(this, _options).countRenderableRows()
284
- };
285
- }
286
- function _visualToZeroBasedCoords2(visualCoords) {
287
- const {
288
- row,
289
- col
290
- } = _classPrivateFieldGet(this, _options).visualToRenderableCoords(visualCoords);
291
- return {
292
- x: _classPrivateFieldGet(this, _offset).x + col,
293
- y: _classPrivateFieldGet(this, _offset).y + row
294
- };
295
- }
296
- function _zeroBasedToVisualCoords2(zeroBasedCoords) {
297
- zeroBasedCoords.col = zeroBasedCoords.col - _classPrivateFieldGet(this, _offset).x;
298
- zeroBasedCoords.row = zeroBasedCoords.row - _classPrivateFieldGet(this, _offset).y;
299
- return _classPrivateFieldGet(this, _options).renderableToVisualCoords(zeroBasedCoords);
300
- }
301
159
  (0, _object.mixin)(Transformation, _localHooks.default);
302
160
  var _default = Transformation;
303
161
  exports.default = _default;