handsontable 0.0.0-next-3d099da-20231208 → 0.0.0-next-16c18c1-20231212

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 (313) hide show
  1. package/3rdparty/walkontable/src/calculator/index.js +11 -6
  2. package/3rdparty/walkontable/src/calculator/index.mjs +5 -3
  3. package/3rdparty/walkontable/src/calculator/renderAllColumns.js +50 -0
  4. package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +46 -0
  5. package/3rdparty/walkontable/src/calculator/renderAllRows.js +50 -0
  6. package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +46 -0
  7. package/3rdparty/walkontable/src/calculator/viewportColumns.js +3 -124
  8. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +4 -126
  9. package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
  10. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +4 -5
  11. package/3rdparty/walkontable/src/cell/coords.js +2 -2
  12. package/3rdparty/walkontable/src/cell/coords.mjs +2 -2
  13. package/3rdparty/walkontable/src/cell/range.js +2 -2
  14. package/3rdparty/walkontable/src/cell/range.mjs +2 -2
  15. package/3rdparty/walkontable/src/core/_base.js +2 -14
  16. package/3rdparty/walkontable/src/core/_base.mjs +2 -14
  17. package/3rdparty/walkontable/src/core/clone.js +2 -2
  18. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  19. package/3rdparty/walkontable/src/core/core.js +0 -2
  20. package/3rdparty/walkontable/src/core/core.mjs +0 -2
  21. package/3rdparty/walkontable/src/facade/core.js +0 -9
  22. package/3rdparty/walkontable/src/facade/core.mjs +0 -9
  23. package/3rdparty/walkontable/src/filter/column.js +2 -2
  24. package/3rdparty/walkontable/src/filter/column.mjs +2 -2
  25. package/3rdparty/walkontable/src/filter/row.js +2 -2
  26. package/3rdparty/walkontable/src/filter/row.mjs +2 -2
  27. package/3rdparty/walkontable/src/index.js +3 -4
  28. package/3rdparty/walkontable/src/index.mjs +1 -2
  29. package/3rdparty/walkontable/src/overlay/_base.js +2 -2
  30. package/3rdparty/walkontable/src/overlay/_base.mjs +2 -2
  31. package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
  32. package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
  33. package/3rdparty/walkontable/src/overlay/top.js +2 -2
  34. package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
  35. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +2 -2
  36. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +2 -2
  37. package/3rdparty/walkontable/src/overlays.js +2 -5
  38. package/3rdparty/walkontable/src/overlays.mjs +2 -6
  39. package/3rdparty/walkontable/src/renderer/_base.js +2 -2
  40. package/3rdparty/walkontable/src/renderer/_base.mjs +2 -2
  41. package/3rdparty/walkontable/src/renderer/cells.js +2 -2
  42. package/3rdparty/walkontable/src/renderer/cells.mjs +2 -2
  43. package/3rdparty/walkontable/src/renderer/colGroup.js +10 -0
  44. package/3rdparty/walkontable/src/renderer/colGroup.mjs +10 -0
  45. package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
  46. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
  47. package/3rdparty/walkontable/src/renderer/rows.js +6 -5
  48. package/3rdparty/walkontable/src/renderer/rows.mjs +6 -5
  49. package/3rdparty/walkontable/src/renderer/table.js +2 -2
  50. package/3rdparty/walkontable/src/renderer/table.mjs +2 -2
  51. package/3rdparty/walkontable/src/scroll.js +2 -2
  52. package/3rdparty/walkontable/src/scroll.mjs +2 -2
  53. package/3rdparty/walkontable/src/selection/manager.js +0 -1
  54. package/3rdparty/walkontable/src/selection/manager.mjs +0 -1
  55. package/3rdparty/walkontable/src/settings.js +5 -2
  56. package/3rdparty/walkontable/src/settings.mjs +4 -2
  57. package/3rdparty/walkontable/src/table.js +2 -3
  58. package/3rdparty/walkontable/src/table.mjs +2 -3
  59. package/3rdparty/walkontable/src/utils/column.js +29 -14
  60. package/3rdparty/walkontable/src/utils/column.mjs +29 -14
  61. package/3rdparty/walkontable/src/utils/columnStretching.js +219 -0
  62. package/3rdparty/walkontable/src/utils/columnStretching.mjs +215 -0
  63. package/3rdparty/walkontable/src/utils/nodesPool.js +2 -2
  64. package/3rdparty/walkontable/src/utils/nodesPool.mjs +2 -2
  65. package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
  66. package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
  67. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +2 -2
  68. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +2 -2
  69. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +2 -2
  70. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +2 -2
  71. package/3rdparty/walkontable/src/utils/row.js +2 -2
  72. package/3rdparty/walkontable/src/utils/row.mjs +2 -2
  73. package/3rdparty/walkontable/src/viewport.js +22 -17
  74. package/3rdparty/walkontable/src/viewport.mjs +23 -18
  75. package/base.js +4 -2
  76. package/base.mjs +2 -2
  77. package/core/focusCatcher/index.js +44 -6
  78. package/core/focusCatcher/index.mjs +44 -6
  79. package/core.js +0 -11
  80. package/core.mjs +0 -11
  81. package/dataMap/dataMap.js +3 -2
  82. package/dataMap/dataMap.mjs +2 -2
  83. package/dataMap/dataSource.js +2 -2
  84. package/dataMap/dataSource.mjs +2 -2
  85. package/dataMap/metaManager/lazyFactoryMap.js +2 -2
  86. package/dataMap/metaManager/lazyFactoryMap.mjs +2 -2
  87. package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
  88. package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
  89. package/dataMap/metaManager/metaLayers/columnMeta.js +2 -2
  90. package/dataMap/metaManager/metaLayers/columnMeta.mjs +2 -2
  91. package/dataMap/metaManager/metaLayers/globalMeta.js +2 -2
  92. package/dataMap/metaManager/metaLayers/globalMeta.mjs +2 -2
  93. package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
  94. package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
  95. package/dataMap/metaManager/metaSchema.js +28 -2
  96. package/dataMap/metaManager/metaSchema.mjs +28 -2
  97. package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -2
  98. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +2 -2
  99. package/dataMap/metaManager/mods/extendMetaProperties.js +14 -2
  100. package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -2
  101. package/dist/handsontable.css +2 -2
  102. package/dist/handsontable.full.css +3 -3
  103. package/dist/handsontable.full.js +3991 -5589
  104. package/dist/handsontable.full.min.css +3 -3
  105. package/dist/handsontable.full.min.js +66 -71
  106. package/dist/handsontable.js +3070 -4317
  107. package/dist/handsontable.min.css +2 -2
  108. package/dist/handsontable.min.js +35 -39
  109. package/editorManager.js +5 -6
  110. package/editorManager.mjs +5 -6
  111. package/editors/autocompleteEditor/autocompleteEditor.js +2 -4
  112. package/editors/autocompleteEditor/autocompleteEditor.mjs +2 -4
  113. package/editors/baseEditor/baseEditor.js +2 -2
  114. package/editors/baseEditor/baseEditor.mjs +2 -2
  115. package/editors/dateEditor/dateEditor.d.ts +1 -1
  116. package/editors/dateEditor/dateEditor.js +6 -3
  117. package/editors/dateEditor/dateEditor.mjs +6 -3
  118. package/editors/handsontableEditor/handsontableEditor.js +0 -1
  119. package/editors/handsontableEditor/handsontableEditor.mjs +0 -1
  120. package/editors/textEditor/textEditor.js +2 -6
  121. package/editors/textEditor/textEditor.mjs +2 -6
  122. package/eventManager.js +2 -2
  123. package/eventManager.mjs +2 -2
  124. package/helpers/browser.js +5 -2
  125. package/helpers/browser.mjs +5 -2
  126. package/helpers/feature.js +10 -0
  127. package/helpers/feature.mjs +9 -0
  128. package/helpers/mixed.js +1 -1
  129. package/helpers/mixed.mjs +1 -1
  130. package/package.json +3 -4
  131. package/pluginHooks.d.ts +6 -29
  132. package/pluginHooks.js +67 -125
  133. package/pluginHooks.mjs +64 -124
  134. package/plugins/autoColumnSize/autoColumnSize.js +2 -2
  135. package/plugins/autoColumnSize/autoColumnSize.mjs +2 -2
  136. package/plugins/autoRowSize/autoRowSize.js +2 -2
  137. package/plugins/autoRowSize/autoRowSize.mjs +2 -2
  138. package/plugins/autofill/autofill.js +2 -2
  139. package/plugins/autofill/autofill.mjs +2 -2
  140. package/plugins/base/base.js +2 -2
  141. package/plugins/base/base.mjs +2 -2
  142. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -2
  143. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -2
  144. package/plugins/collapsibleColumns/collapsibleColumns.js +2 -2
  145. package/plugins/collapsibleColumns/collapsibleColumns.mjs +2 -2
  146. package/plugins/columnSorting/columnSorting.js +2 -2
  147. package/plugins/columnSorting/columnSorting.mjs +2 -2
  148. package/plugins/columnSorting/columnStatesManager.js +2 -2
  149. package/plugins/columnSorting/columnStatesManager.mjs +2 -2
  150. package/plugins/columnSummary/columnSummary.js +2 -2
  151. package/plugins/columnSummary/columnSummary.mjs +2 -2
  152. package/plugins/columnSummary/endpoints.js +2 -2
  153. package/plugins/columnSummary/endpoints.mjs +2 -2
  154. package/plugins/comments/commentEditor.js +2 -2
  155. package/plugins/comments/commentEditor.mjs +2 -2
  156. package/plugins/comments/comments.js +2 -2
  157. package/plugins/comments/comments.mjs +2 -2
  158. package/plugins/comments/displaySwitch.js +2 -2
  159. package/plugins/comments/displaySwitch.mjs +2 -2
  160. package/plugins/contextMenu/commandExecutor.js +2 -2
  161. package/plugins/contextMenu/commandExecutor.mjs +2 -2
  162. package/plugins/contextMenu/contextMenu.js +2 -2
  163. package/plugins/contextMenu/contextMenu.mjs +2 -2
  164. package/plugins/contextMenu/itemsFactory.js +2 -2
  165. package/plugins/contextMenu/itemsFactory.mjs +2 -2
  166. package/plugins/contextMenu/menu/cursor.js +2 -2
  167. package/plugins/contextMenu/menu/cursor.mjs +2 -2
  168. package/plugins/contextMenu/menu/menu.js +2 -2
  169. package/plugins/contextMenu/menu/menu.mjs +2 -2
  170. package/plugins/copyPaste/clipboardData.js +18 -0
  171. package/plugins/copyPaste/clipboardData.mjs +14 -0
  172. package/plugins/copyPaste/copyPaste.js +131 -53
  173. package/plugins/copyPaste/copyPaste.mjs +134 -56
  174. package/plugins/copyPaste/copyableRanges.js +43 -7
  175. package/plugins/copyPaste/copyableRanges.mjs +42 -7
  176. package/plugins/copyPaste/pasteEvent.mjs +1 -1
  177. package/plugins/customBorders/customBorders.js +2 -7
  178. package/plugins/customBorders/customBorders.mjs +2 -7
  179. package/plugins/customBorders/utils.js +0 -1
  180. package/plugins/customBorders/utils.mjs +0 -1
  181. package/plugins/dragToScroll/dragToScroll.js +2 -2
  182. package/plugins/dragToScroll/dragToScroll.mjs +2 -2
  183. package/plugins/dropdownMenu/dropdownMenu.js +2 -2
  184. package/plugins/dropdownMenu/dropdownMenu.mjs +2 -2
  185. package/plugins/exportFile/dataProvider.js +2 -2
  186. package/plugins/exportFile/dataProvider.mjs +2 -2
  187. package/plugins/exportFile/types/_base.js +2 -2
  188. package/plugins/exportFile/types/_base.mjs +2 -2
  189. package/plugins/filters/component/_base.js +2 -2
  190. package/plugins/filters/component/_base.mjs +2 -2
  191. package/plugins/filters/component/actionBar.js +2 -2
  192. package/plugins/filters/component/actionBar.mjs +2 -2
  193. package/plugins/filters/component/condition.js +2 -2
  194. package/plugins/filters/component/condition.mjs +2 -2
  195. package/plugins/filters/component/operators.js +2 -2
  196. package/plugins/filters/component/operators.mjs +2 -2
  197. package/plugins/filters/component/value.js +2 -2
  198. package/plugins/filters/component/value.mjs +2 -2
  199. package/plugins/filters/conditionCollection.js +2 -2
  200. package/plugins/filters/conditionCollection.mjs +2 -2
  201. package/plugins/filters/conditionUpdateObserver.js +2 -2
  202. package/plugins/filters/conditionUpdateObserver.mjs +2 -2
  203. package/plugins/filters/dataFilter.js +2 -2
  204. package/plugins/filters/dataFilter.mjs +2 -2
  205. package/plugins/filters/filters.js +2 -2
  206. package/plugins/filters/filters.mjs +2 -2
  207. package/plugins/filters/ui/_base.js +2 -2
  208. package/plugins/filters/ui/_base.mjs +2 -2
  209. package/plugins/filters/ui/radioInput.js +1 -1
  210. package/plugins/filters/ui/radioInput.mjs +1 -1
  211. package/plugins/formulas/formulas.js +2 -4
  212. package/plugins/formulas/formulas.mjs +2 -4
  213. package/plugins/formulas/indexSyncer/axisSyncer.js +0 -1
  214. package/plugins/formulas/indexSyncer/axisSyncer.mjs +0 -1
  215. package/plugins/manualColumnMove/ui/_base.js +2 -2
  216. package/plugins/manualColumnMove/ui/_base.mjs +2 -2
  217. package/plugins/manualColumnResize/manualColumnResize.js +0 -1
  218. package/plugins/manualColumnResize/manualColumnResize.mjs +0 -1
  219. package/plugins/manualRowMove/ui/_base.js +2 -2
  220. package/plugins/manualRowMove/ui/_base.mjs +2 -2
  221. package/plugins/mergeCells/calculations/autofill.js +2 -2
  222. package/plugins/mergeCells/calculations/autofill.mjs +2 -2
  223. package/plugins/mergeCells/calculations/selection.js +2 -2
  224. package/plugins/mergeCells/calculations/selection.mjs +2 -2
  225. package/plugins/mergeCells/cellCoords.js +2 -2
  226. package/plugins/mergeCells/cellCoords.mjs +2 -2
  227. package/plugins/mergeCells/cellsCollection.js +2 -2
  228. package/plugins/mergeCells/cellsCollection.mjs +2 -2
  229. package/plugins/mergeCells/mergeCells.js +3 -129
  230. package/plugins/mergeCells/mergeCells.mjs +3 -129
  231. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -2
  232. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -2
  233. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
  234. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
  235. package/plugins/nestedHeaders/nestedHeaders.js +43 -89
  236. package/plugins/nestedHeaders/nestedHeaders.mjs +44 -90
  237. package/plugins/nestedHeaders/stateManager/headersTree.js +0 -1
  238. package/plugins/nestedHeaders/stateManager/headersTree.mjs +0 -1
  239. package/plugins/nestedHeaders/utils/ghostTable.js +2 -2
  240. package/plugins/nestedHeaders/utils/ghostTable.mjs +2 -2
  241. package/plugins/nestedRows/data/dataManager.js +2 -2
  242. package/plugins/nestedRows/data/dataManager.mjs +2 -2
  243. package/plugins/nestedRows/nestedRows.js +2 -2
  244. package/plugins/nestedRows/nestedRows.mjs +2 -2
  245. package/plugins/nestedRows/ui/_base.js +2 -2
  246. package/plugins/nestedRows/ui/_base.mjs +2 -2
  247. package/plugins/nestedRows/ui/contextMenu.js +2 -2
  248. package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
  249. package/plugins/nestedRows/utils/rowMoveController.js +2 -2
  250. package/plugins/nestedRows/utils/rowMoveController.mjs +2 -2
  251. package/plugins/persistentState/persistentState.js +2 -2
  252. package/plugins/persistentState/persistentState.mjs +2 -2
  253. package/plugins/persistentState/storage.js +2 -2
  254. package/plugins/persistentState/storage.mjs +2 -2
  255. package/plugins/search/search.js +2 -2
  256. package/plugins/search/search.mjs +2 -2
  257. package/plugins/touchScroll/touchScroll.js +2 -2
  258. package/plugins/touchScroll/touchScroll.mjs +2 -2
  259. package/plugins/trimRows/trimRows.js +2 -2
  260. package/plugins/trimRows/trimRows.mjs +2 -2
  261. package/plugins/undoRedo/undoRedo.js +0 -2
  262. package/plugins/undoRedo/undoRedo.mjs +0 -2
  263. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -1
  264. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -1
  265. package/renderers/checkboxRenderer/checkboxRenderer.js +0 -2
  266. package/renderers/checkboxRenderer/checkboxRenderer.mjs +0 -2
  267. package/selection/highlight/highlight.js +2 -3
  268. package/selection/highlight/highlight.mjs +2 -3
  269. package/selection/highlight/visualSelection.js +2 -2
  270. package/selection/highlight/visualSelection.mjs +2 -2
  271. package/selection/index.js +1 -3
  272. package/selection/index.mjs +2 -2
  273. package/selection/range.js +2 -2
  274. package/selection/range.mjs +2 -2
  275. package/selection/selection.js +2 -2
  276. package/selection/selection.mjs +2 -2
  277. package/selection/utils.js +0 -34
  278. package/selection/utils.mjs +0 -33
  279. package/settings.d.ts +2 -1
  280. package/tableView.js +3 -4
  281. package/tableView.mjs +3 -4
  282. package/translations/indexMapper.js +4 -3
  283. package/translations/indexMapper.mjs +2 -2
  284. package/translations/mapCollections/aggregatedCollection.js +2 -2
  285. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  286. package/translations/mapCollections/mapCollection.js +2 -2
  287. package/translations/mapCollections/mapCollection.mjs +2 -2
  288. package/translations/maps/indexMap.js +2 -2
  289. package/translations/maps/indexMap.mjs +2 -2
  290. package/translations/maps/linkedPhysicalIndexToValueMap.js +2 -2
  291. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +2 -2
  292. package/utils/dataStructures/linkedList.js +2 -2
  293. package/utils/dataStructures/linkedList.mjs +2 -2
  294. package/utils/dataStructures/tree.js +2 -2
  295. package/utils/dataStructures/tree.mjs +2 -2
  296. package/utils/ghostTable.js +2 -2
  297. package/utils/ghostTable.mjs +2 -2
  298. package/utils/interval.js +2 -2
  299. package/utils/interval.mjs +2 -2
  300. package/utils/parseTable.js +84 -538
  301. package/utils/parseTable.mjs +83 -534
  302. package/utils/samplesGenerator.js +2 -2
  303. package/utils/samplesGenerator.mjs +2 -2
  304. package/validators/timeValidator/timeValidator.js +0 -1
  305. package/validators/timeValidator/timeValidator.mjs +0 -1
  306. package/plugins/copyPaste/clipboardData/clipboardData.js +0 -588
  307. package/plugins/copyPaste/clipboardData/clipboardData.mjs +0 -584
  308. package/plugins/copyPaste/clipboardData/copyClipboardData.js +0 -69
  309. package/plugins/copyPaste/clipboardData/copyClipboardData.mjs +0 -65
  310. package/plugins/copyPaste/clipboardData/index.js +0 -9
  311. package/plugins/copyPaste/clipboardData/index.mjs +0 -4
  312. package/plugins/copyPaste/clipboardData/pasteClipboardData.js +0 -81
  313. package/plugins/copyPaste/clipboardData/pasteClipboardData.mjs +0 -77
