handsontable 0.0.0-next-bff5041-20240315 → 0.0.0-next-f748da8-20240318

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (96) hide show
  1. package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
  2. package/3rdparty/walkontable/src/cell/range.js +22 -5
  3. package/3rdparty/walkontable/src/cell/range.mjs +22 -5
  4. package/base.js +2 -2
  5. package/base.mjs +2 -2
  6. package/core/viewportScroll/index.js +4 -1
  7. package/core/viewportScroll/index.mjs +4 -1
  8. package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
  9. package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
  10. package/core.d.ts +4 -3
  11. package/core.js +76 -21
  12. package/core.mjs +76 -21
  13. package/dist/handsontable.css +2 -2
  14. package/dist/handsontable.full.css +2 -2
  15. package/dist/handsontable.full.js +2611 -1352
  16. package/dist/handsontable.full.min.css +2 -2
  17. package/dist/handsontable.full.min.js +64 -64
  18. package/dist/handsontable.js +2615 -1356
  19. package/dist/handsontable.min.css +2 -2
  20. package/dist/handsontable.min.js +19 -19
  21. package/editorManager.js +12 -8
  22. package/editorManager.mjs +12 -8
  23. package/helpers/mixed.js +1 -1
  24. package/helpers/mixed.mjs +1 -1
  25. package/package.json +1 -1
  26. package/pluginHooks.d.ts +4 -0
  27. package/pluginHooks.js +69 -1
  28. package/pluginHooks.mjs +69 -1
  29. package/plugins/collapsibleColumns/collapsibleColumns.js +9 -3
  30. package/plugins/collapsibleColumns/collapsibleColumns.mjs +9 -3
  31. package/plugins/columnSorting/columnSorting.js +8 -2
  32. package/plugins/columnSorting/columnSorting.mjs +8 -2
  33. package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
  34. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
  35. package/plugins/mergeCells/calculations/selection.js +1 -70
  36. package/plugins/mergeCells/calculations/selection.mjs +1 -70
  37. package/plugins/mergeCells/cellsCollection.js +116 -0
  38. package/plugins/mergeCells/cellsCollection.mjs +116 -0
  39. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +11 -1
  40. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
  41. package/plugins/mergeCells/focusOrder.js +303 -0
  42. package/plugins/mergeCells/focusOrder.mjs +298 -0
  43. package/plugins/mergeCells/mergeCells.js +336 -192
  44. package/plugins/mergeCells/mergeCells.mjs +336 -192
  45. package/plugins/multiColumnSorting/multiColumnSorting.js +8 -2
  46. package/plugins/multiColumnSorting/multiColumnSorting.mjs +8 -2
  47. package/plugins/nestedHeaders/nestedHeaders.js +1 -0
  48. package/plugins/nestedHeaders/nestedHeaders.mjs +1 -0
  49. package/plugins/nestedRows/nestedRows.js +9 -3
  50. package/plugins/nestedRows/nestedRows.mjs +9 -3
  51. package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
  52. package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
  53. package/selection/highlight/visualSelection.js +2 -0
  54. package/selection/highlight/visualSelection.mjs +2 -0
  55. package/selection/selection.js +209 -40
  56. package/selection/selection.mjs +208 -39
  57. package/selection/transformation.js +83 -32
  58. package/selection/transformation.mjs +83 -32
  59. package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
  60. package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
  61. package/shortcutContexts/commands/editor/open.js +18 -3
  62. package/shortcutContexts/commands/editor/open.mjs +18 -3
  63. package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
  64. package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
  65. package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
  66. package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
  67. package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
  68. package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
  69. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
  70. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
  71. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
  72. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
  73. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
  74. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
  75. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
  76. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
  77. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
  78. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
  79. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
  80. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
  81. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
  82. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
  83. package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
  84. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
  85. package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
  86. package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
  87. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +6 -1
  88. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
  89. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
  90. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
  91. package/shortcutContexts/grid.js +2 -2
  92. package/shortcutContexts/grid.mjs +2 -2
  93. package/shortcuts/context.js +2 -1
  94. package/shortcuts/context.mjs +2 -1
  95. package/utils/dataStructures/linkedList.js +6 -1
  96. package/utils/dataStructures/linkedList.mjs +6 -1
