handsontable 0.0.0-next-ea1e0b3-20230620 → 0.0.0-next-acb8c02-20230620

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 (241) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +61 -12
  3. package/3rdparty/walkontable/src/cell/coords.mjs +61 -12
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +44 -7
  6. package/3rdparty/walkontable/src/cell/range.mjs +44 -7
  7. package/3rdparty/walkontable/src/core/_base.js +9 -3
  8. package/3rdparty/walkontable/src/core/_base.mjs +9 -3
  9. package/3rdparty/walkontable/src/core/clone.js +2 -2
  10. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  11. package/3rdparty/walkontable/src/core/core.js +3 -2
  12. package/3rdparty/walkontable/src/core/core.mjs +3 -2
  13. package/3rdparty/walkontable/src/event.js +7 -7
  14. package/3rdparty/walkontable/src/event.mjs +7 -7
  15. package/3rdparty/walkontable/src/facade/core.js +2 -2
  16. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  17. package/3rdparty/walkontable/src/index.js +10 -2
  18. package/3rdparty/walkontable/src/index.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/_base.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  21. package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -4
  22. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -4
  23. package/3rdparty/walkontable/src/overlay/top.js +2 -4
  24. package/3rdparty/walkontable/src/overlay/top.mjs +2 -4
  25. package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
  26. package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
  27. package/3rdparty/walkontable/src/selection/border/constants.js +18 -0
  28. package/3rdparty/walkontable/src/selection/border/constants.mjs +13 -0
  29. package/3rdparty/walkontable/src/selection/constants.js +63 -0
  30. package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
  31. package/3rdparty/walkontable/src/selection/index.js +30 -0
  32. package/3rdparty/walkontable/src/selection/index.mjs +5 -0
  33. package/3rdparty/walkontable/src/selection/manager.js +329 -0
  34. package/3rdparty/walkontable/src/selection/manager.mjs +323 -0
  35. package/3rdparty/walkontable/src/selection/scanner.js +364 -0
  36. package/3rdparty/walkontable/src/selection/scanner.mjs +360 -0
  37. package/3rdparty/walkontable/src/selection/selection.js +133 -0
  38. package/3rdparty/walkontable/src/selection/selection.mjs +127 -0
  39. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
  40. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
  41. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
  42. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
  43. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
  44. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
  45. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
  46. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
  47. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
  48. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
  49. package/3rdparty/walkontable/src/table.js +7 -79
  50. package/3rdparty/walkontable/src/table.mjs +8 -80
  51. package/base.js +2 -2
  52. package/base.mjs +2 -2
  53. package/core.d.ts +5 -3
  54. package/core.js +127 -309
  55. package/core.mjs +127 -309
  56. package/dataMap/metaManager/metaSchema.js +19 -0
  57. package/dataMap/metaManager/metaSchema.mjs +19 -0
  58. package/dist/handsontable.css +8 -3
  59. package/dist/handsontable.full.css +8 -3
  60. package/dist/handsontable.full.js +12315 -9533
  61. package/dist/handsontable.full.min.css +3 -3
  62. package/dist/handsontable.full.min.js +107 -107
  63. package/dist/handsontable.js +15396 -12614
  64. package/dist/handsontable.min.css +3 -3
  65. package/dist/handsontable.min.js +4 -4
  66. package/editorManager.js +21 -94
  67. package/editorManager.mjs +26 -98
  68. package/editors/textEditor/textEditor.js +3 -11
  69. package/editors/textEditor/textEditor.mjs +4 -12
  70. package/helpers/mixed.js +1 -1
  71. package/helpers/mixed.mjs +1 -1
  72. package/helpers/number.d.ts +1 -0
  73. package/helpers/number.js +18 -0
  74. package/helpers/number.mjs +17 -0
  75. package/package.json +1 -1
  76. package/pluginHooks.d.ts +5 -1
  77. package/pluginHooks.js +89 -1
  78. package/pluginHooks.mjs +89 -1
  79. package/plugins/collapsibleColumns/collapsibleColumns.js +81 -24
  80. package/plugins/collapsibleColumns/collapsibleColumns.mjs +81 -24
  81. package/plugins/columnSorting/columnSorting.js +50 -8
  82. package/plugins/columnSorting/columnSorting.mjs +49 -9
  83. package/plugins/columnSorting/index.js +4 -2
  84. package/plugins/columnSorting/index.mjs +1 -1
  85. package/plugins/contextMenu/utils.js +25 -0
  86. package/plugins/contextMenu/utils.mjs +24 -0
  87. package/plugins/copyPaste/copyPaste.js +5 -1
  88. package/plugins/copyPaste/copyPaste.mjs +5 -1
  89. package/plugins/customBorders/customBorders.js +18 -53
  90. package/plugins/customBorders/customBorders.mjs +19 -54
  91. package/plugins/dropdownMenu/dropdownMenu.js +79 -25
  92. package/plugins/dropdownMenu/dropdownMenu.mjs +79 -25
  93. package/plugins/manualColumnResize/manualColumnResize.js +5 -36
  94. package/plugins/manualColumnResize/manualColumnResize.mjs +5 -36
  95. package/plugins/manualRowResize/manualRowResize.js +9 -40
  96. package/plugins/manualRowResize/manualRowResize.mjs +9 -40
  97. package/plugins/mergeCells/mergeCells.js +5 -18
  98. package/plugins/mergeCells/mergeCells.mjs +5 -18
  99. package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
  100. package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
  101. package/plugins/nestedHeaders/nestedHeaders.js +132 -10
  102. package/plugins/nestedHeaders/nestedHeaders.mjs +132 -10
  103. package/plugins/nestedHeaders/stateManager/index.js +37 -0
  104. package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
  105. package/plugins/nestedRows/nestedRows.js +52 -7
  106. package/plugins/nestedRows/nestedRows.mjs +52 -7
  107. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  108. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  109. package/selection/highlight/highlight.js +312 -89
  110. package/selection/highlight/highlight.mjs +302 -85
  111. package/selection/highlight/types/activeHeader.js +10 -9
  112. package/selection/highlight/types/activeHeader.mjs +10 -8
  113. package/selection/highlight/types/area.js +12 -27
  114. package/selection/highlight/types/area.mjs +16 -30
  115. package/selection/highlight/types/areaLayered.js +54 -0
  116. package/selection/highlight/types/areaLayered.mjs +49 -0
  117. package/selection/highlight/types/column.js +50 -0
  118. package/selection/highlight/types/column.mjs +45 -0
  119. package/selection/highlight/types/customSelection.js +7 -10
  120. package/selection/highlight/types/customSelection.mjs +7 -9
  121. package/selection/highlight/types/fill.js +5 -8
  122. package/selection/highlight/types/fill.mjs +5 -7
  123. package/selection/highlight/types/{cell.js → focus.js} +5 -8
  124. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  125. package/selection/highlight/types/header.js +10 -20
  126. package/selection/highlight/types/header.mjs +10 -19
  127. package/selection/highlight/types/{index.js → row.js} +27 -31
  128. package/selection/highlight/types/{index.mjs → row.mjs} +24 -29
  129. package/selection/highlight/visualSelection.js +31 -27
  130. package/selection/highlight/visualSelection.mjs +31 -27
  131. package/selection/index.js +4 -7
  132. package/selection/index.mjs +2 -3
  133. package/selection/mouseEventHandler.js +1 -1
  134. package/selection/mouseEventHandler.mjs +1 -1
  135. package/selection/range.js +8 -8
  136. package/selection/range.mjs +8 -8
  137. package/selection/selection.js +315 -181
  138. package/selection/selection.mjs +310 -180
  139. package/selection/transformation.js +233 -96
  140. package/selection/transformation.mjs +230 -93
  141. package/selection/utils.js +12 -36
  142. package/selection/utils.mjs +13 -36
  143. package/settings.d.ts +1 -0
  144. package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
  145. package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
  146. package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
  147. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  148. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  149. package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
  150. package/shortcutContexts/commands/editor/index.js +16 -0
  151. package/shortcutContexts/commands/editor/index.mjs +12 -0
  152. package/shortcutContexts/commands/editor/open.js +29 -0
  153. package/shortcutContexts/commands/editor/open.mjs +24 -0
  154. package/shortcutContexts/commands/emptySelectedCells.js +12 -0
  155. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  156. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  157. package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
  158. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  159. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
  160. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  161. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  162. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  163. package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
  164. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  165. package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
  166. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  167. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
  168. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
  169. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
  170. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
  171. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
  172. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
  173. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
  174. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
  175. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
  176. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
  177. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
  178. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
  179. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
  180. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  181. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
  182. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  183. package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
  184. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  185. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
  186. package/shortcutContexts/commands/index.js +52 -0
  187. package/shortcutContexts/commands/index.mjs +48 -0
  188. package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
  189. package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
  190. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
  191. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
  192. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  193. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  194. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
  195. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  196. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
  197. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  198. package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
  199. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  200. package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
  201. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  202. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
  203. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
  204. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
  205. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
  206. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
  207. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
  208. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
  209. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
  210. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
  211. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
  212. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
  213. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
  214. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
  215. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
  216. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
  217. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
  218. package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
  219. package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
  220. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
  221. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
  222. package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
  223. package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
  224. package/shortcutContexts/commands/selectAll.js +11 -0
  225. package/shortcutContexts/commands/selectAll.mjs +6 -0
  226. package/shortcutContexts/constants.js +19 -0
  227. package/shortcutContexts/constants.mjs +12 -0
  228. package/shortcutContexts/editor.js +29 -0
  229. package/shortcutContexts/editor.mjs +25 -0
  230. package/shortcutContexts/grid.js +244 -0
  231. package/shortcutContexts/grid.mjs +240 -0
  232. package/shortcutContexts/index.js +29 -0
  233. package/shortcutContexts/index.mjs +15 -0
  234. package/shortcuts/manager.js +2 -0
  235. package/shortcuts/manager.mjs +2 -0
  236. package/tableView.js +58 -9
  237. package/tableView.mjs +58 -9
  238. package/3rdparty/walkontable/src/selection.js +0 -355
  239. package/3rdparty/walkontable/src/selection.mjs +0 -349
  240. package/selection/highlight/constants.js +0 -16
  241. package/selection/highlight/constants.mjs +0 -6