package/pluginHooks.js CHANGED
@@ -10,8 +10,8 @@ var _console = require("./helpers/console");
10
10
  var _templateLiteralTag = require("./helpers/templateLiteralTag");
11
11
  var _function = require("./helpers/function");
12
12
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
14
- 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); }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
14
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
15
  /* eslint-disable jsdoc/require-description-complete-sentence */
16
16
  /**
17
17
  * @description
@@ -122,7 +122,9 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
122
122
  * });
123
123
  * :::
124
124
  * ...
125
- */ // @TODO: Move plugin description hooks to plugin?
125
+ */
126
+
127
+ // @TODO: Move plugin description hooks to plugin?
126
128
  const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sentence */
127
129
  /**
128
130
  * Fired after resetting a cell's meta. This happens when the {@link Core#updateSettings} method is called.
@@ -1511,36 +1513,26 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1511
1513
  * Fired by {@link CopyPaste} plugin before copying the values to the clipboard and before clearing values of
1512
1514
  * the selected cells. This hook is fired when {@link Options#copyPaste} option is enabled.
1513
1515
  *
1514
- * Note: Please keep in mind since @15.0.0 the method arguments has been changed.
1515
- *
1516
1516
  * @event Hooks#beforeCut
1517
- * @param {object} clipboardData Information about cut action which is going to happen.
1518
- * @param {Function} clipboardData.removeRow Remove row from the copied dataset.
1519
- * @param {Function} clipboardData.removeColumn Remove column from the copied dataset.
1520
- * @param {Function} clipboardData.insertAtRow Insert values at row index.
1521
- * @param {Function} clipboardData.insertAtColumn Insert values at column index.
1522
- * @param {Function} clipboardData.setCellAt Change headers or cells in the copied dataset.
1523
- * @param {Function} clipboardData.getCellAt Get headers or cells from the copied dataset.
1524
- * @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
1525
- * @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
1526
- * @param {Function} clipboardData.setMetaInfo Sets meta information for the copied data.
1527
- * @param {Function} clipboardData.getRanges Returns ranges related to copied part of Handsontable.
1517
+ * @param {Array[]} data An array of arrays which contains data to cut.
1518
+ * @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
1519
+ * which will be cut out.
1528
1520
  * @returns {*} If returns `false` then operation of the cutting out is canceled.
1529
1521
  * @example
1530
1522
  * ::: only-for javascript
1531
1523
  * ```js
1532
- * // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
1524
+ * // To disregard a single row, remove it from the array using data.splice(i, 1).
1533
1525
  * new Handsontable(element, {
1534
- * beforeCut: function(clipboardData) {
1535
- * // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
1536
- * clipboardData.removeRows([0]);
1537
- * clipboardData.removeColumns([0]);
1538
- * // clipboardData.getData() -> [[5, 6]]
1526
+ * beforeCut: function(data, coords) {
1527
+ * // data -> [[1, 2, 3], [4, 5, 6]]
1528
+ * data.splice(0, 1);
1529
+ * // data -> [[4, 5, 6]]
1530
+ * // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
1539
1531
  * }
1540
1532
  * });
1541
1533
  * // To cancel a cutting action, just return `false`.
1542
1534
  * new Handsontable(element, {
1543
- * beforeCut: function(clipboardData) {
1535
+ * beforeCut: function(data, coords) {
1544
1536
  * return false;
1545
1537
  * }
1546
1538
  * });
@@ -1549,18 +1541,18 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1549
1541
  *
1550
1542
  * ::: only-for react
1551
1543
  * ```jsx
1552
- * // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
1544
+ * // To disregard a single row, remove it from the array using data.splice(i, 1).
1553
1545
  * <HotTable
1554
- * beforeCut={(clipboardData) => {
1555
- * // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
1556
- * clipboardData.removeRows([0]);
1557
- * clipboardData.removeColumns([0]);
1558
- * // clipboardData.getData() -> [[5, 6]]
1546
+ * beforeCut={(data, coords) => {
1547
+ * // data -> [[1, 2, 3], [4, 5, 6]]
1548
+ * data.splice(0, 1);
1549
+ * // data -> [[4, 5, 6]]
1550
+ * // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
1559
1551
  * }}
1560
1552
  * />
1561
1553
  * // To cancel a cutting action, just return `false`.
1562
1554
  * <HotTable
1563
- * beforeCut={(clipboardData) => {
1555
+ * beforeCut={(data, coords) => {
1564
1556
  * return false;
1565
1557
  * }}
1566
1558
  * />
@@ -1572,52 +1564,33 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1572
1564
  * Fired by {@link CopyPaste} plugin after data was cut out from the table. This hook is fired when
1573
1565
  * {@link Options#copyPaste} option is enabled.
1574
1566
  *
1575
- * Note: Please keep in mind since @15.0.0 the method arguments has been changed.
1576
- *
1577
1567
  * @event Hooks#afterCut
1578
- * @param {object} clipboardData Information about already performed cut action.
1579
- * @param {Function} clipboardData.removeRow Remove row from the copied dataset.
1580
- * @param {Function} clipboardData.removeColumn Remove column from the copied dataset.
1581
- * @param {Function} clipboardData.insertAtRow Insert values at row index.
1582
- * @param {Function} clipboardData.insertAtColumn Insert values at column index.
1583
- * @param {Function} clipboardData.setCellAt Change headers or cells in the copied dataset.
1584
- * @param {Function} clipboardData.getCellAt Get headers or cells from the copied dataset.
1585
- * @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
1586
- * @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
1587
- * @param {Function} clipboardData.setMetaInfo Sets meta information for the copied data.
1588
- * @param {Function} clipboardData.getRanges Returns ranges related to copied part of Handsontable.
1568
+ * @param {Array[]} data An array of arrays with the cut data.
1569
+ * @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
1570
+ * which was cut out.
1589
1571
  */
