handsontable 0.0.0-next-3b33ccd-20230710 → 0.0.0-next-90e205d-20230711

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 (64) hide show
  1. package/base.js +2 -2
  2. package/base.mjs +2 -2
  3. package/core/focusCatcher/focusDetector.js +62 -0
  4. package/core/focusCatcher/focusDetector.mjs +58 -0
  5. package/core/focusCatcher/index.js +140 -0
  6. package/core/focusCatcher/index.mjs +136 -0
  7. package/core/index.js +12 -0
  8. package/core/index.mjs +1 -0
  9. package/core.d.ts +0 -1
  10. package/core.js +24 -31
  11. package/core.mjs +24 -31
  12. package/dataMap/metaManager/metaSchema.js +22 -0
  13. package/dataMap/metaManager/metaSchema.mjs +22 -0
  14. package/dist/handsontable.css +13 -2
  15. package/dist/handsontable.full.css +13 -2
  16. package/dist/handsontable.full.js +4815 -4810
  17. package/dist/handsontable.full.min.css +3 -3
  18. package/dist/handsontable.full.min.js +61 -61
  19. package/dist/handsontable.js +13215 -13210
  20. package/dist/handsontable.min.css +3 -3
  21. package/dist/handsontable.min.js +4 -4
  22. package/editorManager.js +10 -4
  23. package/editorManager.mjs +10 -4
  24. package/helpers/mixed.js +1 -1
  25. package/helpers/mixed.mjs +1 -1
  26. package/package.json +1 -1
  27. package/pluginHooks.d.ts +1 -1
  28. package/pluginHooks.js +10 -7
  29. package/pluginHooks.mjs +10 -7
  30. package/plugins/comments/commentEditor.js +0 -1
  31. package/plugins/comments/commentEditor.mjs +0 -1
  32. package/plugins/comments/comments.js +231 -289
  33. package/plugins/comments/comments.mjs +241 -297
  34. package/plugins/contextMenu/contextMenu.js +0 -1
  35. package/plugins/contextMenu/contextMenu.mjs +0 -1
  36. package/plugins/copyPaste/copyPaste.js +1 -1
  37. package/plugins/copyPaste/copyPaste.mjs +1 -1
  38. package/plugins/dropdownMenu/dropdownMenu.js +1 -0
  39. package/plugins/dropdownMenu/dropdownMenu.mjs +1 -0
  40. package/plugins/formulas/engine/settings.js +2 -2
  41. package/plugins/formulas/engine/settings.mjs +2 -2
  42. package/plugins/formulas/formulas.js +2 -2
  43. package/plugins/formulas/formulas.mjs +2 -2
  44. package/plugins/manualRowResize/manualRowResize.js +2 -2
  45. package/plugins/manualRowResize/manualRowResize.mjs +2 -2
  46. package/settings.d.ts +1 -0
  47. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +2 -7
  48. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +2 -7
  49. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +2 -7
  50. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +2 -7
  51. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +2 -7
  52. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +2 -7
  53. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +2 -7
  54. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +2 -7
  55. package/shortcutContexts/constants.js +1 -6
  56. package/shortcutContexts/constants.mjs +0 -4
  57. package/tableView.js +4 -9
  58. package/tableView.mjs +4 -9
  59. package/plugins/comments/contextMenuItem/addEditComment.js +0 -51
  60. package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
  61. package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -63
  62. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -55
  63. package/plugins/comments/contextMenuItem/removeComment.js +0 -48
  64. package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
package/editorManager.js CHANGED
@@ -255,7 +255,13 @@ var EditorManager = /*#__PURE__*/function () {
255
255
  return;
256
256
  }
257
257
  if (!this.activeEditor) {
258
- this.instance.scrollToFocusedCell();
258
+ var _this$instance$getSel2 = this.instance.getSelectedRangeLast().highlight,
259
+ row = _this$instance$getSel2.row,
260
+ col = _this$instance$getSel2.col;
261
+ var renderableRowIndex = this.instance.rowIndexMapper.getRenderableFromVisualIndex(row);
262
+ var renderableColumnIndex = this.instance.columnIndexMapper.getRenderableFromVisualIndex(col);
263
+ this.instance.view.scrollViewport(this.instance._createCellCoords(renderableRowIndex, renderableColumnIndex));
264
+ this.instance.view.render();
259
265
  this.prepareEditor();
260
266
  }