@@ -157,12 +157,12 @@ function shortcutsGridContext(hot) {
157
157
  keys: [['Tab']],
158
158
  // The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
159
159
  preventDefault: false,
160
- callback: () => commandsPool.moveCellSelectionInlineStart()
160
+ callback: event => commandsPool.moveCellSelectionInlineStart(event)
161
161
  }, {
162
162
  keys: [['Shift', 'Tab']],
163
163
  // The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
164
164
  preventDefault: false,
165
- callback: () => commandsPool.moveCellSelectionInlineEnd()
165
+ callback: event => commandsPool.moveCellSelectionInlineEnd(event)
166
166
  }, {
167
167
  keys: [['Control/Meta', 'Backspace']],
168
168
  callback: () => commandsPool.scrollToFocusedCell()
@@ -153,12 +153,12 @@ export function shortcutsGridContext(hot) {
153
153
  keys: [['Tab']],
154
154
  // The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
155
155
  preventDefault: false,
156
- callback: () => commandsPool.moveCellSelectionInlineStart()
156
+ callback: event => commandsPool.moveCellSelectionInlineStart(event)
157
157
  }, {
158
158
  keys: [['Shift', 'Tab']],
159
159
  // The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
160
160
  preventDefault: false,
161
- callback: () => commandsPool.moveCellSelectionInlineEnd()
161
+ callback: event => commandsPool.moveCellSelectionInlineEnd(event)
162
162
  }, {
163
163
  keys: [['Control/Meta', 'Backspace']],
164
164
  callback: () => commandsPool.scrollToFocusedCell()
@@ -90,7 +90,8 @@ const createContext = name => {
90
90
  stopPropagation
91
91
  };
92
92
  if ((0, _mixed.isDefined)(relativeToGroup)) {
93
- [newShortcut.relativeToGroup, newShortcut.position] = [relativeToGroup, position];
93
+ newShortcut.relativeToGroup = relativeToGroup;
94
+ newShortcut.position = position;
94
95
  }
95
96
  if (isContextObject(forwardToContext)) {
96
97
  newShortcut.forwardToContext = forwardToContext;
@@ -86,7 +86,8 @@ export const createContext = name => {
86
86
  stopPropagation
87
87
  };
88
88
  if (isDefined(relativeToGroup)) {
89
- [newShortcut.relativeToGroup, newShortcut.position] = [relativeToGroup, position];
89
+ newShortcut.relativeToGroup = relativeToGroup;
90
+ newShortcut.position = position;
90
91
  }
91
92
  if (isContextObject(forwardToContext)) {
92
93
  newShortcut.forwardToContext = forwardToContext;
@@ -59,6 +59,7 @@ class LinkedList {
59
59
  * Add data to the end of linked list.
60
60
  *
61
61
  * @param {object} data Data which should be added.
62
+ * @returns {NodeStructure} Returns the node which has been added.
62
63
  */
63
64
  push(data) {
64
65
  const node = new NodeStructure(data);
@@ -71,6 +72,7 @@ class LinkedList {
71
72
  node.prev = temp;
72
73
  temp.next = node;
73
74
  }
75
+ return node;
74
76
  }
75
77
 
76
78
  /**
@@ -99,7 +101,10 @@ class LinkedList {
99
101
  inorder(callback) {
100
102
  let temp = this.first;
101
103
  while (temp) {
102
- callback(temp);
104
+ const interrupt = callback(temp);
105
+ if (temp === this.last || interrupt === true) {
106
+ break;
107
+ }
103
108
  temp = temp.next;
104
109
  }
105
110
  }
@@ -55,6 +55,7 @@ class LinkedList {
55
55
  * Add data to the end of linked list.
56
56
  *
57
57
  * @param {object} data Data which should be added.
58
+ * @returns {NodeStructure} Returns the node which has been added.
58
59
  */
59
60
  push(data) {
60
61
  const node = new NodeStructure(data);
@@ -67,6 +68,7 @@ class LinkedList {
67
68
  node.prev = temp;
68
69
  temp.next = node;
69
70
  }
71
+ return node;
70
72
  }
71
73
 
72
74
  /**
@@ -95,7 +97,10 @@ class LinkedList {
95
97
  inorder(callback) {
96
98
  let temp = this.first;
97
99
  while (temp) {
98
- callback(temp);
100
+ const interrupt = callback(temp);
101
+ if (temp === this.last || interrupt === true) {
102
+ break;
103
+ }
99
104
  temp = temp.next;
100
105
  }
101
106
  }