1590
1572
  'afterCut',
1591
1573
  /**
1592
1574
  * Fired before values are copied to the clipboard.
1593
1575
  *
1594
- * Note: Please keep in mind since @15.0.0 the method arguments has been changed.
1595
- *
1596
1576
  * @event Hooks#beforeCopy
1597
- * @param {object} clipboardData Information about copy action which is going to happen.
1598
- * @param {Function} clipboardData.removeRow Remove row from the copied dataset.
1599
- * @param {Function} clipboardData.removeColumn Remove column from the copied dataset.
1600
- * @param {Function} clipboardData.insertAtRow Insert values at row index.
1601
- * @param {Function} clipboardData.insertAtColumn Insert values at column index.
1602
- * @param {Function} clipboardData.setCellAt Change headers or cells in the copied dataset.
1603
- * @param {Function} clipboardData.getCellAt Get headers or cells from the copied dataset.
1604
- * @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
1605
- * @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
1606
- * @param {Function} clipboardData.setMetaInfo Sets meta information for the copied data.
1607
- * @param {Function} clipboardData.getRanges Returns ranges related to copied part of Handsontable.
1577
+ * @param {Array[]} data An array of arrays which contains data to copied.
1578
+ * @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
1579
+ * which will copied.
1580
+ * @param {{ columnHeadersCount: number }} copiedHeadersCount (Since 12.3.0) The number of copied column headers.
1608
1581
  * @returns {*} If returns `false` then copying is canceled.
1609
1582
  *
1610
1583
  * @example
1611
1584
  * ::: only-for javascript
1612
1585
  * ```js
1613
- * // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
1586
+ * // To disregard a single row, remove it from array using data.splice(i, 1).
1614
1587
  * ...
1615
1588
  * new Handsontable(document.getElementById('example'), {
1616
- * beforeCopy: (clipboardData) => {
1617
- * // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
1618
- * clipboardData.removeRows([0]);
1619
- * clipboardData.removeColumns([0]);
1620
- * // clipboardData.getData() -> [[5, 6]]
1589
+ * beforeCopy: (data, coords) => {
1590
+ * // data -> [[1, 2, 3], [4, 5, 6]]
1591
+ * data.splice(0, 1);
1592
+ * // data -> [[4, 5, 6]]
1593
+ * // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
1621
1594
  * }
1622
1595
  * });
1623
1596
  * ...
@@ -1625,7 +1598,7 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1625
1598
  * // To cancel copying, return false from the callback.
1626
1599
  * ...
1627
1600
  * new Handsontable(document.getElementById('example'), {
1628
- * beforeCopy: (clipboardData) => {
1601
+ * beforeCopy: (data, coords) => {
1629
1602
  * return false;
1630
1603
  * }
1631
1604
  * });
@@ -1635,14 +1608,14 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1635
1608
  *
1636
1609
  * ::: only-for react
1637
1610
  * ```jsx
1638
- * // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
1611
+ * // To disregard a single row, remove it from array using data.splice(i, 1).
1639
1612
  * ...
1640
1613
  * <HotTable
1641
- * beforeCopy={(clipboardData) => {
1642
- * // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
1643
- * clipboardData.removeRows([0]);
1644
- * clipboardData.removeColumns([0]);
1645
- * // clipboardData.getData() -> [[5, 6]]
1614
+ * beforeCopy={(data, coords) => {
1615
+ * // data -> [[1, 2, 3], [4, 5, 6]]
1616
+ * data.splice(0, 1);
1617
+ * // data -> [[4, 5, 6]]
1618
+ * // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
1646
1619
  * }}
1647
1620
  * />
1648
1621
  * ...
@@ -1650,7 +1623,7 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1650
1623
  * // To cancel copying, return false from the callback.
1651
1624
  * ...
1652
1625
  * <HotTable
1653
- * beforeCopy={(clipboardData) => {
1626
+ * beforeCopy={(data, coords) => {
1654
1627
  * return false;
1655
1628
  * }}
1656
1629
  * />
@@ -1663,57 +1636,37 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1663
1636
  * Fired by {@link CopyPaste} plugin after data are pasted into table. This hook is fired when {@link Options#copyPaste}
1664
1637
  * option is enabled.
1665
1638
  *
1666
- * Note: Please keep in mind since @15.0.0 the method arguments has been changed.
1667
- *
1668
1639
  * @event Hooks#afterCopy
1669
- * @param {object} clipboardData Information about already performed copy action.
1670
- * @param {Function} clipboardData.removeRow Remove row from the copied dataset.
1671
- * @param {Function} clipboardData.removeColumn Remove column from the copied dataset.
1672
- * @param {Function} clipboardData.insertAtRow Insert values at row index.
1673
- * @param {Function} clipboardData.insertAtColumn Insert values at column index.
1674
- * @param {Function} clipboardData.setCellAt Change headers or cells in the copied dataset.
1675
- * @param {Function} clipboardData.getCellAt Get headers or cells from the copied dataset.
1676
- * @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
1677
- * @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
1678
- * @param {Function} clipboardData.setMetaInfo Sets meta information for the copied data.
1679
- * @param {Function} clipboardData.getRanges Returns ranges related to copied part of Handsontable.
1640
+ * @param {Array[]} data An array of arrays which contains the copied data.
1641
+ * @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
1642
+ * which was copied.
1643
+ * @param {{ columnHeadersCount: number }} copiedHeadersCount (Since 12.3.0) The number of copied column headers.
1680
1644
  */