@@ -19,7 +19,7 @@ require("core-js/modules/es.regexp.to-string.js");
19
19
  require("core-js/modules/es.function.name.js");
20
20
  require("core-js/modules/es.regexp.exec.js");
21
21
  exports.__esModule = true;
22
- exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.ColumnSorting = void 0;
22
+ exports.REPLACE_COLUMN_CONFIG_STRATEGY = exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.ColumnSorting = exports.APPEND_COLUMN_CONFIG_STRATEGY = void 0;
23
23
  require("core-js/modules/es.array.sort.js");
24
24
  require("core-js/modules/es.array.slice.js");
25
25
  require("core-js/modules/es.object.to-string.js");
@@ -79,7 +79,10 @@ exports.PLUGIN_KEY = PLUGIN_KEY;
79
79
  var PLUGIN_PRIORITY = 50;
80
80
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
81
81
  var APPEND_COLUMN_CONFIG_STRATEGY = 'append';
82
+ exports.APPEND_COLUMN_CONFIG_STRATEGY = APPEND_COLUMN_CONFIG_STRATEGY;
82
83
  var REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
84
+ exports.REPLACE_COLUMN_CONFIG_STRATEGY = REPLACE_COLUMN_CONFIG_STRATEGY;
85
+ var SHORTCUTS_GROUP = PLUGIN_KEY;
83
86
  (0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
84
87
  _pluginHooks.default.getSingleton().register('beforeColumnSort');
85
88
  _pluginHooks.default.getSingleton().register('afterColumnSort');
@@ -223,6 +226,7 @@ var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
223
226
  if (this.hot.view) {
224
227
  this.loadOrSortBySettings();
225
228
  }
229
+ this.registerShortcuts();
226
230
  _get(_getPrototypeOf(ColumnSorting.prototype), "enablePlugin", this).call(this);
227
231
  }