261
267
  if (this.activeEditor) {
@@ -330,9 +336,9 @@ var EditorManager = /*#__PURE__*/function () {
330
336
  key: "isCellEditable",
331
337
  value: function isCellEditable() {
332
338
  var editorClass = this.instance.getCellEditor(this.cellProperties);
333
- var _this$instance$getSel2 = this.instance.getSelectedRangeLast().highlight,
334
- row = _this$instance$getSel2.row,
335
- col = _this$instance$getSel2.col;
339
+ var _this$instance$getSel3 = this.instance.getSelectedRangeLast().highlight,
340
+ row = _this$instance$getSel3.row,
341
+ col = _this$instance$getSel3.col;
336
342
  var _this$instance = this.instance,
337
343
  rowIndexMapper = _this$instance.rowIndexMapper,
338
344
  columnIndexMapper = _this$instance.columnIndexMapper;
package/editorManager.mjs CHANGED
@@ -249,7 +249,13 @@ var EditorManager = /*#__PURE__*/function () {
249
249
  return;
250
250
  }
251
251
  if (!this.activeEditor) {
252
- this.instance.scrollToFocusedCell();
252
+ var _this$instance$getSel2 = this.instance.getSelectedRangeLast().highlight,
253
+ row = _this$instance$getSel2.row,
254
+ col = _this$instance$getSel2.col;
255
+ var renderableRowIndex = this.instance.rowIndexMapper.getRenderableFromVisualIndex(row);
256
+ var renderableColumnIndex = this.instance.columnIndexMapper.getRenderableFromVisualIndex(col);
257
+ this.instance.view.scrollViewport(this.instance._createCellCoords(renderableRowIndex, renderableColumnIndex));
258
+ this.instance.view.render();
253
259
  this.prepareEditor();
254
260
  }
255
261
  if (this.activeEditor) {
@@ -324,9 +330,9 @@ var EditorManager = /*#__PURE__*/function () {
324
330
  key: "isCellEditable",
325
331
  value: function isCellEditable() {
326
332
  var editorClass = this.instance.getCellEditor(this.cellProperties);
327
- var _this$instance$getSel2 = this.instance.getSelectedRangeLast().highlight,
328
- row = _this$instance$getSel2.row,
329
- col = _this$instance$getSel2.col;
333
+ var _this$instance$getSel3 = this.instance.getSelectedRangeLast().highlight,
334
+ row = _this$instance$getSel3.row,
335
+ col = _this$instance$getSel3.col;
330
336
  var _this$instance = this.instance,
331
337
  rowIndexMapper = _this$instance.rowIndexMapper,
332
338
  columnIndexMapper = _this$instance.columnIndexMapper;
package/helpers/mixed.js CHANGED
@@ -152,7 +152,7 @@ var domMessages = {
152
152
  function _injectProductInfo(key, element) {
153
153
  var hasValidType = !isEmpty(key);
154
154
  var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
155
- var hotVersion = "0.0.0-next-3b33ccd-20230710";
155
+ var hotVersion = "0.0.0-next-90e205d-20230711";
156
156
  var keyValidityDate;
157
157
  var consoleMessageState = 'invalid';
158
158
  var domMessageState = 'invalid';
package/helpers/mixed.mjs CHANGED
@@ -142,7 +142,7 @@ var domMessages = {
142
142
  export function _injectProductInfo(key, element) {
143
143
  var hasValidType = !isEmpty(key);
144
144
  var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
145
- var hotVersion = "0.0.0-next-3b33ccd-20230710";
145
+ var hotVersion = "0.0.0-next-90e205d-20230711";
146
146
  var keyValidityDate;
147
147
  var consoleMessageState = 'invalid';
148
148
  var domMessageState = 'invalid';
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/handsontable/handsontable/issues"
11
11
  },
12
12
  "author": "Handsoncode <hello@handsontable.com>",
13
- "version": "0.0.0-next-3b33ccd-20230710",
13
+ "version": "0.0.0-next-90e205d-20230711",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
package/pluginHooks.d.ts CHANGED
@@ -128,7 +128,6 @@ export interface Events {
128
128
  afterRowSequenceChange?: (source: 'init' | 'move' | 'insert' | 'remove' | 'update') => void;
129
129
  afterScrollHorizontally?: () => void;
130
130
  afterScrollVertically?: () => void;
131
- afterScroll?: () => void;
132
131
  afterSelectColumns?: (from: CellCoords, to: CellCoords, highlight: CellCoords) => void;
133
132
  afterSelection?: (row: number, column: number, row2: number, column2: number, preventScrolling: { value: boolean }, selectionLayerLevel: number) => void;
134
133
  afterSelectionByProp?: (row: number, prop: string, row2: number, prop2: string, preventScrolling: { value: boolean }, selectionLayerLevel: number) => void;
@@ -237,6 +236,7 @@ export interface Events {
237
236
  modifyColWidth?: (width: number, column: number) => void;
238
237
  modifyCopyableRange?: (copyableRanges: RangeType[]) => void;
239
238
  modifyData?: (row: number, column: number, valueHolder: { value: CellValue }, ioMode: 'get' | 'set') => void;
239
+ modifyFocusOnTabNavigation?: (tabActivationDir: 'from_above' | 'from_below', visualCoords: CellCoords) => void;
240
240
  modifyGetCellCoords?: (row: number, column: number, topmost: boolean) => void | [number, number] | [number, number, number, number];
241
241
  modifyRowData?: (row: number) => void;
242
242
  modifyRowHeader?: (row: number) => void;
package/pluginHooks.js CHANGED
@@ -577,13 +577,6 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
577
577
  * @event Hooks#afterScrollVertically
578
578
  */
579
579
  'afterScrollVertically',
580
- /**
581
- * Fired after the vertical or horizontal scroll event.
582
- *
583
- * @since 14.0.0
584
- * @event Hooks#afterScroll
585
- */
586
- 'afterScroll',
587
580
  /**
588
581
  * Fired after one or more cells are selected (e.g. During mouse move).
589
582
  *
@@ -1343,6 +1336,16 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
1343
1336
  * @returns {undefined|number[]}
1344
1337
  */
1345
1338
  'modifyGetCellCoords',
1339
+ /**
1340
+ * Used to modify the cell coordinates when the table is activated (going into the listen mode).
1341
+ *
1342
+ * @event Hooks#modifyFocusOnTabNavigation
1343
+ * @since 14.0.0
1344
+ * @param {'from_above' | 'from_below'} tabActivationDir The browsers Tab navigation direction. Depending on
1345
+ * whether the user activated the table from the element above or below, another cell can be selected.
1346
+ * @param {CellCoords} visualCoords The coords that will be used to select a cell.
1347
+ */
1348
+ 'modifyFocusOnTabNavigation',
1346
1349
  /**
1347
1350
  * Allows modify the visual row index that is used to retrieve the row header element (TH) before it's
1348
1351
  * highlighted (proper CSS class names are added). Modifying the visual row index allows building a custom
package/pluginHooks.mjs CHANGED
@@ -574,13 +574,6 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
574
574
  * @event Hooks#afterScrollVertically
575
575
  */
576
576
  'afterScrollVertically',
577
- /**
578
- * Fired after the vertical or horizontal scroll event.
579
- *
580
- * @since 14.0.0
581
- * @event Hooks#afterScroll
582
- */
583
- 'afterScroll',
584
577
  /**
585
578
  * Fired after one or more cells are selected (e.g. During mouse move).
586
579
  *
@@ -1340,6 +1333,16 @@ var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sen
1340
1333
  * @returns {undefined|number[]}
1341
1334
  */
1342
1335
  'modifyGetCellCoords',
1336
+ /**
1337
+ * Used to modify the cell coordinates when the table is activated (going into the listen mode).
1338
+ *
1339
+ * @event Hooks#modifyFocusOnTabNavigation
1340
+ * @since 14.0.0
1341
+ * @param {'from_above' | 'from_below'} tabActivationDir The browsers Tab navigation direction. Depending on
1342
+ * whether the user activated the table from the element above or below, another cell can be selected.
1343
+ * @param {CellCoords} visualCoords The coords that will be used to select a cell.
1344
+ */
1345
+ 'modifyFocusOnTabNavigation',
1343
1346
  /**
1344
1347
  * Allows modify the visual row index that is used to retrieve the row header element (TH) before it's
1345
1348
  * highlighted (proper CSS class names are added). Modifying the visual row index allows building a custom
@@ -197,7 +197,6 @@ var CommentEditor = /*#__PURE__*/function () {
197
197
  this.rootDocument.body.appendChild(this.container);
198
198
  (0, _element.addClass)(editor, CommentEditor.CLASS_EDITOR);
199
199
  (0, _element.addClass)(textArea, CommentEditor.CLASS_INPUT);
200
- textArea.setAttribute('data-hot-input', true);
201
200
  editor.appendChild(textArea);
202
201
  this.container.appendChild(editor);
203
202
  return editor;
@@ -193,7 +193,6 @@ var CommentEditor = /*#__PURE__*/function () {
193
193
  this.rootDocument.body.appendChild(this.container);
194
194
  addClass(editor, CommentEditor.CLASS_EDITOR);
195
195
  addClass(textArea, CommentEditor.CLASS_INPUT);
196
- textArea.setAttribute('data-hot-input', true);
197
196
  editor.appendChild(textArea);
198
197
  this.container.appendChild(editor);
199
198
  return editor;