1681
1645
  'afterCopy',
1682
1646
  /**
1683
1647
  * Fired by {@link CopyPaste} plugin before values are pasted into table. This hook is fired when
1684
1648
  * {@link Options#copyPaste} option is enabled.
1685
1649
  *
1686
- * Note: Please keep in mind since @15.0.0 the method arguments has been changed.
1687
- *
1688
1650
  * @event Hooks#beforePaste
1689
- * @param {object} clipboardData Information about paste action which is going to happen.
1690
- * @param {Function} clipboardData.removeRow Remove row from the pasted dataset.
1691
- * @param {Function} clipboardData.removeColumn Remove column from the pasted dataset.
1692
- * @param {Function} clipboardData.insertAtRow Insert values at row index.
1693
- * @param {Function} clipboardData.insertAtColumn Insert values at column index.
1694
- * @param {Function} clipboardData.setCellAt Change headers or cells in the pasted dataset.
1695
- * @param {Function} clipboardData.getCellAt Get headers or cells from the pasted dataset.
1696
- * @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
1697
- * @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
1698
- * @param {Function} clipboardData.setMetaInfo Sets meta information for the copied data.
1699
- * @param {Function} clipboardData.getSource Gets information about source of the copied data
1700
- * (Handsontable, table or string).
1651
+ * @param {Array[]} data An array of arrays which contains data to paste.
1652
+ * @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
1653
+ * that correspond to the previously selected area.
1701
1654
  * @returns {*} If returns `false` then pasting is canceled.
1702
1655
  * @example
1703
1656
  * ```js
1704
1657
  * ::: only-for javascript
1705
- * // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
1658
+ * // To disregard a single row, remove it from array using data.splice(i, 1).
1706
1659
  * new Handsontable(example, {
1707
- * beforePaste: (clipboardData) => {
1708
- * // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
1709
- * clipboardData.removeRows([0]);
1710
- * clipboardData.removeColumns([0]);
1711
- * // clipboardData.getData() -> [[5, 6]]
1660
+ * beforePaste: (data, coords) => {
1661
+ * // data -> [[1, 2, 3], [4, 5, 6]]
1662
+ * data.splice(0, 1);
1663
+ * // data -> [[4, 5, 6]]
1664
+ * // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
1712
1665
  * }
1713
1666
  * });
1714
1667
  * // To cancel pasting, return false from the callback.
1715
1668
  * new Handsontable(example, {
1716
- * beforePaste: (clipboardData) => {
1669
+ * beforePaste: (data, coords) => {
1717
1670
  * return false;
1718
1671
  * }
1719
1672
  * });
@@ -1722,18 +1675,18 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1722
1675
  *
1723
1676
  * ::: only-for react
1724
1677
  * ```jsx
1725
- * // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
1678
+ * // To disregard a single row, remove it from array using data.splice(i, 1).
1726
1679
  * <HotTable
1727
- * beforePaste={(clipboardData) => {
1728
- * // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
1729
- * clipboardData.removeRows([0]);
1730
- * clipboardData.removeColumns([0]);
1731
- * // clipboardData.getData() -> [[5, 6]]
1680
+ * beforePaste={(data, coords) => {
1681
+ * // data -> [[1, 2, 3], [4, 5, 6]]
1682
+ * data.splice(0, 1);
1683
+ * // data -> [[4, 5, 6]]
1684
+ * // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
1732
1685
  * }}
1733
1686
  * />
1734
1687
  * // To cancel pasting, return false from the callback.
1735
1688
  * <HotTable
1736
- * beforePaste={(clipboardData) => {
1689
+ * beforePaste={(data, coords) => {
1737
1690
  * return false;
1738
1691
  * }}
1739
1692
  * />
@@ -1745,21 +1698,10 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1745
1698
  * Fired by {@link CopyPaste} plugin after values are pasted into table. This hook is fired when
1746
1699
  * {@link Options#copyPaste} option is enabled.
1747
1700
  *
1748
- * Note: Please keep in mind since @15.0.0 the method arguments has been changed.
1749
- *
1750
1701
  * @event Hooks#afterPaste
1751
- * @param {object} clipboardData Information about already performed paste action.
1752
- * @param {Function} clipboardData.removeRow Remove row from the pasted dataset.
1753
- * @param {Function} clipboardData.removeColumn Remove column from the pasted dataset.
1754
- * @param {Function} clipboardData.insertAtRow Insert values at row index.
1755
- * @param {Function} clipboardData.insertAtColumn Insert values at column index.
1756
- * @param {Function} clipboardData.setCellAt Change headers or cells in the pasted dataset.
1757
- * @param {Function} clipboardData.getCellAt Get headers or cells from the pasted dataset.
1758
- * @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
1759
- * @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
1760
- * @param {Function} clipboardData.setMetaInfo Sets meta information for the copied data.
1761
- * @param {Function} clipboardData.getSource Gets information about source of the copied data
1762
- * (Handsontable, table or string).
1702
+ * @param {Array[]} data An array of arrays with the pasted data.
1703
+ * @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
1704
+ * that correspond to the previously selected area.
1763
1705
  */
1764
1706
  'afterPaste',
1765
1707
  /**