228
232
 
@@ -256,9 +260,47 @@ var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
256
260
  this.columnStatesManager.destroy();
257
261
  this.columnMetaCache = null;
258
262
  this.columnStatesManager = null;
263
+ this.unregisterShortcuts();
259
264
  _get(_getPrototypeOf(ColumnSorting.prototype), "disablePlugin", this).call(this);
260
265
  }
261
266
 
267
+ /**
268
+ * Register shortcuts responsible for toggling column sorting functionality.
269
+ *
270
+ * @private
271
+ */
272
+ }, {
273
+ key: "registerShortcuts",
274
+ value: function registerShortcuts() {
275
+ var _this4 = this;
276
+ this.hot.getShortcutManager().getContext('grid').addShortcut({
277
+ keys: [['Enter']],
278
+ callback: function callback() {
279
+ var _this4$hot$getSelecte = _this4.hot.getSelectedRangeLast(),
280
+ highlight = _this4$hot$getSelecte.highlight;
281
+ if (highlight.row === -1 && highlight.col >= 0) {
282
+ _this4.sort(_this4.getColumnNextConfig(highlight.col));
283
+ }
284
+ },
285
+ runOnlyIf: function runOnlyIf() {
286
+ var _this4$hot$getSelecte2;
287
+ return (_this4$hot$getSelecte2 = _this4.hot.getSelectedRangeLast()) === null || _this4$hot$getSelecte2 === void 0 ? void 0 : _this4$hot$getSelecte2.highlight.isHeader();
288
+ },
289
+ group: SHORTCUTS_GROUP
290
+ });
291
+ }
292
+
293
+ /**
294
+ * Unregister shortcuts responsible for toggling column sorting functionality.
295
+ *
296
+ * @private
297
+ */
298
+ }, {
299
+ key: "unregisterShortcuts",
300
+ value: function unregisterShortcuts() {
301
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
302
+ }
303
+
262
304
  // DIFF - MultiColumnSorting & ColumnSorting: changed function documentation.
263
305
  /**
264
306
  * Sorts the table by chosen columns and orders.
@@ -428,13 +470,13 @@ var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
428
470
  }, {
429
471
  key: "saveAllSortSettings",
430
472
  value: function saveAllSortSettings(sortConfigs) {
431
- var _this4 = this;
473
+ var _this5 = this;
432
474
  var allSortSettings = this.columnStatesManager.getAllColumnsProperties();
433
475
  var translateColumnToPhysical = function translateColumnToPhysical(_ref2) {
434
476
  var visualColumn = _ref2.column,
435
477
  restOfProperties = _objectWithoutProperties(_ref2, _excluded);
436
478
  return _objectSpread({
437
- column: _this4.hot.toPhysicalColumn(visualColumn)
479
+ column: _this5.hot.toPhysicalColumn(visualColumn)
438
480
  }, restOfProperties);
439
481
  };
440
482
  allSortSettings.initialConfig = (0, _array.arrayMap)(sortConfigs, translateColumnToPhysical);
@@ -452,7 +494,7 @@ var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
452
494
  }, {
453
495
  key: "getAllSavedSortSettings",
454
496
  value: function getAllSavedSortSettings() {
455
- var _this5 = this;
497
+ var _this6 = this;
456
498
  var storedAllSortSettings = {};
457
499
  this.hot.runHooks('persistentStateLoad', 'columnSorting', storedAllSortSettings);
458
500
  var allSortSettings = storedAllSortSettings.value;
@@ -460,7 +502,7 @@ var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
460
502
  var physicalColumn = _ref3.column,
461
503
  restOfProperties = _objectWithoutProperties(_ref3, _excluded2);
462
504
  return _objectSpread({
463
- column: _this5.hot.toVisualColumn(physicalColumn)
505
+ column: _this6.hot.toVisualColumn(physicalColumn)
464
506
  }, restOfProperties);
465
507
  };
466
508
  if ((0, _mixed.isDefined)(allSortSettings) && Array.isArray(allSortSettings.initialConfig)) {
@@ -625,7 +667,7 @@ var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
625
667
  }, {
626
668
  key: "sortByPresetSortStates",
627
669
  value: function sortByPresetSortStates(sortConfigs) {
628
- var _this6 = this;
670
+ var _this7 = this;
629
671
  if (sortConfigs.length === 0) {
630
672
  this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues());
631
673
  return;
@@ -634,7 +676,7 @@ var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
634
676
  var numberOfRows = this.hot.countRows();
635
677
  var getDataForSortedColumns = function getDataForSortedColumns(visualRowIndex) {
636
678
  return (0, _array.arrayMap)(sortConfigs, function (sortConfig) {
637
- return _this6.hot.getDataAtCell(visualRowIndex, sortConfig.column);
679
+ return _this7.hot.getDataAtCell(visualRowIndex, sortConfig.column);
638
680
  });
639
681
  };
640
682
  for (var visualRowIndex = 0; visualRowIndex < this.getNumberOfRowsToSort(numberOfRows); visualRowIndex += 1) {
@@ -646,7 +688,7 @@ var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
646
688
  (0, _sortService.sort)(indexesWithData, this.pluginKey, (0, _array.arrayMap)(sortConfigs, function (sortConfig) {
647
689
  return sortConfig.sortOrder;
648
690
  }), (0, _array.arrayMap)(sortConfigs, function (sortConfig) {
649
- return _this6.getFirstCellSettings(sortConfig.column);
691
+ return _this7.getFirstCellSettings(sortConfig.column);
650
692
  }));
651
693
 
652
694
  // Append spareRows
@@ -71,8 +71,9 @@ import { rootComparator } from "./rootComparator.mjs";
71
71
  import { registerRootComparator, sort } from "./sortService/index.mjs";
72
72
  export var PLUGIN_KEY = 'columnSorting';
73
73
  export var PLUGIN_PRIORITY = 50;
74
- var APPEND_COLUMN_CONFIG_STRATEGY = 'append';
75
- var REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
74
+ export var APPEND_COLUMN_CONFIG_STRATEGY = 'append';
75
+ export var REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
76
+ var SHORTCUTS_GROUP = PLUGIN_KEY;
76
77
  registerRootComparator(PLUGIN_KEY, rootComparator);
77
78
  Hooks.getSingleton().register('beforeColumnSort');
78
79
  Hooks.getSingleton().register('afterColumnSort');
@@ -216,6 +217,7 @@ export var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
216
217
  if (this.hot.view) {
217
218
  this.loadOrSortBySettings();
218
219
  }
220
+ this.registerShortcuts();
219
221
  _get(_getPrototypeOf(ColumnSorting.prototype), "enablePlugin", this).call(this);
220
222
  }
221
223
 
@@ -249,9 +251,47 @@ export var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
249
251
  this.columnStatesManager.destroy();
250
252
  this.columnMetaCache = null;
251
253
  this.columnStatesManager = null;
254
+ this.unregisterShortcuts();
252
255
  _get(_getPrototypeOf(ColumnSorting.prototype), "disablePlugin", this).call(this);
253
256
  }
254
257
 
258
+ /**
259
+ * Register shortcuts responsible for toggling column sorting functionality.
260
+ *
261
+ * @private
262
+ */
263
+ }, {
264
+ key: "registerShortcuts",
265
+ value: function registerShortcuts() {
266
+ var _this4 = this;
267
+ this.hot.getShortcutManager().getContext('grid').addShortcut({
268
+ keys: [['Enter']],
269
+ callback: function callback() {
270
+ var _this4$hot$getSelecte = _this4.hot.getSelectedRangeLast(),
271
+ highlight = _this4$hot$getSelecte.highlight;
272
+ if (highlight.row === -1 && highlight.col >= 0) {
273
+ _this4.sort(_this4.getColumnNextConfig(highlight.col));
274
+ }
275
+ },
276
+ runOnlyIf: function runOnlyIf() {
277
+ var _this4$hot$getSelecte2;
278
+ return (_this4$hot$getSelecte2 = _this4.hot.getSelectedRangeLast()) === null || _this4$hot$getSelecte2 === void 0 ? void 0 : _this4$hot$getSelecte2.highlight.isHeader();
279
+ },
280
+ group: SHORTCUTS_GROUP
281
+ });
282
+ }
283
+
284
+ /**
285
+ * Unregister shortcuts responsible for toggling column sorting functionality.
286
+ *
287
+ * @private
288
+ */
289
+ }, {
290
+ key: "unregisterShortcuts",
291
+ value: function unregisterShortcuts() {
292
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
293
+ }
294
+
255
295
  // DIFF - MultiColumnSorting & ColumnSorting: changed function documentation.
256
296
  /**
257
297
  * Sorts the table by chosen columns and orders.
@@ -421,13 +461,13 @@ export var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
421
461
  }, {
422
462
  key: "saveAllSortSettings",
423
463
  value: function saveAllSortSettings(sortConfigs) {
424
- var _this4 = this;
464
+ var _this5 = this;
425
465
  var allSortSettings = this.columnStatesManager.getAllColumnsProperties();
426
466
  var translateColumnToPhysical = function translateColumnToPhysical(_ref2) {
427
467
  var visualColumn = _ref2.column,
428
468
  restOfProperties = _objectWithoutProperties(_ref2, _excluded);
429
469
  return _objectSpread({
430
- column: _this4.hot.toPhysicalColumn(visualColumn)
470
+ column: _this5.hot.toPhysicalColumn(visualColumn)
431
471
  }, restOfProperties);
432
472
  };
433
473
  allSortSettings.initialConfig = arrayMap(sortConfigs, translateColumnToPhysical);
@@ -445,7 +485,7 @@ export var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
445
485
  }, {
446
486
  key: "getAllSavedSortSettings",
447
487
  value: function getAllSavedSortSettings() {
448
- var _this5 = this;
488
+ var _this6 = this;
449
489
  var storedAllSortSettings = {};
450
490
  this.hot.runHooks('persistentStateLoad', 'columnSorting', storedAllSortSettings);
451
491
  var allSortSettings = storedAllSortSettings.value;
@@ -453,7 +493,7 @@ export var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
453
493
  var physicalColumn = _ref3.column,
454
494
  restOfProperties = _objectWithoutProperties(_ref3, _excluded2);
455
495
  return _objectSpread({
456
- column: _this5.hot.toVisualColumn(physicalColumn)
496
+ column: _this6.hot.toVisualColumn(physicalColumn)
457
497
  }, restOfProperties);
458
498
  };
459
499
  if (isDefined(allSortSettings) && Array.isArray(allSortSettings.initialConfig)) {
@@ -618,7 +658,7 @@ export var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
618
658
  }, {
619
659
  key: "sortByPresetSortStates",
620
660
  value: function sortByPresetSortStates(sortConfigs) {
621
- var _this6 = this;
661
+ var _this7 = this;
622
662
  if (sortConfigs.length === 0) {
623
663
  this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues());
624
664
  return;
@@ -627,7 +667,7 @@ export var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
627
667
  var numberOfRows = this.hot.countRows();
628
668
  var getDataForSortedColumns = function getDataForSortedColumns(visualRowIndex) {
629
669
  return arrayMap(sortConfigs, function (sortConfig) {
630
- return _this6.hot.getDataAtCell(visualRowIndex, sortConfig.column);
670
+ return _this7.hot.getDataAtCell(visualRowIndex, sortConfig.column);
631
671
  });
632
672
  };
633
673
  for (var visualRowIndex = 0; visualRowIndex < this.getNumberOfRowsToSort(numberOfRows); visualRowIndex += 1) {
@@ -639,7 +679,7 @@ export var ColumnSorting = /*#__PURE__*/function (_BasePlugin) {
639
679
  sort(indexesWithData, this.pluginKey, arrayMap(sortConfigs, function (sortConfig) {
640
680
  return sortConfig.sortOrder;
641
681
  }), arrayMap(sortConfigs, function (sortConfig) {
642
- return _this6.getFirstCellSettings(sortConfig.column);
682
+ return _this7.getFirstCellSettings(sortConfig.column);
643
683
  }));
644
684
 
645
685
  // Append spareRows
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.ColumnSorting = void 0;
4
+ exports.REPLACE_COLUMN_CONFIG_STRATEGY = exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.ColumnSorting = exports.APPEND_COLUMN_CONFIG_STRATEGY = void 0;
5
5
  var _columnSorting = require("./columnSorting");
6
6
  exports.PLUGIN_KEY = _columnSorting.PLUGIN_KEY;
7
7
  exports.PLUGIN_PRIORITY = _columnSorting.PLUGIN_PRIORITY;
8
- exports.ColumnSorting = _columnSorting.ColumnSorting;
8
+ exports.ColumnSorting = _columnSorting.ColumnSorting;
9
+ exports.APPEND_COLUMN_CONFIG_STRATEGY = _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY;
10
+ exports.REPLACE_COLUMN_CONFIG_STRATEGY = _columnSorting.REPLACE_COLUMN_CONFIG_STRATEGY;
@@ -1 +1 @@
1
- export { PLUGIN_KEY, PLUGIN_PRIORITY, ColumnSorting } from "./columnSorting.mjs";
1
+ export { PLUGIN_KEY, PLUGIN_PRIORITY, ColumnSorting, APPEND_COLUMN_CONFIG_STRATEGY, REPLACE_COLUMN_CONFIG_STRATEGY } from "./columnSorting.mjs";
@@ -5,6 +5,7 @@ exports.align = align;
5
5
  exports.checkSelectionConsistency = checkSelectionConsistency;
6
6
  exports.filterSeparators = filterSeparators;
7
7
  exports.getAlignmentClasses = getAlignmentClasses;
8
+ exports.getDocumentOffsetByElement = getDocumentOffsetByElement;
8
9
  exports.getValidSelection = getValidSelection;
9
10
  exports.hasSubMenu = hasSubMenu;
10
11
  exports.isDisabled = isDisabled;
@@ -275,4 +276,28 @@ function filterSeparators(items) {
275
276
  result = popSeparators(result, separator);
276
277
  result = removeDuplicatedSeparators(result);
277
278
  return result;
279
+ }
280
+
281
+ /**
282
+ * Returns document offset based on the passed element. If the document objects between element and the
283
+ * base document are not the same the offset as top and left properties will be returned.
284
+ *
285
+ * @param {Element} elementToCheck The element to compare with Document object.
286
+ * @param {Document} baseDocument The base Document object.
287
+ * @returns {{ top: number, left: number }}
288
+ */
289
+ function getDocumentOffsetByElement(elementToCheck, baseDocument) {
290
+ var offset = {
291
+ top: 0,
292
+ left: 0
293
+ };
294
+ if (baseDocument !== elementToCheck.ownerDocument) {
295
+ var frameElement = baseDocument.defaultView.frameElement;
296
+ var _frameElement$getBoun = frameElement.getBoundingClientRect(),
297
+ top = _frameElement$getBoun.top,
298
+ left = _frameElement$getBoun.left;
299
+ offset.top = top;
300
+ offset.left = left;
301
+ }
302
+ return offset;
278
303
  }
@@ -258,4 +258,28 @@ export function filterSeparators(items) {
258
258
  result = popSeparators(result, separator);
259
259
  result = removeDuplicatedSeparators(result);
260
260
  return result;
261
+ }
262
+
263
+ /**
264
+ * Returns document offset based on the passed element. If the document objects between element and the
265
+ * base document are not the same the offset as top and left properties will be returned.
266
+ *
267
+ * @param {Element} elementToCheck The element to compare with Document object.
268
+ * @param {Document} baseDocument The base Document object.
269
+ * @returns {{ top: number, left: number }}
270
+ */
271
+ export function getDocumentOffsetByElement(elementToCheck, baseDocument) {
272
+ var offset = {
273
+ top: 0,
274
+ left: 0
275
+ };
276
+ if (baseDocument !== elementToCheck.ownerDocument) {
277
+ var frameElement = baseDocument.defaultView.frameElement;
278
+ var _frameElement$getBoun = frameElement.getBoundingClientRect(),
279
+ top = _frameElement$getBoun.top,
280
+ left = _frameElement$getBoun.left;
281
+ offset.top = top;
282
+ offset.left = left;
283
+ }
284
+ return offset;
261
285
  }
@@ -528,6 +528,10 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
528
528
  if (!selectionRange) {
529
529
  return;
530
530
  }
531
+ if (selectionRange.isSingleHeader()) {
532
+ this.copyableRanges = [];
533
+ return;
534
+ }
531
535
  _classPrivateFieldGet(this, _copyableRangesFactory).setSelectedRange(selectionRange);
532
536
  var groupedRanges = new Map([['headers', null], ['cells', null]]);
533
537
  if (_classPrivateFieldGet(this, _copyMode) === 'column-headers-only') {
@@ -756,7 +760,7 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
756
760
  if (typeof pastedData === 'string') {
757
761
  pastedData = (0, _SheetClip.parse)(pastedData);
758
762
  }
759
- if (pastedData && pastedData.length === 0) {
763
+ if (pastedData === void 0 || pastedData && pastedData.length === 0) {
760
764
  return;
761
765
  }
762
766
  if (this.hot.runHooks('beforePaste', pastedData, this.copyableRanges) === false) {
@@ -521,6 +521,10 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
521
521
  if (!selectionRange) {
522
522
  return;
523
523
  }
524
+ if (selectionRange.isSingleHeader()) {
525
+ this.copyableRanges = [];
526
+ return;
527
+ }
524
528
  _classPrivateFieldGet(this, _copyableRangesFactory).setSelectedRange(selectionRange);
525
529
  var groupedRanges = new Map([['headers', null], ['cells', null]]);
526
530
  if (_classPrivateFieldGet(this, _copyMode) === 'column-headers-only') {
@@ -749,7 +753,7 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
749
753
  if (typeof pastedData === 'string') {
750
754
  pastedData = parse(pastedData);
751
755
  }
752
- if (pastedData && pastedData.length === 0) {
756
+ if (pastedData === void 0 || pastedData && pastedData.length === 0) {
753
757
  return;
754
758
  }
755
759
  if (this.hot.runHooks('beforePaste', pastedData, this.copyableRanges) === false) {
@@ -9,11 +9,6 @@ require("core-js/modules/es.symbol.iterator.js");
9
9
  require("core-js/modules/es.array.iterator.js");
10
10
  require("core-js/modules/es.string.iterator.js");
11
11
  require("core-js/modules/web.dom-collections.iterator.js");
12
- require("core-js/modules/es.array.slice.js");
13
- require("core-js/modules/es.regexp.to-string.js");
14
- require("core-js/modules/es.function.name.js");
15
- require("core-js/modules/es.array.from.js");
16
- require("core-js/modules/es.regexp.exec.js");
17
12
  require("core-js/modules/es.weak-map.js");
18
13
  exports.__esModule = true;
19
14
  exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.CustomBorders = void 0;
@@ -39,12 +34,6 @@ var _selection = require("../../selection");
39
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
40
35
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
36
  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); }
42
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
43
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
44
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
45
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
46
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
47
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
48
37
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49
38
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
50
39
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -230,25 +219,11 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
230
219
  var selectionType = (0, _selection.detectSelectionType)(selectionRanges);
231
220
  var selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
232
221
  (0, _array.arrayEach)(selectionRanges, function (selection) {
233
- var _selectionSchemaNorma = selectionSchemaNormalizer(selection),
234
- _selectionSchemaNorma2 = _slicedToArray(_selectionSchemaNorma, 4),
235
- rowStart = _selectionSchemaNorma2[0],
236
- columnStart = _selectionSchemaNorma2[1],
237
- rowEnd = _selectionSchemaNorma2[2],
238
- columnEnd = _selectionSchemaNorma2[3];
239
- var _loop = function _loop(row) {
240
- var _loop2 = function _loop2(col) {
241
- (0, _array.arrayEach)(borderKeys, function (borderKey) {
242
- _this3.prepareBorderFromCustomAdded(row, col, normBorder, (0, _utils.toInlinePropName)(borderKey));
243
- });
244
- };
245
- for (var col = columnStart; col <= columnEnd; col += 1) {
246
- _loop2(col);
247
- }
248
- };
249
- for (var row = rowStart; row <= rowEnd; row += 1) {
250
- _loop(row);
251
- }
222
+ selectionSchemaNormalizer(selection).forAll(function (row, col) {
223
+ (0, _array.arrayEach)(borderKeys, function (borderKey) {
224
+ _this3.prepareBorderFromCustomAdded(row, col, normBorder, (0, _utils.toInlinePropName)(borderKey));
225
+ });
226
+ });
252
227
  });
253
228
 
254
229
  /*
@@ -291,27 +266,13 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
291
266
  var selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
292
267
  var selectedBorders = [];
293
268
  (0, _array.arrayEach)(selectionRanges, function (selection) {
294
- var _selectionSchemaNorma3 = selectionSchemaNormalizer(selection),
295
- _selectionSchemaNorma4 = _slicedToArray(_selectionSchemaNorma3, 4),
296
- rowStart = _selectionSchemaNorma4[0],
297
- columnStart = _selectionSchemaNorma4[1],
298
- rowEnd = _selectionSchemaNorma4[2],
299
- columnEnd = _selectionSchemaNorma4[3];
300
- var _loop3 = function _loop3(row) {
301
- var _loop4 = function _loop4(col) {
302
- (0, _array.arrayEach)(_this4.savedBorders, function (border) {
303
- if (border.row === row && border.col === col) {
304
- selectedBorders.push((0, _utils.denormalizeBorder)(border));
305
- }
306
- });
307
- };
308
- for (var col = columnStart; col <= columnEnd; col += 1) {
309
- _loop4(col);
310
- }
311
- };
312
- for (var row = rowStart; row <= rowEnd; row += 1) {
313
- _loop3(row);
314
- }
269
+ selectionSchemaNormalizer(selection).forAll(function (row, col) {
270
+ (0, _array.arrayEach)(_this4.savedBorders, function (border) {
271
+ if (border.row === row && border.col === col) {
272
+ selectedBorders.push((0, _utils.denormalizeBorder)(border));
273
+ }
274
+ });
275
+ });
315
276
  });
316
277
  return selectedBorders;
317
278
  }
@@ -736,10 +697,12 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
736
697
  }, {
737
698
  key: "checkCustomSelectionsFromContextMenu",
738
699
  value: function checkCustomSelectionsFromContextMenu(border, place, remove) {
700
+ var _this12 = this;
739
701
  var check = false;
740
702
  (0, _array.arrayEach)(this.hot.selection.highlight.customSelections, function (customSelection) {
741
703
  if (border.id === customSelection.settings.id) {
742
- (0, _object.objectEach)(customSelection.instanceBorders, function (borderObject) {
704
+ var borders = _this12.hot.view._wt.selectionManager.getBorderInstances(customSelection);
705
+ (0, _array.arrayEach)(borders, function (borderObject) {
743
706
  borderObject.toggleHiddenClass(place, remove); // TODO this also bad?
744
707
  });
745
708
 
@@ -764,6 +727,7 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
764
727
  }, {
765
728
  key: "checkCustomSelections",
766
729
  value: function checkCustomSelections(border, cellRange, place) {
730
+ var _this13 = this;
767
731
  var hideCount = this.countHide(border);
768
732
  var check = false;
769
733
  if (hideCount === 4) {
@@ -775,7 +739,8 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
775
739
  customSelection.visualCellRange = cellRange;
776
740
  customSelection.commit();
777
741
  if (place) {
778
- (0, _object.objectEach)(customSelection.instanceBorders, function (borderObject) {
742
+ var borders = _this13.hot.view._wt.selectionManager.getBorderInstances(customSelection);
743
+ (0, _array.arrayEach)(borders, function (borderObject) {
779
744
  borderObject.changeBorderStyle(place, border);
780
745
  });
781
746
  }
@@ -1,10 +1,4 @@
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
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
6
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
7
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
2
  import "core-js/modules/es.array.concat.js";
9
3
  import "core-js/modules/es.object.keys.js";
10
4
  import "core-js/modules/es.object.assign.js";
@@ -25,11 +19,6 @@ import "core-js/modules/es.symbol.iterator.js";
25
19
  import "core-js/modules/es.array.iterator.js";
26
20
  import "core-js/modules/es.string.iterator.js";
27
21
  import "core-js/modules/web.dom-collections.iterator.js";
28
- import "core-js/modules/es.array.slice.js";
29
- import "core-js/modules/es.regexp.to-string.js";
30
- import "core-js/modules/es.function.name.js";
31
- import "core-js/modules/es.array.from.js";
32
- import "core-js/modules/es.regexp.exec.js";
33
22
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
34
23
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
35
24
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -46,7 +35,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
46
35
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
47
36
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
48
37
  import { BasePlugin } from "../base/index.mjs";
49
- import { hasOwnProperty, objectEach, deepClone } from "../../helpers/object.mjs";
38
+ import { hasOwnProperty, deepClone } from "../../helpers/object.mjs";
50
39
  import { rangeEach } from "../../helpers/number.mjs";
51
40
  import { arrayEach, arrayReduce, arrayMap } from "../../helpers/array.mjs";
52
41
  import * as C from "../../i18n/constants.mjs";
@@ -221,25 +210,11 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
221
210
  var selectionType = detectSelectionType(selectionRanges);
222
211
  var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
223
212
  arrayEach(selectionRanges, function (selection) {
224
- var _selectionSchemaNorma = selectionSchemaNormalizer(selection),
225
- _selectionSchemaNorma2 = _slicedToArray(_selectionSchemaNorma, 4),
226
- rowStart = _selectionSchemaNorma2[0],
227
- columnStart = _selectionSchemaNorma2[1],
228
- rowEnd = _selectionSchemaNorma2[2],
229
- columnEnd = _selectionSchemaNorma2[3];
230
- var _loop = function _loop(row) {
231
- var _loop2 = function _loop2(col) {
232
- arrayEach(borderKeys, function (borderKey) {
233
- _this3.prepareBorderFromCustomAdded(row, col, normBorder, toInlinePropName(borderKey));
234
- });
235
- };
236
- for (var col = columnStart; col <= columnEnd; col += 1) {
237
- _loop2(col);
238
- }
239
- };
240
- for (var row = rowStart; row <= rowEnd; row += 1) {
241
- _loop(row);
242
- }
213
+ selectionSchemaNormalizer(selection).forAll(function (row, col) {
214
+ arrayEach(borderKeys, function (borderKey) {
215
+ _this3.prepareBorderFromCustomAdded(row, col, normBorder, toInlinePropName(borderKey));
216
+ });
217
+ });
243
218
  });
244
219
 
245
220
  /*
@@ -282,27 +257,13 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
282
257
  var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
283
258
  var selectedBorders = [];
284
259
  arrayEach(selectionRanges, function (selection) {
285
- var _selectionSchemaNorma3 = selectionSchemaNormalizer(selection),
286
- _selectionSchemaNorma4 = _slicedToArray(_selectionSchemaNorma3, 4),
287
- rowStart = _selectionSchemaNorma4[0],
288
- columnStart = _selectionSchemaNorma4[1],
289
- rowEnd = _selectionSchemaNorma4[2],
290
- columnEnd = _selectionSchemaNorma4[3];
291
- var _loop3 = function _loop3(row) {
292
- var _loop4 = function _loop4(col) {
293
- arrayEach(_this4.savedBorders, function (border) {
294
- if (border.row === row && border.col === col) {
295
- selectedBorders.push(denormalizeBorder(border));
296
- }
297
- });
298
- };
299
- for (var col = columnStart; col <= columnEnd; col += 1) {
300
- _loop4(col);
301
- }
302
- };
303
- for (var row = rowStart; row <= rowEnd; row += 1) {
304
- _loop3(row);
305
- }
260
+ selectionSchemaNormalizer(selection).forAll(function (row, col) {
261
+ arrayEach(_this4.savedBorders, function (border) {
262
+ if (border.row === row && border.col === col) {
263
+ selectedBorders.push(denormalizeBorder(border));
264
+ }
265
+ });
266
+ });
306
267
  });
307
268
  return selectedBorders;
308
269
  }
@@ -727,10 +688,12 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
727
688
  }, {
728
689
  key: "checkCustomSelectionsFromContextMenu",
729
690
  value: function checkCustomSelectionsFromContextMenu(border, place, remove) {
691
+ var _this12 = this;
730
692
  var check = false;
731
693
  arrayEach(this.hot.selection.highlight.customSelections, function (customSelection) {
732
694
  if (border.id === customSelection.settings.id) {
733
- objectEach(customSelection.instanceBorders, function (borderObject) {
695
+ var borders = _this12.hot.view._wt.selectionManager.getBorderInstances(customSelection);
696
+ arrayEach(borders, function (borderObject) {
734
697
  borderObject.toggleHiddenClass(place, remove); // TODO this also bad?
735
698
  });
736
699
 
@@ -755,6 +718,7 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
755
718
  }, {
756
719
  key: "checkCustomSelections",
757
720
  value: function checkCustomSelections(border, cellRange, place) {
721
+ var _this13 = this;
758
722
  var hideCount = this.countHide(border);
759
723
  var check = false;
760
724
  if (hideCount === 4) {
@@ -766,7 +730,8 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
766
730
  customSelection.visualCellRange = cellRange;
767
731
  customSelection.commit();
768
732
  if (place) {
769
- objectEach(customSelection.instanceBorders, function (borderObject) {
733
+ var borders = _this13.hot.view._wt.selectionManager.getBorderInstances(customSelection);
734
+ arrayEach(borders, function (borderObject) {
770
735
  borderObject.changeBorderStyle(place, border);
771
736
  });
772
737
  }