handsontable 0.0.0-next-be250b6-20230621 → 0.0.0-next-dcd0acc-20230621

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 (237) 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 +12 -61
  5. package/3rdparty/walkontable/src/cell/coords.mjs +12 -61
  6. package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
  7. package/3rdparty/walkontable/src/cell/range.js +7 -44
  8. package/3rdparty/walkontable/src/cell/range.mjs +7 -44
  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 +4 -2
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +4 -2
  25. package/3rdparty/walkontable/src/overlay/top.js +4 -2
  26. package/3rdparty/walkontable/src/overlay/top.mjs +4 -2
  27. package/3rdparty/walkontable/src/selection.js +355 -0
  28. package/3rdparty/walkontable/src/selection.mjs +349 -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 +79 -7
  40. package/3rdparty/walkontable/src/table.mjs +80 -8
  41. package/base.js +2 -2
  42. package/base.mjs +2 -2
  43. package/core.d.ts +3 -5
  44. package/core.js +309 -127
  45. package/core.mjs +309 -127
  46. package/dataMap/metaManager/metaSchema.js +0 -19
  47. package/dataMap/metaManager/metaSchema.mjs +0 -19
  48. package/dist/handsontable.css +3 -8
  49. package/dist/handsontable.full.css +3 -8
  50. package/dist/handsontable.full.js +9113 -11930
  51. package/dist/handsontable.full.min.css +3 -3
  52. package/dist/handsontable.full.min.js +107 -107
  53. package/dist/handsontable.js +12329 -15146
  54. package/dist/handsontable.min.css +3 -3
  55. package/dist/handsontable.min.js +4 -4
  56. package/editorManager.js +94 -21
  57. package/editorManager.mjs +98 -26
  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 -5
  67. package/pluginHooks.js +1 -89
  68. package/pluginHooks.mjs +1 -89
  69. package/plugins/collapsibleColumns/collapsibleColumns.js +24 -81
  70. package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -81
  71. package/plugins/columnSorting/columnSorting.js +8 -50
  72. package/plugins/columnSorting/columnSorting.mjs +9 -49
  73. package/plugins/columnSorting/index.js +2 -4
  74. package/plugins/columnSorting/index.mjs +1 -1
  75. package/plugins/copyPaste/copyPaste.js +1 -5
  76. package/plugins/copyPaste/copyPaste.mjs +1 -5
  77. package/plugins/customBorders/customBorders.js +53 -18
  78. package/plugins/customBorders/customBorders.mjs +54 -19
  79. package/plugins/mergeCells/mergeCells.js +18 -5
  80. package/plugins/mergeCells/mergeCells.mjs +18 -5
  81. package/plugins/multiColumnSorting/multiColumnSorting.js +3 -42
  82. package/plugins/multiColumnSorting/multiColumnSorting.mjs +3 -42
  83. package/plugins/nestedHeaders/nestedHeaders.js +10 -132
  84. package/plugins/nestedHeaders/nestedHeaders.mjs +10 -132
  85. package/plugins/nestedHeaders/stateManager/index.js +0 -37
  86. package/plugins/nestedHeaders/stateManager/index.mjs +0 -37
  87. package/plugins/nestedRows/nestedRows.js +7 -52
  88. package/plugins/nestedRows/nestedRows.mjs +7 -52
  89. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  90. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  91. package/selection/highlight/constants.js +16 -0
  92. package/selection/highlight/constants.mjs +6 -0
  93. package/selection/highlight/highlight.js +89 -312
  94. package/selection/highlight/highlight.mjs +85 -302
  95. package/selection/highlight/types/activeHeader.js +9 -10
  96. package/selection/highlight/types/activeHeader.mjs +8 -10
  97. package/selection/highlight/types/area.js +27 -12
  98. package/selection/highlight/types/area.mjs +30 -16
  99. package/selection/highlight/types/{focus.js → cell.js} +8 -5
  100. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  101. package/selection/highlight/types/customSelection.js +10 -7
  102. package/selection/highlight/types/customSelection.mjs +9 -7
  103. package/selection/highlight/types/fill.js +8 -5
  104. package/selection/highlight/types/fill.mjs +7 -5
  105. package/selection/highlight/types/header.js +20 -10
  106. package/selection/highlight/types/header.mjs +19 -10
  107. package/selection/highlight/types/{row.js → index.js} +31 -27
  108. package/selection/highlight/types/{row.mjs → index.mjs} +29 -24
  109. package/selection/highlight/visualSelection.js +27 -31
  110. package/selection/highlight/visualSelection.mjs +27 -31
  111. package/selection/index.js +7 -4
  112. package/selection/index.mjs +3 -2
  113. package/selection/mouseEventHandler.js +1 -1
  114. package/selection/mouseEventHandler.mjs +1 -1
  115. package/selection/range.js +8 -8
  116. package/selection/range.mjs +8 -8
  117. package/selection/selection.js +181 -315
  118. package/selection/selection.mjs +180 -310
  119. package/selection/transformation.js +96 -233
  120. package/selection/transformation.mjs +93 -230
  121. package/selection/utils.js +36 -12
  122. package/selection/utils.mjs +36 -13
  123. package/settings.d.ts +0 -1
  124. package/shortcuts/manager.js +0 -2
  125. package/shortcuts/manager.mjs +0 -2
  126. package/tableView.js +9 -58
  127. package/tableView.mjs +9 -58
  128. package/translations/indexMapper.js +9 -8
  129. package/translations/indexMapper.mjs +9 -8
  130. package/3rdparty/walkontable/src/selection/border/constants.js +0 -18
  131. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -13
  132. package/3rdparty/walkontable/src/selection/constants.js +0 -63
  133. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  134. package/3rdparty/walkontable/src/selection/index.js +0 -30
  135. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  136. package/3rdparty/walkontable/src/selection/manager.js +0 -329
  137. package/3rdparty/walkontable/src/selection/manager.mjs +0 -323
  138. package/3rdparty/walkontable/src/selection/scanner.js +0 -364
  139. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -360
  140. package/3rdparty/walkontable/src/selection/selection.js +0 -133
  141. package/3rdparty/walkontable/src/selection/selection.mjs +0 -127
  142. package/selection/highlight/types/areaLayered.js +0 -54
  143. package/selection/highlight/types/areaLayered.mjs +0 -49
  144. package/selection/highlight/types/column.js +0 -50
  145. package/selection/highlight/types/column.mjs +0 -45
  146. package/shortcutContexts/commands/editor/closeAndSave.js +0 -15
  147. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -10
  148. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -13
  149. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  150. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  151. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -11
  152. package/shortcutContexts/commands/editor/index.js +0 -16
  153. package/shortcutContexts/commands/editor/index.mjs +0 -12
  154. package/shortcutContexts/commands/editor/open.js +0 -29
  155. package/shortcutContexts/commands/editor/open.mjs +0 -24
  156. package/shortcutContexts/commands/emptySelectedCells.js +0 -12
  157. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  158. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  159. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -10
  160. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -21
  161. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -16
  162. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  163. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  164. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  165. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -10
  166. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  167. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -10
  168. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  169. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -14
  170. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -22
  171. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -17
  172. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -17
  173. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -12
  174. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -17
  175. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -12
  176. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -40
  177. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -35
  178. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -40
  179. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -35
  180. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -22
  181. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -17
  182. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  183. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -14
  184. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  185. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -10
  186. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -21
  187. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -16
  188. package/shortcutContexts/commands/index.js +0 -53
  189. package/shortcutContexts/commands/index.mjs +0 -49
  190. package/shortcutContexts/commands/moveCellSelection/down.js +0 -12
  191. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -7
  192. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -29
  193. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -24
  194. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  195. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  196. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -13
  197. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  198. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -13
  199. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  200. package/shortcutContexts/commands/moveCellSelection/left.js +0 -11
  201. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  202. package/shortcutContexts/commands/moveCellSelection/right.js +0 -11
  203. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  204. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -16
  205. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -11
  206. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -17
  207. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -12
  208. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -13
  209. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -8
  210. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -16
  211. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -11
  212. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -36
  213. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -31
  214. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -36
  215. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -31
  216. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -16
  217. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -11
  218. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -18
  219. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -13
  220. package/shortcutContexts/commands/moveCellSelection/up.js +0 -12
  221. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -7
  222. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -29
  223. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -24
  224. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -35
  225. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -30
  226. package/shortcutContexts/commands/scrollToFocusedCell.js +0 -38
  227. package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -33
  228. package/shortcutContexts/commands/selectAll.js +0 -11
  229. package/shortcutContexts/commands/selectAll.mjs +0 -6
  230. package/shortcutContexts/constants.js +0 -19
  231. package/shortcutContexts/constants.mjs +0 -12
  232. package/shortcutContexts/editor.js +0 -29
  233. package/shortcutContexts/editor.mjs +0 -25
  234. package/shortcutContexts/grid.js +0 -252
  235. package/shortcutContexts/grid.mjs +0 -248
  236. package/shortcutContexts/index.js +0 -29
  237. package/shortcutContexts/index.mjs +0 -15
