handsontable 0.0.0-next-5a535ed-20240403 → 0.0.0-next-c2810a1-20240403

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.

Potentially problematic release.


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

Files changed (284) hide show
  1. package/3rdparty/walkontable/src/calculator/viewportColumns.js +12 -17
  2. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +12 -17
  3. package/3rdparty/walkontable/src/calculator/viewportRows.js +10 -15
  4. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +10 -15
  5. package/3rdparty/walkontable/src/cell/coords.js +12 -17
  6. package/3rdparty/walkontable/src/cell/coords.mjs +12 -17
  7. package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
  8. package/3rdparty/walkontable/src/cell/range.js +40 -28
  9. package/3rdparty/walkontable/src/cell/range.mjs +40 -28
  10. package/3rdparty/walkontable/src/core/_base.js +1 -1
  11. package/3rdparty/walkontable/src/core/_base.mjs +1 -1
  12. package/3rdparty/walkontable/src/event.js +72 -104
  13. package/3rdparty/walkontable/src/event.mjs +72 -104
  14. package/3rdparty/walkontable/src/overlay/inlineStart.js +15 -1
  15. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
  16. package/3rdparty/walkontable/src/overlay/top.js +11 -0
  17. package/3rdparty/walkontable/src/overlay/top.mjs +12 -1
  18. package/3rdparty/walkontable/src/overlays.js +46 -4
  19. package/3rdparty/walkontable/src/overlays.mjs +46 -4
  20. package/3rdparty/walkontable/src/scroll.js +15 -17
  21. package/3rdparty/walkontable/src/scroll.mjs +15 -17
  22. package/3rdparty/walkontable/src/selection/manager.js +48 -69
  23. package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
  24. package/3rdparty/walkontable/src/selection/scanner.js +33 -42
  25. package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
  26. package/3rdparty/walkontable/src/utils/columnStretching.js +27 -44
  27. package/3rdparty/walkontable/src/utils/columnStretching.mjs +27 -44
  28. package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
  29. package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
  30. package/base.js +2 -2
  31. package/base.mjs +2 -2
  32. package/core/viewportScroll/index.js +4 -1
  33. package/core/viewportScroll/index.mjs +4 -1
  34. package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
  35. package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
  36. package/core.d.ts +4 -3
  37. package/core.js +77 -22
  38. package/core.mjs +77 -22
  39. package/dataMap/dataSource.js +1 -1
  40. package/dataMap/dataSource.mjs +1 -1
  41. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
  42. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
  43. package/dataMap/metaManager/metaSchema.js +1 -1
  44. package/dataMap/metaManager/metaSchema.mjs +1 -1
  45. package/dataMap/replaceData.js +1 -1
  46. package/dataMap/replaceData.mjs +1 -1
  47. package/dist/handsontable.css +4 -4
  48. package/dist/handsontable.full.css +4 -4
  49. package/dist/handsontable.full.js +9063 -9122
  50. package/dist/handsontable.full.min.css +3 -3
  51. package/dist/handsontable.full.min.js +292 -292
  52. package/dist/handsontable.js +6968 -6574
  53. package/dist/handsontable.min.css +3 -3
  54. package/dist/handsontable.min.js +25 -25
  55. package/dist/languages/all.min.js +1 -1
  56. package/dist/languages/ar-AR.min.js +1 -1
  57. package/dist/languages/cs-CZ.min.js +1 -1
  58. package/dist/languages/de-CH.min.js +1 -1
  59. package/dist/languages/de-DE.min.js +1 -1
  60. package/dist/languages/en-US.min.js +1 -1
  61. package/dist/languages/es-MX.min.js +1 -1
  62. package/dist/languages/fr-FR.min.js +1 -1
  63. package/dist/languages/hr-HR.min.js +1 -1
  64. package/dist/languages/it-IT.min.js +1 -1
  65. package/dist/languages/ja-JP.min.js +1 -1
  66. package/dist/languages/ko-KR.min.js +1 -1
  67. package/dist/languages/lv-LV.min.js +1 -1
  68. package/dist/languages/nb-NO.min.js +1 -1
  69. package/dist/languages/nl-NL.min.js +1 -1
  70. package/dist/languages/pl-PL.min.js +1 -1
  71. package/dist/languages/pt-BR.min.js +1 -1
  72. package/dist/languages/ru-RU.min.js +1 -1
  73. package/dist/languages/sr-SP.min.js +1 -1
  74. package/dist/languages/zh-CN.min.js +1 -1
  75. package/dist/languages/zh-TW.min.js +1 -1
  76. package/editorManager.js +25 -23
  77. package/editorManager.mjs +25 -23
  78. package/editors/autocompleteEditor/autocompleteEditor.js +6 -10
  79. package/editors/autocompleteEditor/autocompleteEditor.mjs +6 -10
  80. package/editors/selectEditor/selectEditor.js +20 -19
  81. package/editors/selectEditor/selectEditor.mjs +20 -19
  82. package/eventManager.js +1 -1
  83. package/eventManager.mjs +1 -1
  84. package/focusManager.js +64 -82
  85. package/focusManager.mjs +64 -82
  86. package/helpers/dom/element.js +23 -1
  87. package/helpers/dom/element.mjs +21 -1
  88. package/helpers/mixed.js +1 -1
  89. package/helpers/mixed.mjs +1 -1
  90. package/helpers/object.js +2 -2
  91. package/helpers/object.mjs +2 -2
  92. package/i18n/languages/ar-AR.d.ts +5 -0
  93. package/i18n/languages/cs-CZ.d.ts +5 -0
  94. package/i18n/languages/hr-HR.d.ts +5 -0
  95. package/i18n/languages/sr-SP.d.ts +5 -0
  96. package/index.d.ts +10 -0
  97. package/package.json +7 -2
  98. package/pluginHooks.d.ts +4 -3
  99. package/pluginHooks.js +99 -38
  100. package/pluginHooks.mjs +99 -38
  101. package/plugins/autoColumnSize/autoColumnSize.js +49 -65
  102. package/plugins/autoColumnSize/autoColumnSize.mjs +49 -65
  103. package/plugins/autoRowSize/autoRowSize.js +28 -34
  104. package/plugins/autoRowSize/autoRowSize.mjs +28 -34
  105. package/plugins/autofill/autofill.js +30 -38
  106. package/plugins/autofill/autofill.mjs +30 -38
  107. package/plugins/base/base.js +12 -17
  108. package/plugins/base/base.mjs +12 -17
  109. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +5 -5
  110. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +5 -5
  111. package/plugins/collapsibleColumns/collapsibleColumns.js +59 -50
  112. package/plugins/collapsibleColumns/collapsibleColumns.mjs +59 -50
  113. package/plugins/columnSorting/columnSorting.js +49 -45
  114. package/plugins/columnSorting/columnSorting.mjs +49 -45
  115. package/plugins/columnSummary/columnSummary.js +22 -26
  116. package/plugins/columnSummary/columnSummary.mjs +22 -26
  117. package/plugins/comments/comments.js +116 -158
  118. package/plugins/comments/comments.mjs +116 -158
  119. package/plugins/contextMenu/contextMenu.js +20 -26
  120. package/plugins/contextMenu/contextMenu.mjs +20 -26
  121. package/plugins/contextMenu/itemsFactory.js +1 -1
  122. package/plugins/contextMenu/itemsFactory.mjs +1 -1
  123. package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
  124. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
  125. package/plugins/contextMenu/menu/menu.js +13 -21
  126. package/plugins/contextMenu/menu/menu.mjs +13 -21
  127. package/plugins/contextMenu/menu/positioner.js +41 -58
  128. package/plugins/contextMenu/menu/positioner.mjs +41 -58
  129. package/plugins/copyPaste/copyPaste.js +116 -157
  130. package/plugins/copyPaste/copyPaste.mjs +116 -157
  131. package/plugins/copyPaste/copyableRanges.js +43 -66
  132. package/plugins/copyPaste/copyableRanges.mjs +43 -66
  133. package/plugins/customBorders/customBorders.js +11 -13
  134. package/plugins/customBorders/customBorders.mjs +11 -13
  135. package/plugins/dragToScroll/dragToScroll.js +6 -6
  136. package/plugins/dragToScroll/dragToScroll.mjs +6 -6
  137. package/plugins/dropdownMenu/dropdownMenu.js +81 -107
  138. package/plugins/dropdownMenu/dropdownMenu.mjs +81 -107
  139. package/plugins/exportFile/dataProvider.js +1 -1
  140. package/plugins/exportFile/dataProvider.mjs +1 -1
  141. package/plugins/filters/component/actionBar.js +9 -9
  142. package/plugins/filters/component/actionBar.mjs +8 -8
  143. package/plugins/filters/component/condition.js +13 -15
  144. package/plugins/filters/component/condition.mjs +13 -15
  145. package/plugins/filters/component/operators.js +6 -6
  146. package/plugins/filters/component/operators.mjs +6 -6
  147. package/plugins/filters/component/value.js +24 -28
  148. package/plugins/filters/component/value.mjs +24 -28
  149. package/plugins/filters/conditionUpdateObserver.js +22 -24
  150. package/plugins/filters/conditionUpdateObserver.mjs +22 -24
  151. package/plugins/filters/dataFilter.js +1 -1
  152. package/plugins/filters/dataFilter.mjs +1 -1
  153. package/plugins/filters/filters.js +81 -95
  154. package/plugins/filters/filters.mjs +81 -95
  155. package/plugins/filters/ui/input.js +13 -19
  156. package/plugins/filters/ui/input.mjs +13 -19
  157. package/plugins/filters/ui/link.js +8 -13
  158. package/plugins/filters/ui/link.mjs +8 -13
  159. package/plugins/filters/ui/multipleSelect.js +85 -112
  160. package/plugins/filters/ui/multipleSelect.mjs +85 -112
  161. package/plugins/filters/ui/radioInput.js +12 -20
  162. package/plugins/filters/ui/radioInput.mjs +12 -20
  163. package/plugins/filters/ui/select.js +50 -72
  164. package/plugins/filters/ui/select.mjs +49 -71
  165. package/plugins/formulas/formulas.js +268 -326
  166. package/plugins/formulas/formulas.mjs +269 -327
  167. package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
  168. package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
  169. package/plugins/formulas/indexSyncer/index.js +25 -48
  170. package/plugins/formulas/indexSyncer/index.mjs +25 -48
  171. package/plugins/hiddenColumns/hiddenColumns.js +64 -83
  172. package/plugins/hiddenColumns/hiddenColumns.mjs +64 -83
  173. package/plugins/hiddenRows/hiddenRows.js +63 -82
  174. package/plugins/hiddenRows/hiddenRows.mjs +63 -82
  175. package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
  176. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
  177. package/plugins/manualColumnMove/manualColumnMove.js +126 -170
  178. package/plugins/manualColumnMove/manualColumnMove.mjs +126 -170
  179. package/plugins/manualColumnResize/manualColumnResize.js +169 -230
  180. package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
  181. package/plugins/manualRowMove/manualRowMove.js +99 -128
  182. package/plugins/manualRowMove/manualRowMove.mjs +99 -128
  183. package/plugins/manualRowResize/manualRowResize.js +150 -209
  184. package/plugins/manualRowResize/manualRowResize.mjs +150 -209
  185. package/plugins/mergeCells/calculations/selection.js +2 -71
  186. package/plugins/mergeCells/calculations/selection.mjs +2 -71
  187. package/plugins/mergeCells/cellsCollection.js +117 -1
  188. package/plugins/mergeCells/cellsCollection.mjs +117 -1
  189. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +11 -1
  190. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
  191. package/plugins/mergeCells/focusOrder.js +305 -0
  192. package/plugins/mergeCells/focusOrder.mjs +300 -0
  193. package/plugins/mergeCells/mergeCells.js +499 -397
  194. package/plugins/mergeCells/mergeCells.mjs +499 -397
  195. package/plugins/multiColumnSorting/multiColumnSorting.js +8 -2
  196. package/plugins/multiColumnSorting/multiColumnSorting.mjs +8 -2
  197. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
  198. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
  199. package/plugins/nestedHeaders/nestedHeaders.js +205 -253
  200. package/plugins/nestedHeaders/nestedHeaders.mjs +206 -254
  201. package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
  202. package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
  203. package/plugins/nestedHeaders/stateManager/index.js +30 -41
  204. package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
  205. package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
  206. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
  207. package/plugins/nestedRows/data/dataManager.js +1 -1
  208. package/plugins/nestedRows/data/dataManager.mjs +1 -1
  209. package/plugins/nestedRows/nestedRows.js +151 -182
  210. package/plugins/nestedRows/nestedRows.mjs +152 -183
  211. package/plugins/nestedRows/ui/contextMenu.js +11 -15
  212. package/plugins/nestedRows/ui/contextMenu.mjs +10 -14
  213. package/plugins/nestedRows/utils/rowMoveController.js +1 -1
  214. package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
  215. package/plugins/persistentState/storage.js +2 -2
  216. package/plugins/persistentState/storage.mjs +2 -2
  217. package/plugins/search/search.js +7 -7
  218. package/plugins/search/search.mjs +7 -7
  219. package/plugins/touchScroll/touchScroll.js +15 -19
  220. package/plugins/touchScroll/touchScroll.mjs +16 -20
  221. package/plugins/trimRows/trimRows.js +6 -6
  222. package/plugins/trimRows/trimRows.mjs +6 -6
  223. package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
  224. package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
  225. package/selection/highlight/highlight.js +14 -14
  226. package/selection/highlight/highlight.mjs +13 -13
  227. package/selection/highlight/visualSelection.js +2 -0
  228. package/selection/highlight/visualSelection.mjs +2 -0
  229. package/selection/selection.js +225 -67
  230. package/selection/selection.mjs +224 -66
  231. package/selection/transformation.js +149 -118
  232. package/selection/transformation.mjs +149 -118
  233. package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
  234. package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
  235. package/shortcutContexts/commands/editor/open.js +18 -3
  236. package/shortcutContexts/commands/editor/open.mjs +18 -3
  237. package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
  238. package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
  239. package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
  240. package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
  241. package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
  242. package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
  243. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
  244. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
  245. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
  246. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
  247. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
  248. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
  249. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
  250. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
  251. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
  252. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
  253. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
  254. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
  255. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
  256. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
  257. package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
  258. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
  259. package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
  260. package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
  261. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +6 -1
  262. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
  263. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
  264. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
  265. package/shortcutContexts/grid.js +9 -3
  266. package/shortcutContexts/grid.mjs +9 -3
  267. package/shortcuts/context.js +2 -1
  268. package/shortcuts/context.mjs +2 -1
  269. package/tableView.js +52 -78
  270. package/tableView.mjs +52 -78
  271. package/translations/changesObservable/observable.js +21 -38
  272. package/translations/changesObservable/observable.mjs +21 -38
  273. package/translations/changesObservable/observer.js +7 -12
  274. package/translations/changesObservable/observer.mjs +6 -11
  275. package/translations/mapCollections/aggregatedCollection.js +1 -1
  276. package/translations/mapCollections/aggregatedCollection.mjs +1 -1
  277. package/translations/maps/indexMap.js +1 -1
  278. package/translations/maps/indexMap.mjs +1 -1
  279. package/utils/dataStructures/linkedList.js +6 -1
  280. package/utils/dataStructures/linkedList.mjs +6 -1
  281. package/utils/dataStructures/tree.js +1 -1
  282. package/utils/dataStructures/tree.mjs +1 -1
  283. package/utils/interval.js +26 -44
  284. package/utils/interval.mjs +26 -44