@@ -236,6 +236,9 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
236
236
  this.addHook('afterDrawSelection', function () {
237
237
  return _this2.onAfterDrawSelection.apply(_this2, arguments);
238
238
  });
239
+ this.addHook('beforeRemoveCellClassNames', function () {
240
+ return _this2.onBeforeRemoveCellClassNames.apply(_this2, arguments);
241
+ });
239
242
  this.addHook('beforeUndoStackChange', function (action, source) {
240
243
  if (source === 'MergeCells') {
241
244
  return false;
@@ -652,11 +655,8 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
652
655
  gridContext.addShortcut({
653
656
  keys: [['Control', 'm']],
654
657
  callback: function callback() {
655
- var range = _this7.hot.getSelectedRangeLast();
656
- if (range && !range.isSingleHeader()) {
657
- _this7.toggleMerge(range);
658
- _this7.hot.render();
659
- }
658
+ _this7.toggleMerge(_this7.hot.getSelectedRangeLast());
659
+ _this7.hot.render();
660
660
  },
661
661
  runOnlyIf: function runOnlyIf(event) {
662
662
  return !event.altKey;
@@ -1333,6 +1333,19 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
1333
1333
  }
1334
1334
  return this.selectionCalculations.getSelectedMergedCellClassName(currentRow, currentColumn, cornersOfSelection, layerLevel);
1335
1335
  }
1336
+
1337
+ /**
1338
+ * `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
1339
+ *
1340
+ * @private
1341
+ * @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
1342
+ * all the cells in the table.
1343
+ */
1344
+ }, {
1345
+ key: "onBeforeRemoveCellClassNames",
1346
+ value: function onBeforeRemoveCellClassNames() {
1347
+ return this.selectionCalculations.getSelectedMergedCellClassNameToRemove();
1348
+ }
1336
1349
  }], [{
1337
1350
  key: "PLUGIN_KEY",
1338
1351
  get: function get() {
@@ -16,8 +16,8 @@ require("core-js/modules/es.string.iterator.js");
16
16
  require("core-js/modules/web.dom-collections.iterator.js");
17
17
  exports.__esModule = true;
18
18
  exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.MultiColumnSorting = void 0;
19
- require("core-js/modules/es.array.sort.js");
20
19
  require("core-js/modules/es.array.concat.js");
20
+ require("core-js/modules/es.array.sort.js");
21
21
  require("core-js/modules/es.object.set-prototype-of.js");
22
22
  require("core-js/modules/es.object.get-prototype-of.js");
23
23
  var _columnSorting = require("../columnSorting");
@@ -45,8 +45,8 @@ var PLUGIN_KEY = 'multiColumnSorting';
45
45
  exports.PLUGIN_KEY = PLUGIN_KEY;
46
46
  var PLUGIN_PRIORITY = 170;
47
47
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
48
+ var APPEND_COLUMN_CONFIG_STRATEGY = 'append';
48
49
  var CONFLICTED_PLUGIN_KEY = 'columnSorting';
49
- var SHORTCUTS_GROUP = PLUGIN_KEY;
50
50
  (0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
51
51
 
52
52
  /**
@@ -151,45 +151,6 @@ var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
151
151
  _get(_getPrototypeOf(MultiColumnSorting.prototype), "disablePlugin", this).call(this);
152
152
  }
153
153
 
154
- /**
155
- * Register shortcuts responsible for toggling column sorting functionality.
156
- *
157
- * @private
158
- */
159
- }, {
160
- key: "registerShortcuts",
161
- value: function registerShortcuts() {
162
- var _this2 = this;
163
- _get(_getPrototypeOf(MultiColumnSorting.prototype), "registerShortcuts", this).call(this);
164
- this.hot.getShortcutManager().getContext('grid').addShortcut({
165
- keys: [['Control/Meta', 'Enter']],
166
- callback: function callback() {
167
- var _this2$hot$getSelecte = _this2.hot.getSelectedRangeLast(),
168
- highlight = _this2$hot$getSelecte.highlight;
169
- if (highlight.row === -1 && highlight.col >= 0) {
170
- _this2.sort(_this2.getNextSortConfig(highlight.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
171
- }
172
- },
173
- runOnlyIf: function runOnlyIf() {
174
- var _this2$hot$getSelecte2;
175
- return (_this2$hot$getSelecte2 = _this2.hot.getSelectedRangeLast()) === null || _this2$hot$getSelecte2 === void 0 ? void 0 : _this2$hot$getSelecte2.highlight.isHeader();
176
- },
177
- group: SHORTCUTS_GROUP
178
- });
179
- }
180
-
181
- /**
182
- * Unregister shortcuts responsible for toggling column sorting functionality.
183
- *
184
- * @private
185
- */
186
- }, {
187
- key: "unregisterShortcuts",
188
- value: function unregisterShortcuts() {
189
- _get(_getPrototypeOf(MultiColumnSorting.prototype), "unregisterShortcuts", this).call(this);
190
- this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
191
- }
192
-
193
154
  /**
194
155
  * Sorts the table by chosen columns and orders.
195
156
  *
@@ -358,7 +319,7 @@ var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
358
319
  if (this.hot.getShortcutManager().isCtrlPressed()) {
359
320
  this.hot.deselectCell();
360
321
  this.hot.selectColumns(coords.col);
361
- this.sort(this.getNextSortConfig(coords.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
322
+ this.sort(this.getNextSortConfig(coords.col, APPEND_COLUMN_CONFIG_STRATEGY));
362
323
  } else {
363
324
  this.sort(this.getColumnNextConfig(coords.col));
364
325
  }
@@ -1,6 +1,6 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- import "core-js/modules/es.array.sort.js";
3
2
  import "core-js/modules/es.array.concat.js";
3
+ import "core-js/modules/es.array.sort.js";
4
4
  import "core-js/modules/es.object.set-prototype-of.js";
5
5
  import "core-js/modules/es.object.get-prototype-of.js";
6
6
  import "core-js/modules/es.object.to-string.js";
@@ -30,7 +30,7 @@ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) ===
30
30
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
31
31
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
32
32
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
33
- import { APPEND_COLUMN_CONFIG_STRATEGY, ColumnSorting } from "../columnSorting/index.mjs";
33
+ import { ColumnSorting } from "../columnSorting/index.mjs";
34
34
  import { registerRootComparator } from "../columnSorting/sortService/index.mjs";
35
35
  import { wasHeaderClickedProperly } from "../columnSorting/utils.mjs";
36
36
  import { addClass, removeClass } from "../../helpers/dom/element.mjs";
@@ -39,8 +39,8 @@ import { warnAboutPluginsConflict } from "./utils.mjs";
39
39
  import { getClassesToAdd, getClassesToRemove } from "./domHelpers.mjs";
40
40
  export var PLUGIN_KEY = 'multiColumnSorting';
41
41
  export var PLUGIN_PRIORITY = 170;
42
+ var APPEND_COLUMN_CONFIG_STRATEGY = 'append';
42
43
  var CONFLICTED_PLUGIN_KEY = 'columnSorting';
43
- var SHORTCUTS_GROUP = PLUGIN_KEY;
44
44
  registerRootComparator(PLUGIN_KEY, rootComparator);
45
45
 
46
46
  /**
@@ -145,45 +145,6 @@ export var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
145
145
  _get(_getPrototypeOf(MultiColumnSorting.prototype), "disablePlugin", this).call(this);
146
146
  }
147
147
 
148
- /**
149
- * Register shortcuts responsible for toggling column sorting functionality.
150
- *
151
- * @private
152
- */
153
- }, {
154
- key: "registerShortcuts",
155
- value: function registerShortcuts() {
156
- var _this2 = this;
157
- _get(_getPrototypeOf(MultiColumnSorting.prototype), "registerShortcuts", this).call(this);
158
- this.hot.getShortcutManager().getContext('grid').addShortcut({
159
- keys: [['Control/Meta', 'Enter']],
160
- callback: function callback() {
161
- var _this2$hot$getSelecte = _this2.hot.getSelectedRangeLast(),
162
- highlight = _this2$hot$getSelecte.highlight;
163
- if (highlight.row === -1 && highlight.col >= 0) {
164
- _this2.sort(_this2.getNextSortConfig(highlight.col, APPEND_COLUMN_CONFIG_STRATEGY));
165
- }
166
- },
167
- runOnlyIf: function runOnlyIf() {
168
- var _this2$hot$getSelecte2;
169
- return (_this2$hot$getSelecte2 = _this2.hot.getSelectedRangeLast()) === null || _this2$hot$getSelecte2 === void 0 ? void 0 : _this2$hot$getSelecte2.highlight.isHeader();
170
- },
171
- group: SHORTCUTS_GROUP
172
- });
173
- }
174
-
175
- /**
176
- * Unregister shortcuts responsible for toggling column sorting functionality.
177
- *
178
- * @private
179
- */
180
- }, {
181
- key: "unregisterShortcuts",
182
- value: function unregisterShortcuts() {
183
- _get(_getPrototypeOf(MultiColumnSorting.prototype), "unregisterShortcuts", this).call(this);
184
- this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
185
- }
186
-
187
148
  /**
188
149
  * Sorts the table by chosen columns and orders.
189
150
  *
@@ -25,8 +25,8 @@ require("core-js/modules/es.weak-map.js");
25
25
  require("core-js/modules/web.dom-collections.iterator.js");
26
26
  var _element = require("../../helpers/dom/element");
27
27
  var _number = require("../../helpers/number");
28
- var _templateLiteralTag = require("../../helpers/templateLiteralTag");
29
28
  var _event = require("../../helpers/dom/event");
29
+ var _templateLiteralTag = require("../../helpers/templateLiteralTag");
30
30
  var _console = require("../../helpers/console");
31
31
  var _selection = require("../../selection");
32
32
  var _base = require("../base");
@@ -201,12 +201,6 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
201
201
  this.addHook('beforeOnCellMouseOver', function () {
202
202
  return _this2.onBeforeOnCellMouseOver.apply(_this2, arguments);
203
203
  });
204
- this.addHook('modifyTransformStart', function () {
205
- return _this2.onModifyTransformStart.apply(_this2, arguments);
206
- });
207
- this.addHook('afterSelection', function () {
208
- return _this2.updateFocusHighlightPosition();
209
- });
210
204
  this.addHook('afterGetColumnHeaderRenderers', function (array) {
211
205
  return _this2.onAfterGetColumnHeaderRenderers(array);
212
206
  });
@@ -222,18 +216,9 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
222
216
  this.addHook('beforeCopy', function () {
223
217
  return _this2.onBeforeCopy.apply(_this2, arguments);
224
218
  });
225
- this.addHook('beforeSelectColumns', function () {
226
- return _this2.onBeforeSelectColumns.apply(_this2, arguments);
227
- });
228
219
  this.addHook('afterViewportColumnCalculatorOverride', function () {
229
220
  return _this2.onAfterViewportColumnCalculatorOverride.apply(_this2, arguments);
230
221
  });
231
- this.hot.columnIndexMapper.addLocalHook('cacheUpdated', function () {
232
- return _this2.updateFocusHighlightPosition();
233
- });
234
- this.hot.rowIndexMapper.addLocalHook('cacheUpdated', function () {
235
- return _this2.updateFocusHighlightPosition();
236
- });
237
222
  _get(_getPrototypeOf(NestedHeaders.prototype), "enablePlugin", this).call(this);
238
223
  this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
239
224
  }
@@ -455,34 +440,6 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
455
440
  return this.hot.getColHeader(visualColumnIndex, headerLevel);
456
441
  }
457
442
 
458
- /**
459
- * Updates the selection focus highlight position to point to the nested header root element (TH)
460
- * even when the logical coordinates point in-between the header.
461
- *
462
- * @private
463
- */
464
- }, {
465
- key: "updateFocusHighlightPosition",
466
- value: function updateFocusHighlightPosition() {
467
- var _this$hot;
468
- var selection = (_this$hot = this.hot) === null || _this$hot === void 0 ? void 0 : _this$hot.getSelectedRangeLast();
469
- if (!selection) {
470
- return;
471
- }
472
- var highlight = selection.highlight;
473
- var isNestedHeadersRange = highlight.isHeader() && highlight.col >= 0;
474
- if (isNestedHeadersRange) {
475
- var columnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
476
- var focusHighlight = this.hot.selection.highlight.getFocus();
477
-
478
- // Correct the highlight/focus selection to highlight the correct TH element
479
- focusHighlight.visualCellRange.highlight.col = columnIndex;
480
- focusHighlight.visualCellRange.from.col = columnIndex;
481
- focusHighlight.visualCellRange.to.col = columnIndex;
482
- focusHighlight.commit();
483
- }
484
- }
485
-
486
443
  /**
487
444
  * Allows to control which header DOM element will be used to highlight.
488
445
  *
@@ -499,7 +456,8 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
499
456
  if (!headerNodeData) {
500
457
  return visualColumn;
501
458
  }
502
- var columnCursor = highlightMeta.columnCursor,
459
+ var classNames = highlightMeta.classNames,
460
+ columnCursor = highlightMeta.columnCursor,
503
461
  selectionType = highlightMeta.selectionType,
504
462
  selectionWidth = highlightMeta.selectionWidth;
505
463
  var _classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
@@ -511,8 +469,8 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
511
469
  }
512
470
  } else if (selectionType === _selection.ACTIVE_HEADER_TYPE) {
513
471
  if (colspan > selectionWidth - columnCursor || !isRoot) {
514
- // Prevents adding any CSS class names to the TH element
515
- return null;
472
+ // Reset the class names array so the generated TH element won't be modified.
473
+ classNames.length = 0;
516
474
  }
517
475
  }
518
476
  return visualColumn;
@@ -643,7 +601,7 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
643
601
  }, {
644
602
  key: "onBeforeOnCellMouseOver",
645
603
  value: function onBeforeOnCellMouseOver(event, coords, TD, controller) {
646
- var _this$hot$selection;
604
+ var _this$hot;
647
605
  if (!this.hot.view.isMouseDown()) {
648
606
  return;
649
607
  }
@@ -664,93 +622,13 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
664
622
  controller.cell = true;
665
623
  var columnsToSelect = [];
666
624
  if (coords.col < from.col) {
667
- columnsToSelect.push(bottomEndCoords.col, columnIndex, coords.row);
625
+ columnsToSelect.push(bottomEndCoords.col, columnIndex);
668
626
  } else if (coords.col > from.col) {
669
- columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1, coords.row);
627
+ columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1);
670
628
  } else {
671
- columnsToSelect.push(columnIndex, columnIndex + origColspan - 1, coords.row);
672
- }
673
- (_this$hot$selection = this.hot.selection).selectColumns.apply(_this$hot$selection, columnsToSelect);
674
- }
675
-
676
- /**
677
- * `modifyTransformStart` hook is called every time the keyboard navigation is used.
678
- *
679
- * @private
680
- * @param {object} delta The transformation delta.
681
- */
682
- }, {
683
- key: "onModifyTransformStart",
684
- value: function onModifyTransformStart(delta) {
685
- var _this$hot$getSelected = this.hot.getSelectedRangeLast(),
686
- highlight = _this$hot$getSelected.highlight;
687
- var nextCoords = this.hot._createCellCoords(highlight.row + delta.row, highlight.col + delta.col);
688
- var isNestedHeadersRange = nextCoords.isHeader() && nextCoords.col >= 0;
689
- if (!isNestedHeadersRange) {
690
- return;
691
- }
692
- var visualColumnIndexStart = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(nextCoords.row, nextCoords.col);
693
- var visualColumnIndexEnd = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(nextCoords.row, nextCoords.col);
694
- if (delta.col < 0) {
695
- var nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
696
- var notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
697
- if (notHiddenColumnIndex === null) {
698
- // There are no visible columns anymore, so move the selection out of the table edge. This will
699
- // be processed by the selection Transformer class as a move selection to the previous row (if autoWrapRow is enabled).
700
- delta.col = -this.hot.view.countRenderableColumnsInRange(0, highlight.col);
701
- } else {
702
- delta.col = -Math.max(this.hot.view.countRenderableColumnsInRange(notHiddenColumnIndex, highlight.col) - 1, 1);
703
- }
704
- } else if (delta.col > 0) {
705
- var _nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexEnd + 1 : visualColumnIndexStart;
706
- var _notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(_nextColumn, 1);
707
- if (_notHiddenColumnIndex === null) {
708
- // There are no visible columns anymore, so move the selection out of the table edge. This will
709
- // be processed by the selection Transformer class as a move selection to the next row (if autoWrapRow is enabled).
710
- delta.col = this.hot.view.countRenderableColumnsInRange(highlight.col, this.hot.countCols());
711
- } else {
712
- delta.col = Math.max(this.hot.view.countRenderableColumnsInRange(highlight.col, _notHiddenColumnIndex) - 1, 1);
713
- }
714
- }
715
- }
716
-
717
- /**
718
- * The hook observes the column selection from the Selection API and modifies the column range to
719
- * ensure that the whole nested column will be covered.
720
- *
721
- * @private
722
- * @param {*} from The coords object where the selection starts.
723
- * @param {*} to The coords object where the selection ends.
724
- */
725
- }, {
726
- key: "onBeforeSelectColumns",
727
- value: function onBeforeSelectColumns(from, to) {
728
- var headerLevel = from.row;
729
- var startNodeData = this._getHeaderTreeNodeDataByCoords({
730
- row: headerLevel,
731
- col: from.col
732
- });
733
- var endNodeData = this._getHeaderTreeNodeDataByCoords({
734
- row: headerLevel,
735
- col: to.col
736
- });
737
- if (to.col < from.col) {
738
- // Column selection from right to left
739
- if (startNodeData) {
740
- from.col = startNodeData.columnIndex + startNodeData.origColspan - 1;
741
- }
742
- if (endNodeData) {
743
- to.col = endNodeData.columnIndex;
744
- }
745
- } else if (to.col >= from.col) {
746
- // Column selection from left to right or a single column selection
747
- if (startNodeData) {
748
- from.col = startNodeData.columnIndex;
749
- }
750
- if (endNodeData) {
751
- to.col = endNodeData.columnIndex + endNodeData.origColspan - 1;
752
- }
629
+ columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
753
630
  }
631
+ (_this$hot = this.hot).selectColumns.apply(_this$hot, columnsToSelect);
754
632
  }
755
633
 
756
634
  /**
@@ -45,8 +45,8 @@ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!priva
45
45
  function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
46
46
  import { addClass, removeClass } from "../../helpers/dom/element.mjs";
47
47
  import { isNumeric } from "../../helpers/number.mjs";
48
- import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
49
48
  import { isLeftClick, isRightClick } from "../../helpers/dom/event.mjs";
49
+ import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
50
50
  import { warn } from "../../helpers/console.mjs";
51
51
  import { ACTIVE_HEADER_TYPE, HEADER_TYPE } from "../../selection/index.mjs";
52
52
  import { BasePlugin } from "../base/index.mjs";
@@ -194,12 +194,6 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
194
194
  this.addHook('beforeOnCellMouseOver', function () {
195
195
  return _this2.onBeforeOnCellMouseOver.apply(_this2, arguments);
196
196
  });
197
- this.addHook('modifyTransformStart', function () {
198
- return _this2.onModifyTransformStart.apply(_this2, arguments);
199
- });
200
- this.addHook('afterSelection', function () {
201
- return _this2.updateFocusHighlightPosition();
202
- });
203
197
  this.addHook('afterGetColumnHeaderRenderers', function (array) {
204
198
  return _this2.onAfterGetColumnHeaderRenderers(array);
205
199
  });
@@ -215,18 +209,9 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
215
209
  this.addHook('beforeCopy', function () {
216
210
  return _this2.onBeforeCopy.apply(_this2, arguments);
217
211
  });
218
- this.addHook('beforeSelectColumns', function () {
219
- return _this2.onBeforeSelectColumns.apply(_this2, arguments);
220
- });
221
212
  this.addHook('afterViewportColumnCalculatorOverride', function () {
222
213
  return _this2.onAfterViewportColumnCalculatorOverride.apply(_this2, arguments);
223
214
  });
224
- this.hot.columnIndexMapper.addLocalHook('cacheUpdated', function () {
225
- return _this2.updateFocusHighlightPosition();
226
- });
227
- this.hot.rowIndexMapper.addLocalHook('cacheUpdated', function () {
228
- return _this2.updateFocusHighlightPosition();
229
- });
230
215
  _get(_getPrototypeOf(NestedHeaders.prototype), "enablePlugin", this).call(this);
231
216
  this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
232
217
  }
@@ -448,34 +433,6 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
448
433
  return this.hot.getColHeader(visualColumnIndex, headerLevel);
449
434
  }
450
435
 
451
- /**
452
- * Updates the selection focus highlight position to point to the nested header root element (TH)
453
- * even when the logical coordinates point in-between the header.
454
- *
455
- * @private
456
- */
457
- }, {
458
- key: "updateFocusHighlightPosition",
459
- value: function updateFocusHighlightPosition() {
460
- var _this$hot;
461
- var selection = (_this$hot = this.hot) === null || _this$hot === void 0 ? void 0 : _this$hot.getSelectedRangeLast();
462
- if (!selection) {
463
- return;
464
- }
465
- var highlight = selection.highlight;
466
- var isNestedHeadersRange = highlight.isHeader() && highlight.col >= 0;
467
- if (isNestedHeadersRange) {
468
- var columnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
469
- var focusHighlight = this.hot.selection.highlight.getFocus();
470
-
471
- // Correct the highlight/focus selection to highlight the correct TH element
472
- focusHighlight.visualCellRange.highlight.col = columnIndex;
473
- focusHighlight.visualCellRange.from.col = columnIndex;
474
- focusHighlight.visualCellRange.to.col = columnIndex;
475
- focusHighlight.commit();
476
- }
477
- }
478
-
479
436
  /**
480
437
  * Allows to control which header DOM element will be used to highlight.
481
438
  *
@@ -492,7 +449,8 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
492
449
  if (!headerNodeData) {
493
450
  return visualColumn;
494
451
  }
495
- var columnCursor = highlightMeta.columnCursor,
452
+ var classNames = highlightMeta.classNames,
453
+ columnCursor = highlightMeta.columnCursor,
496
454
  selectionType = highlightMeta.selectionType,
497
455
  selectionWidth = highlightMeta.selectionWidth;
498
456
  var _classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
@@ -504,8 +462,8 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
504
462
  }
505
463
  } else if (selectionType === ACTIVE_HEADER_TYPE) {
506
464
  if (colspan > selectionWidth - columnCursor || !isRoot) {
507
- // Prevents adding any CSS class names to the TH element
508
- return null;
465
+ // Reset the class names array so the generated TH element won't be modified.
466
+ classNames.length = 0;
509
467
  }
510
468
  }
511
469
  return visualColumn;
@@ -636,7 +594,7 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
636
594
  }, {
637
595
  key: "onBeforeOnCellMouseOver",
638
596
  value: function onBeforeOnCellMouseOver(event, coords, TD, controller) {
639
- var _this$hot$selection;
597
+ var _this$hot;
640
598
  if (!this.hot.view.isMouseDown()) {
641
599
  return;
642
600
  }
@@ -657,93 +615,13 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
657
615
  controller.cell = true;
658
616
  var columnsToSelect = [];
659
617
  if (coords.col < from.col) {
660
- columnsToSelect.push(bottomEndCoords.col, columnIndex, coords.row);
618
+ columnsToSelect.push(bottomEndCoords.col, columnIndex);
661
619
  } else if (coords.col > from.col) {
662
- columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1, coords.row);
620
+ columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1);
663
621
  } else {
664
- columnsToSelect.push(columnIndex, columnIndex + origColspan - 1, coords.row);
665
- }
666
- (_this$hot$selection = this.hot.selection).selectColumns.apply(_this$hot$selection, columnsToSelect);
667
- }
668
-
669
- /**
670
- * `modifyTransformStart` hook is called every time the keyboard navigation is used.
671
- *
672
- * @private
673
- * @param {object} delta The transformation delta.
674
- */
675
- }, {
676
- key: "onModifyTransformStart",
677
- value: function onModifyTransformStart(delta) {
678
- var _this$hot$getSelected = this.hot.getSelectedRangeLast(),
679
- highlight = _this$hot$getSelected.highlight;
680
- var nextCoords = this.hot._createCellCoords(highlight.row + delta.row, highlight.col + delta.col);
681
- var isNestedHeadersRange = nextCoords.isHeader() && nextCoords.col >= 0;
682
- if (!isNestedHeadersRange) {
683
- return;
684
- }
685
- var visualColumnIndexStart = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(nextCoords.row, nextCoords.col);
686
- var visualColumnIndexEnd = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(nextCoords.row, nextCoords.col);
687
- if (delta.col < 0) {
688
- var nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
689
- var notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
690
- if (notHiddenColumnIndex === null) {
691
- // There are no visible columns anymore, so move the selection out of the table edge. This will
692
- // be processed by the selection Transformer class as a move selection to the previous row (if autoWrapRow is enabled).
693
- delta.col = -this.hot.view.countRenderableColumnsInRange(0, highlight.col);
694
- } else {
695
- delta.col = -Math.max(this.hot.view.countRenderableColumnsInRange(notHiddenColumnIndex, highlight.col) - 1, 1);
696
- }
697
- } else if (delta.col > 0) {
698
- var _nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexEnd + 1 : visualColumnIndexStart;
699
- var _notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(_nextColumn, 1);
700
- if (_notHiddenColumnIndex === null) {
701
- // There are no visible columns anymore, so move the selection out of the table edge. This will
702
- // be processed by the selection Transformer class as a move selection to the next row (if autoWrapRow is enabled).
703
- delta.col = this.hot.view.countRenderableColumnsInRange(highlight.col, this.hot.countCols());
704
- } else {
705
- delta.col = Math.max(this.hot.view.countRenderableColumnsInRange(highlight.col, _notHiddenColumnIndex) - 1, 1);
706
- }
707
- }
708
- }
709
-
710
- /**
711
- * The hook observes the column selection from the Selection API and modifies the column range to
712
- * ensure that the whole nested column will be covered.
713
- *
714
- * @private
715
- * @param {*} from The coords object where the selection starts.
716
- * @param {*} to The coords object where the selection ends.
717
- */
718
- }, {
719
- key: "onBeforeSelectColumns",
720
- value: function onBeforeSelectColumns(from, to) {
721
- var headerLevel = from.row;
722
- var startNodeData = this._getHeaderTreeNodeDataByCoords({
723
- row: headerLevel,
724
- col: from.col
725
- });
726
- var endNodeData = this._getHeaderTreeNodeDataByCoords({
727
- row: headerLevel,
728
- col: to.col
729
- });
730
- if (to.col < from.col) {
731
- // Column selection from right to left
732
- if (startNodeData) {
733
- from.col = startNodeData.columnIndex + startNodeData.origColspan - 1;
734
- }
735
- if (endNodeData) {
736
- to.col = endNodeData.columnIndex;
737
- }
738
- } else if (to.col >= from.col) {
739
- // Column selection from left to right or a single column selection
740
- if (startNodeData) {
741
- from.col = startNodeData.columnIndex;
742
- }
743
- if (endNodeData) {
744
- to.col = endNodeData.columnIndex + endNodeData.origColspan - 1;
745
- }
622
+ columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
746
623
  }
624
+ (_this$hot = this.hot).selectColumns.apply(_this$hot, columnsToSelect);
747
625
  }
748
626
 
749
627
  /**
@@ -416,43 +416,6 @@ var StateManager = /*#__PURE__*/function () {
416
416
  return stepBackColumn;
417
417
  }
418
418
 
419
- /**
420
- * The method is helpful in cases where the column index targets in-between currently
421
- * collapsed column. In that case, the method returns the right-most column index
422
- * where the nested header ends.
423
- *
424
- * @param {number} headerLevel Header level (there is support for negative and positive values).
425
- * @param {number} columnIndex A visual column index.
426
- * @returns {number}
427
- */
428
- }, {
429
- key: "findRightMostColumnIndex",
430
- value: function findRightMostColumnIndex(headerLevel, columnIndex) {
431
- var _this$getHeaderSettin3;
432
- var _ref4 = (_this$getHeaderSettin3 = this.getHeaderSettings(headerLevel, columnIndex)) !== null && _this$getHeaderSettin3 !== void 0 ? _this$getHeaderSettin3 : {
433
- isRoot: true,
434
- origColspan: 1
435
- },
436
- isRoot = _ref4.isRoot,
437
- origColspan = _ref4.origColspan;
438
- if (isRoot) {
439
- return columnIndex + origColspan - 1;
440
- }
441
- var stepForthColumn = columnIndex + 1;
442
- while (stepForthColumn < this.getColumnsCount()) {
443
- var _this$getHeaderSettin4;
444
- var _ref5 = (_this$getHeaderSettin4 = this.getHeaderSettings(headerLevel, stepForthColumn)) !== null && _this$getHeaderSettin4 !== void 0 ? _this$getHeaderSettin4 : {
445
- isRoot: true
446
- },
447
- isRootNode = _ref5.isRoot;
448
- if (isRootNode) {
449
- break;
450
- }
451
- stepForthColumn += 1;
452
- }
453
- return stepForthColumn - 1;
454
- }
455
-
456
419
  /**
457
420
  * Gets a total number of headers levels.
458
421
  *