@@ -2,12 +2,9 @@ import "core-js/modules/es.error.cause.js";
2
2
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
3
3
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
4
4
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
5
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
6
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
7
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
8
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
9
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
10
- 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; } }
5
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
6
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
7
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
11
8
  /* eslint-disable no-continue */
12
9
  import { addClass } from "../../../../helpers/dom/element.mjs";
13
10
  /**
@@ -18,7 +15,7 @@ import { addClass } from "../../../../helpers/dom/element.mjs";
18
15
  */
19
16
  var _selection = /*#__PURE__*/new WeakMap();
20
17
  var _activeOverlaysWot = /*#__PURE__*/new WeakMap();
21
- var _scanCellsRange = /*#__PURE__*/new WeakSet();
18
+ var _SelectionScanner_brand = /*#__PURE__*/new WeakSet();
22
19
  export class SelectionScanner {
23
20
  constructor() {
24
21
  /**
@@ -26,25 +23,19 @@ export class SelectionScanner {
26
23
  *
27
24
  * @param {function(number, number): void} callback The callback function to trigger.
28
25
  */
29
- _classPrivateMethodInitSpec(this, _scanCellsRange);
26
+ _classPrivateMethodInitSpec(this, _SelectionScanner_brand);
30
27
  /**
31
28
  * Active Selection instance to process.
32
29
  *
33
30
  * @type {Selection}
34
31
  */
35
- _classPrivateFieldInitSpec(this, _selection, {
36
- writable: true,
37
- value: void 0
38
- });
32
+ _classPrivateFieldInitSpec(this, _selection, void 0);
39
33
  /**
40
34
  * The Walkontable instance that the scans depends on.
41
35
  *
42
36
  * @type {Walkontable}
43
37
  */
44
- _classPrivateFieldInitSpec(this, _activeOverlaysWot, {
45
- writable: true,
46
- value: void 0
47
- });
38
+ _classPrivateFieldInitSpec(this, _activeOverlaysWot, void 0);
48
39
  }
49
40
  /**
50
41
  * Sets the Walkontable instance that will be taking into account while scanning the table.
@@ -53,7 +44,7 @@ export class SelectionScanner {
53
44
  * @returns {SelectionScanner}
54
45
  */
55
46
  setActiveOverlay(activeOverlaysWot) {
56
- _classPrivateFieldSet(this, _activeOverlaysWot, activeOverlaysWot);
47
+ _classPrivateFieldSet(_activeOverlaysWot, this, activeOverlaysWot);
57
48
  return this;
58
49
  }
59
50
 
@@ -64,7 +55,7 @@ export class SelectionScanner {
64
55
  * @returns {SelectionScanner}
65
56
  */
66
57
  setActiveSelection(selection) {
67
- _classPrivateFieldSet(this, _selection, selection);
58
+ _classPrivateFieldSet(_selection, this, selection);
68
59
  return this;
69
60
  }
70
61
 
@@ -75,7 +66,7 @@ export class SelectionScanner {
75
66
  * @returns {HTMLTableElement[]}
76
67
  */
77
68
  scan() {
78
- const selectionType = _classPrivateFieldGet(this, _selection).settings.selectionType;
69
+ const selectionType = _classPrivateFieldGet(_selection, this).settings.selectionType;
79
70
  const elements = new Set();
80
71
 
81
72
  // TODO(improvement): use heuristics from coords to detect what type of scan
@@ -111,10 +102,10 @@ export class SelectionScanner {
111
102
  * @param {function(HTMLTableElement): void} callback The callback function to trigger.
112
103
  */
113
104
  scanColumnsInHeadersRange(callback) {
114
- const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(this, _selection).getCorners();
105
+ const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
115
106
  const {
116
107
  wtTable
117
- } = _classPrivateFieldGet(this, _activeOverlaysWot);
108
+ } = _classPrivateFieldGet(_activeOverlaysWot, this);
118
109
  const renderedColumnsCount = wtTable.getRenderedColumnsCount();
119
110
  const columnHeadersCount = wtTable.getColumnHeadersCount();
120
111
  let cursor = 0;
@@ -129,8 +120,8 @@ export class SelectionScanner {
129
120
  }
130
121
  const positiveBasedHeaderLevel = headerLevel + columnHeadersCount;
131
122
  let TH = wtTable.getColumnHeader(sourceColumn, positiveBasedHeaderLevel);
132
- const newSourceCol = _classPrivateFieldGet(this, _activeOverlaysWot).getSetting('onBeforeHighlightingColumnHeader', sourceColumn, positiveBasedHeaderLevel, {
133
- selectionType: _classPrivateFieldGet(this, _selection).settings.selectionType,
123
+ const newSourceCol = _classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onBeforeHighlightingColumnHeader', sourceColumn, positiveBasedHeaderLevel, {
124
+ selectionType: _classPrivateFieldGet(_selection, this).settings.selectionType,
134
125
  columnCursor: cursor,
135
126
  selectionWidth: bottomColumn - topColumn + 1
136
127
  });
@@ -153,10 +144,10 @@ export class SelectionScanner {
153
144
  * @param {function(HTMLTableElement): void} callback The callback function to trigger.
154
145
  */
155
146
  scanRowsInHeadersRange(callback) {
156
- const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(this, _selection).getCorners();
147
+ const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
157
148
  const {
158
149
  wtTable
159
- } = _classPrivateFieldGet(this, _activeOverlaysWot);
150
+ } = _classPrivateFieldGet(_activeOverlaysWot, this);
160
151
  const renderedRowsCount = wtTable.getRenderedRowsCount();
161
152
  const rowHeadersCount = wtTable.getRowHeadersCount();
162
153
  let cursor = 0;
@@ -171,8 +162,8 @@ export class SelectionScanner {
171
162
  }
172
163
  const positiveBasedHeaderLevel = headerLevel + rowHeadersCount;
173
164
  let TH = wtTable.getRowHeader(sourceRow, positiveBasedHeaderLevel);
174
- const newSourceRow = _classPrivateFieldGet(this, _activeOverlaysWot).getSetting('onBeforeHighlightingRowHeader', sourceRow, positiveBasedHeaderLevel, {
175
- selectionType: _classPrivateFieldGet(this, _selection).settings.selectionType,
165
+ const newSourceRow = _classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onBeforeHighlightingRowHeader', sourceRow, positiveBasedHeaderLevel, {
166
+ selectionType: _classPrivateFieldGet(_selection, this).settings.selectionType,
176
167
  rowCursor: cursor,
177
168
  selectionHeight: bottomRow - topRow + 1
178
169
  });
@@ -195,16 +186,16 @@ export class SelectionScanner {
195
186
  * @param {function(HTMLTableElement): void} callback The callback function to trigger.
196
187
  */
197
188
  scanCellsRange(callback) {
198
- const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(this, _selection).getCorners();
189
+ const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
199
190
  const {
200
191
  wtTable
201
- } = _classPrivateFieldGet(this, _activeOverlaysWot);
202
- _classPrivateMethodGet(this, _scanCellsRange, _scanCellsRange2).call(this, (sourceRow, sourceColumn) => {
192
+ } = _classPrivateFieldGet(_activeOverlaysWot, this);
193
+ _assertClassBrand(_SelectionScanner_brand, this, _scanCellsRange).call(this, (sourceRow, sourceColumn) => {
203
194
  if (sourceRow >= topRow && sourceRow <= bottomRow && sourceColumn >= topColumn && sourceColumn <= bottomColumn) {
204
- const cell = wtTable.getCell(_classPrivateFieldGet(this, _activeOverlaysWot).createCellCoords(sourceRow, sourceColumn));
195
+ const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(sourceRow, sourceColumn));
205
196
 
206
197
  // support for old API
207
- const additionalSelectionClass = _classPrivateFieldGet(this, _activeOverlaysWot).getSetting('onAfterDrawSelection', sourceRow, sourceColumn, _classPrivateFieldGet(this, _selection).settings.layerLevel);
198
+ const additionalSelectionClass = _classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onAfterDrawSelection', sourceRow, sourceColumn, _classPrivateFieldGet(_selection, this).settings.layerLevel);
208
199
  if (typeof additionalSelectionClass === 'string') {
209
200
  addClass(cell, additionalSelectionClass);
210
201
  }
@@ -221,13 +212,13 @@ export class SelectionScanner {
221
212
  */
222
213
  scanRowsInCellsRange(callback) {
223
214
  // eslint-disable-next-line comma-spacing
224
- const [topRow,, bottomRow] = _classPrivateFieldGet(this, _selection).getCorners();
215
+ const [topRow,, bottomRow] = _classPrivateFieldGet(_selection, this).getCorners();
225
216
  const {
226
217
  wtTable
227
- } = _classPrivateFieldGet(this, _activeOverlaysWot);
228
- _classPrivateMethodGet(this, _scanCellsRange, _scanCellsRange2).call(this, (sourceRow, sourceColumn) => {
218
+ } = _classPrivateFieldGet(_activeOverlaysWot, this);
219
+ _assertClassBrand(_SelectionScanner_brand, this, _scanCellsRange).call(this, (sourceRow, sourceColumn) => {
229
220
  if (sourceRow >= topRow && sourceRow <= bottomRow) {
230
- const cell = wtTable.getCell(_classPrivateFieldGet(this, _activeOverlaysWot).createCellCoords(sourceRow, sourceColumn));
221
+ const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(sourceRow, sourceColumn));
231
222
  callback(cell);
232
223
  }
233
224
  });
@@ -240,22 +231,22 @@ export class SelectionScanner {
240
231
  * @param {function(HTMLTableElement): void} callback The callback function to trigger.
241
232
  */
242
233
  scanColumnsInCellsRange(callback) {
243
- const [, topColumn,, bottomColumn] = _classPrivateFieldGet(this, _selection).getCorners();
234
+ const [, topColumn,, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
244
235
  const {
245
236
  wtTable
246
- } = _classPrivateFieldGet(this, _activeOverlaysWot);
247
- _classPrivateMethodGet(this, _scanCellsRange, _scanCellsRange2).call(this, (sourceRow, sourceColumn) => {
237
+ } = _classPrivateFieldGet(_activeOverlaysWot, this);
238
+ _assertClassBrand(_SelectionScanner_brand, this, _scanCellsRange).call(this, (sourceRow, sourceColumn) => {
248
239
  if (sourceColumn >= topColumn && sourceColumn <= bottomColumn) {
249
- const cell = wtTable.getCell(_classPrivateFieldGet(this, _activeOverlaysWot).createCellCoords(sourceRow, sourceColumn));
240
+ const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(sourceRow, sourceColumn));
250
241
  callback(cell);
251
242
  }
252
243
  });
253
244
  }
254
245
  }
255
- function _scanCellsRange2(callback) {
246
+ function _scanCellsRange(callback) {
256
247
  const {
257
248
  wtTable
258
- } = _classPrivateFieldGet(this, _activeOverlaysWot);
249
+ } = _classPrivateFieldGet(_activeOverlaysWot, this);
259
250
  const renderedRowsCount = wtTable.getRenderedRowsCount();
260
251
  const renderedColumnsCount = wtTable.getRenderedColumnsCount();
261
252
  for (let row = 0; row < renderedRowsCount; row += 1) {
@@ -7,11 +7,9 @@ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollect
7
7
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
9
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
11
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
12
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
13
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
14
- 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; } }
10
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
11
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
12
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
15
13
  var _totalTargetWidth = /*#__PURE__*/new WeakMap();
16
14
  var _totalColumns = /*#__PURE__*/new WeakMap();
17
15
  var _stretchingColumnWidthFn = /*#__PURE__*/new WeakMap();
@@ -63,10 +61,7 @@ class ColumnStretching {
63
61
  /**
64
62
  * @type {number}
65
63
  */
66
- _classPrivateFieldInitSpec(this, _totalTargetWidth, {
67
- writable: true,
68
- value: 0
69
- });
64
+ _classPrivateFieldInitSpec(this, _totalTargetWidth, 0);
70
65
  /**
71
66
  * @type {boolean}
72
67
  */
@@ -76,41 +71,29 @@ class ColumnStretching {
76
71
  *
77
72
  * @type {function(): number}
78
73
  */
79
- _classPrivateFieldInitSpec(this, _totalColumns, {
80
- writable: true,
81
- value: () => 0
82
- });
74
+ _classPrivateFieldInitSpec(this, _totalColumns, () => 0);
83
75
  /**
84
76
  * Function that returns the width of the stretched column at a given index (in px).
85
77
  *
86
78
  * @type {function(): number}
87
79
  */
88
- _classPrivateFieldInitSpec(this, _stretchingColumnWidthFn, {
89
- writable: true,
90
- value: width => width
91
- });
80
+ _classPrivateFieldInitSpec(this, _stretchingColumnWidthFn, width => width);
92
81
  /**
93
82
  * Function that returns the width of the column at a given index (in px).
94
83
  *
95
84
  * @type {function(): number}
96
85
  */
97
- _classPrivateFieldInitSpec(this, _columnWidthFn, {
98
- writable: true,
99
- value: width => width
100
- });
86
+ _classPrivateFieldInitSpec(this, _columnWidthFn, width => width);
101
87
  /**
102
88
  * Stretch mode.
103
89
  *
104
90
  * @type {function(): 'all' | 'last' | 'none'}
105
91
  */
106
- _classPrivateFieldInitSpec(this, _stretchMode, {
107
- writable: true,
108
- value: () => 'none'
109
- });
110
- _classPrivateFieldSet(this, _totalColumns, totalColumns);
111
- _classPrivateFieldSet(this, _stretchMode, stretchMode);
112
- _classPrivateFieldSet(this, _stretchingColumnWidthFn, stretchingColumnWidthFn !== null && stretchingColumnWidthFn !== void 0 ? stretchingColumnWidthFn : _classPrivateFieldGet(this, _stretchingColumnWidthFn));
113
- _classPrivateFieldSet(this, _columnWidthFn, columnWidthFn !== null && columnWidthFn !== void 0 ? columnWidthFn : _classPrivateFieldGet(this, _columnWidthFn));
92
+ _classPrivateFieldInitSpec(this, _stretchMode, () => 'none');
93
+ _classPrivateFieldSet(_totalColumns, this, totalColumns);
94
+ _classPrivateFieldSet(_stretchMode, this, stretchMode);
95
+ _classPrivateFieldSet(_stretchingColumnWidthFn, this, stretchingColumnWidthFn !== null && stretchingColumnWidthFn !== void 0 ? stretchingColumnWidthFn : _classPrivateFieldGet(_stretchingColumnWidthFn, this));
96
+ _classPrivateFieldSet(_columnWidthFn, this, columnWidthFn !== null && columnWidthFn !== void 0 ? columnWidthFn : _classPrivateFieldGet(_columnWidthFn, this));
114
97
  }
115
98
 
116
99
  /**
@@ -119,14 +102,14 @@ class ColumnStretching {
119
102
  * @param {number} totalWidth The total width of the table.
120
103
  */
121
104
  refreshStretching(totalWidth) {
122
- if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'none') {
105
+ if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'none') {
123
106
  return;
124
107
  }
125
- _classPrivateFieldSet(this, _totalTargetWidth, totalWidth);
108
+ _classPrivateFieldSet(_totalTargetWidth, this, totalWidth);
126
109
  let sumAll = 0;
127
- for (let i = 0; i < _classPrivateFieldGet(this, _totalColumns).call(this); i++) {
110
+ for (let i = 0; i < _classPrivateFieldGet(_totalColumns, this).call(this); i++) {
128
111
  const columnWidth = this._getColumnWidth(i);
129
- const permanentColumnWidth = _classPrivateFieldGet(this, _stretchingColumnWidthFn).call(this, undefined, i);
112
+ const permanentColumnWidth = _classPrivateFieldGet(_stretchingColumnWidthFn, this).call(this, undefined, i);
130
113
  if (typeof permanentColumnWidth === 'number') {
131
114
  totalWidth -= permanentColumnWidth;
132
115
  } else {
@@ -134,12 +117,12 @@ class ColumnStretching {
134
117
  }
135
118
  }
136
119
  const remainingSize = totalWidth - sumAll;
137
- if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'all' && remainingSize > 0) {
120
+ if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'all' && remainingSize > 0) {
138
121
  this.stretchAllRatio = totalWidth / sumAll;
139
122
  this.stretchAllColumnsWidth = [];
140
123
  this.needVerifyLastColumnWidth = true;
141
- } else if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'last' && totalWidth !== Infinity) {
142
- const columnWidth = this._getColumnWidth(_classPrivateFieldGet(this, _totalColumns).call(this) - 1);
124
+ } else if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'last' && totalWidth !== Infinity) {
125
+ const columnWidth = this._getColumnWidth(_classPrivateFieldGet(_totalColumns, this).call(this) - 1);
143
126
  const lastColumnWidth = remainingSize + columnWidth;
144
127
  this.stretchLastWidth = lastColumnWidth >= 0 ? lastColumnWidth : columnWidth;
145
128
  }
@@ -154,9 +137,9 @@ class ColumnStretching {
154
137
  */
155
138
  getStretchedColumnWidth(column, baseWidth) {
156
139
  let result = null;
157
- if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'all' && this.stretchAllRatio !== 0) {
140
+ if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'all' && this.stretchAllRatio !== 0) {
158
141
  result = this._getStretchedAllColumnWidth(column, baseWidth);
159
- } else if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'last' && this.stretchLastWidth !== 0) {
142
+ } else if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'last' && this.stretchLastWidth !== 0) {
160
143
  result = this._getStretchedLastColumnWidth(column);
161
144
  }
162
145
  return result;
@@ -172,20 +155,20 @@ class ColumnStretching {
172
155
  let sumRatioWidth = 0;
173
156
  if (!this.stretchAllColumnsWidth[column]) {
174
157
  const stretchedWidth = Math.round(baseWidth * this.stretchAllRatio);
175
- const newStretchedWidth = _classPrivateFieldGet(this, _stretchingColumnWidthFn).call(this, stretchedWidth, column);
158
+ const newStretchedWidth = _classPrivateFieldGet(_stretchingColumnWidthFn, this).call(this, stretchedWidth, column);
176
159
  if (newStretchedWidth === undefined) {
177
160
  this.stretchAllColumnsWidth[column] = stretchedWidth;
178
161
  } else {
179
162
  this.stretchAllColumnsWidth[column] = isNaN(newStretchedWidth) ? this._getColumnWidth(column) : newStretchedWidth;
180
163
  }
181
164
  }
182
- if (this.stretchAllColumnsWidth.length === _classPrivateFieldGet(this, _totalColumns).call(this) && this.needVerifyLastColumnWidth) {
165
+ if (this.stretchAllColumnsWidth.length === _classPrivateFieldGet(_totalColumns, this).call(this) && this.needVerifyLastColumnWidth) {
183
166
  this.needVerifyLastColumnWidth = false;
184
167
  for (let i = 0; i < this.stretchAllColumnsWidth.length; i++) {
185
168
  sumRatioWidth += this.stretchAllColumnsWidth[i];
186
169
  }
187
- if (sumRatioWidth !== _classPrivateFieldGet(this, _totalTargetWidth)) {
188
- this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length - 1] += _classPrivateFieldGet(this, _totalTargetWidth) - sumRatioWidth;
170
+ if (sumRatioWidth !== _classPrivateFieldGet(_totalTargetWidth, this)) {
171
+ this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length - 1] += _classPrivateFieldGet(_totalTargetWidth, this) - sumRatioWidth;
189
172
  }
190
173
  }
191
174
  return this.stretchAllColumnsWidth[column];
@@ -197,7 +180,7 @@ class ColumnStretching {
197
180
  * @private
198
181
  */
199
182
  _getStretchedLastColumnWidth(column) {
200
- if (column === _classPrivateFieldGet(this, _totalColumns).call(this) - 1) {
183
+ if (column === _classPrivateFieldGet(_totalColumns, this).call(this) - 1) {
201
184
  return this.stretchLastWidth;
202
185
  }
203
186
  return null;
@@ -209,7 +192,7 @@ class ColumnStretching {
209
192
  * @private
210
193
  */
211
194
  _getColumnWidth(column) {
212
- let width = _classPrivateFieldGet(this, _columnWidthFn).call(this, column);
195
+ let width = _classPrivateFieldGet(_columnWidthFn, this).call(this, column);
213
196
  if (isNaN(width)) {
214
197
  width = ColumnStretching.DEFAULT_WIDTH;
215
198
  }
@@ -4,11 +4,9 @@ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollect
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
6
6
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
8
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
9
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
10
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
11
- 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; } }
7
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
8
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
9
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
12
10
  var _totalTargetWidth = /*#__PURE__*/new WeakMap();
13
11
  var _totalColumns = /*#__PURE__*/new WeakMap();
14
12
  var _stretchingColumnWidthFn = /*#__PURE__*/new WeakMap();
@@ -60,10 +58,7 @@ export class ColumnStretching {
60
58
  /**
61
59
  * @type {number}
62
60
  */
63
- _classPrivateFieldInitSpec(this, _totalTargetWidth, {
64
- writable: true,
65
- value: 0
66
- });
61
+ _classPrivateFieldInitSpec(this, _totalTargetWidth, 0);
67
62
  /**
68
63
  * @type {boolean}
69
64
  */
@@ -73,41 +68,29 @@ export class ColumnStretching {
73
68
  *
74
69
  * @type {function(): number}
75
70
  */
76
- _classPrivateFieldInitSpec(this, _totalColumns, {
77
- writable: true,
78
- value: () => 0
79
- });
71
+ _classPrivateFieldInitSpec(this, _totalColumns, () => 0);
80
72
  /**
81
73
  * Function that returns the width of the stretched column at a given index (in px).
82
74
  *
83
75
  * @type {function(): number}
84
76
  */
85
- _classPrivateFieldInitSpec(this, _stretchingColumnWidthFn, {
86
- writable: true,
87
- value: width => width
88
- });
77
+ _classPrivateFieldInitSpec(this, _stretchingColumnWidthFn, width => width);
89
78
  /**
90
79
  * Function that returns the width of the column at a given index (in px).
91
80
  *
92
81
  * @type {function(): number}
93
82
  */
94
- _classPrivateFieldInitSpec(this, _columnWidthFn, {
95
- writable: true,
96
- value: width => width
97
- });
83
+ _classPrivateFieldInitSpec(this, _columnWidthFn, width => width);
98
84
  /**
99
85
  * Stretch mode.
100
86
  *
101
87
  * @type {function(): 'all' | 'last' | 'none'}
102
88
  */
103
- _classPrivateFieldInitSpec(this, _stretchMode, {
104
- writable: true,
105
- value: () => 'none'
106
- });
107
- _classPrivateFieldSet(this, _totalColumns, totalColumns);
108
- _classPrivateFieldSet(this, _stretchMode, stretchMode);
109
- _classPrivateFieldSet(this, _stretchingColumnWidthFn, stretchingColumnWidthFn !== null && stretchingColumnWidthFn !== void 0 ? stretchingColumnWidthFn : _classPrivateFieldGet(this, _stretchingColumnWidthFn));
110
- _classPrivateFieldSet(this, _columnWidthFn, columnWidthFn !== null && columnWidthFn !== void 0 ? columnWidthFn : _classPrivateFieldGet(this, _columnWidthFn));
89
+ _classPrivateFieldInitSpec(this, _stretchMode, () => 'none');
90
+ _classPrivateFieldSet(_totalColumns, this, totalColumns);
91
+ _classPrivateFieldSet(_stretchMode, this, stretchMode);
92
+ _classPrivateFieldSet(_stretchingColumnWidthFn, this, stretchingColumnWidthFn !== null && stretchingColumnWidthFn !== void 0 ? stretchingColumnWidthFn : _classPrivateFieldGet(_stretchingColumnWidthFn, this));
93
+ _classPrivateFieldSet(_columnWidthFn, this, columnWidthFn !== null && columnWidthFn !== void 0 ? columnWidthFn : _classPrivateFieldGet(_columnWidthFn, this));
111
94
  }
112
95
 
113
96
  /**
@@ -116,14 +99,14 @@ export class ColumnStretching {
116
99
  * @param {number} totalWidth The total width of the table.
117
100
  */
118
101
  refreshStretching(totalWidth) {
119
- if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'none') {
102
+ if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'none') {
120
103
  return;
121
104
  }
122
- _classPrivateFieldSet(this, _totalTargetWidth, totalWidth);
105
+ _classPrivateFieldSet(_totalTargetWidth, this, totalWidth);
123
106
  let sumAll = 0;
124
- for (let i = 0; i < _classPrivateFieldGet(this, _totalColumns).call(this); i++) {
107
+ for (let i = 0; i < _classPrivateFieldGet(_totalColumns, this).call(this); i++) {
125
108
  const columnWidth = this._getColumnWidth(i);
126
- const permanentColumnWidth = _classPrivateFieldGet(this, _stretchingColumnWidthFn).call(this, undefined, i);
109
+ const permanentColumnWidth = _classPrivateFieldGet(_stretchingColumnWidthFn, this).call(this, undefined, i);
127
110
  if (typeof permanentColumnWidth === 'number') {
128
111
  totalWidth -= permanentColumnWidth;
129
112
  } else {
@@ -131,12 +114,12 @@ export class ColumnStretching {
131
114
  }
132
115
  }
133
116
  const remainingSize = totalWidth - sumAll;
134
- if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'all' && remainingSize > 0) {
117
+ if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'all' && remainingSize > 0) {
135
118
  this.stretchAllRatio = totalWidth / sumAll;
136
119
  this.stretchAllColumnsWidth = [];
137
120
  this.needVerifyLastColumnWidth = true;
138
- } else if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'last' && totalWidth !== Infinity) {
139
- const columnWidth = this._getColumnWidth(_classPrivateFieldGet(this, _totalColumns).call(this) - 1);
121
+ } else if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'last' && totalWidth !== Infinity) {
122
+ const columnWidth = this._getColumnWidth(_classPrivateFieldGet(_totalColumns, this).call(this) - 1);
140
123
  const lastColumnWidth = remainingSize + columnWidth;
141
124
  this.stretchLastWidth = lastColumnWidth >= 0 ? lastColumnWidth : columnWidth;
142
125
  }
@@ -151,9 +134,9 @@ export class ColumnStretching {
151
134
  */
152
135
  getStretchedColumnWidth(column, baseWidth) {
153
136
  let result = null;
154
- if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'all' && this.stretchAllRatio !== 0) {
137
+ if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'all' && this.stretchAllRatio !== 0) {
155
138
  result = this._getStretchedAllColumnWidth(column, baseWidth);
156
- } else if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'last' && this.stretchLastWidth !== 0) {
139
+ } else if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'last' && this.stretchLastWidth !== 0) {
157
140
  result = this._getStretchedLastColumnWidth(column);
158
141
  }
159
142
  return result;
@@ -169,20 +152,20 @@ export class ColumnStretching {
169
152
  let sumRatioWidth = 0;
170
153
  if (!this.stretchAllColumnsWidth[column]) {
171
154
  const stretchedWidth = Math.round(baseWidth * this.stretchAllRatio);
172
- const newStretchedWidth = _classPrivateFieldGet(this, _stretchingColumnWidthFn).call(this, stretchedWidth, column);
155
+ const newStretchedWidth = _classPrivateFieldGet(_stretchingColumnWidthFn, this).call(this, stretchedWidth, column);
173
156
  if (newStretchedWidth === undefined) {
174
157
  this.stretchAllColumnsWidth[column] = stretchedWidth;
175
158
  } else {
176
159
  this.stretchAllColumnsWidth[column] = isNaN(newStretchedWidth) ? this._getColumnWidth(column) : newStretchedWidth;
177
160
  }
178
161
  }
179
- if (this.stretchAllColumnsWidth.length === _classPrivateFieldGet(this, _totalColumns).call(this) && this.needVerifyLastColumnWidth) {
162
+ if (this.stretchAllColumnsWidth.length === _classPrivateFieldGet(_totalColumns, this).call(this) && this.needVerifyLastColumnWidth) {
180
163
  this.needVerifyLastColumnWidth = false;
181
164
  for (let i = 0; i < this.stretchAllColumnsWidth.length; i++) {
182
165
  sumRatioWidth += this.stretchAllColumnsWidth[i];
183
166
  }
184
- if (sumRatioWidth !== _classPrivateFieldGet(this, _totalTargetWidth)) {
185
- this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length - 1] += _classPrivateFieldGet(this, _totalTargetWidth) - sumRatioWidth;
167
+ if (sumRatioWidth !== _classPrivateFieldGet(_totalTargetWidth, this)) {
168
+ this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length - 1] += _classPrivateFieldGet(_totalTargetWidth, this) - sumRatioWidth;
186
169
  }
187
170
  }
188
171
  return this.stretchAllColumnsWidth[column];
@@ -194,7 +177,7 @@ export class ColumnStretching {
194
177
  * @private
195
178
  */
196
179
  _getStretchedLastColumnWidth(column) {
197
- if (column === _classPrivateFieldGet(this, _totalColumns).call(this) - 1) {
180
+ if (column === _classPrivateFieldGet(_totalColumns, this).call(this) - 1) {
198
181
  return this.stretchLastWidth;
199
182
  }
200
183
  return null;
@@ -206,7 +189,7 @@ export class ColumnStretching {
206
189
  * @private
207
190
  */
208
191
  _getColumnWidth(column) {
209
- let width = _classPrivateFieldGet(this, _columnWidthFn).call(this, column);
192
+ let width = _classPrivateFieldGet(_columnWidthFn, this).call(this, column);
210
193
  if (isNaN(width)) {
211
194
  width = ColumnStretching.DEFAULT_WIDTH;
212
195
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- require("core-js/modules/es.array.push.js");
5
4
  require("core-js/modules/es.error.cause.js");
5
+ require("core-js/modules/es.array.push.js");
6
6
  var _constants = require("./constants");
7
7
  var _viewSizeSet = _interopRequireDefault(require("./viewSizeSet"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1,5 +1,5 @@
1
- import "core-js/modules/es.array.push.js";
2
1
  import "core-js/modules/es.error.cause.js";
2
+ import "core-js/modules/es.array.push.js";
3
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
5
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
package/base.js CHANGED
@@ -45,8 +45,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
45
45
  Handsontable.CellCoords = _src.CellCoords;
46
46
  Handsontable.CellRange = _src.CellRange;
47
47
  Handsontable.packageName = 'handsontable';
48
- Handsontable.buildDate = "03/04/2024 12:33:47";
49
- Handsontable.version = "0.0.0-next-5a535ed-20240403";
48
+ Handsontable.buildDate = "03/04/2024 13:17:43";
49
+ Handsontable.version = "0.0.0-next-c2810a1-20240403";
50
50
  Handsontable.languages = {
51
51
  dictionaryKeys: _registry.dictionaryKeys,
52
52
  getLanguageDictionary: _registry.getLanguageDictionary,
package/base.mjs CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
35
35
  Handsontable.CellCoords = CellCoords;
36
36
  Handsontable.CellRange = CellRange;
37
37
  Handsontable.packageName = 'handsontable';
38
- Handsontable.buildDate = "03/04/2024 12:33:52";
39
- Handsontable.version = "0.0.0-next-5a535ed-20240403";
38
+ Handsontable.buildDate = "03/04/2024 13:17:49";
39
+ Handsontable.version = "0.0.0-next-c2810a1-20240403";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys,
42
42
  getLanguageDictionary,
@@ -4,6 +4,7 @@ exports.__esModule = true;
4
4
  exports.createViewportScroller = createViewportScroller;
5
5
  var _columnHeaderScroll = require("./scrollStrategies/columnHeaderScroll");
6
6
  var _cornerHeaderScroll = require("./scrollStrategies/cornerHeaderScroll");
7
+ var _focusScroll = require("./scrollStrategies/focusScroll");
7
8
  var _multipleScroll = require("./scrollStrategies/multipleScroll");
8
9
  var _noncontiguousScroll = require("./scrollStrategies/noncontiguousScroll");
9
10
  var _rowHeaderScroll = require("./scrollStrategies/rowHeaderScroll");
@@ -46,7 +47,9 @@ function createViewportScroller(hot) {
46
47
  return;
47
48
  }
48
49
  let scrollStrategy;
49
- if (selection.isSelectedByCorner()) {
50
+ if (selection.isFocusSelectionChanged()) {
51
+ scrollStrategy = (0, _focusScroll.focusScrollStrategy)(hot);
52
+ } else if (selection.isSelectedByCorner()) {
50
53
  scrollStrategy = (0, _cornerHeaderScroll.cornerHeaderScrollStrategy)(hot);
51
54
  } else if (selection.isSelectedByRowHeader()) {
52
55
  scrollStrategy = (0, _rowHeaderScroll.rowHeaderScrollStrategy)(hot);
@@ -1,5 +1,6 @@
1
1
  import { columnHeaderScrollStrategy } from "./scrollStrategies/columnHeaderScroll.mjs";
2
2
  import { cornerHeaderScrollStrategy } from "./scrollStrategies/cornerHeaderScroll.mjs";
3
+ import { focusScrollStrategy } from "./scrollStrategies/focusScroll.mjs";
3
4
  import { multipleScrollStrategy } from "./scrollStrategies/multipleScroll.mjs";
4
5
  import { noncontiguousScrollStrategy } from "./scrollStrategies/noncontiguousScroll.mjs";
5
6
  import { rowHeaderScrollStrategy } from "./scrollStrategies/rowHeaderScroll.mjs";
@@ -42,7 +43,9 @@ export function createViewportScroller(hot) {
42
43
  return;
43
44
  }
44
45
  let scrollStrategy;
45
- if (selection.isSelectedByCorner()) {
46
+ if (selection.isFocusSelectionChanged()) {
47
+ scrollStrategy = focusScrollStrategy(hot);
48
+ } else if (selection.isSelectedByCorner()) {
46
49
  scrollStrategy = cornerHeaderScrollStrategy(hot);
47
50
  } else if (selection.isSelectedByRowHeader()) {
48
51
  scrollStrategy = rowHeaderScrollStrategy(hot);
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.focusScrollStrategy = focusScrollStrategy;
5
+ /**
6
+ * Scroll strategy for changed the focus position of the selection.
7
+ *
8
+ * @param {Core} hot Handsontable instance.
9
+ * @returns {function(): function(CellCoords): void}
10
+ */
11
+ function focusScrollStrategy(hot) {
12
+ return cellCoords => {
13
+ hot.scrollViewportTo(cellCoords.toObject());
14
+ };
15
+ }