handsontable 0.0.0-next-a1e4b4f-20230628 → 0.0.0-next-e697250-20230707

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 (456) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +50 -28
  3. package/3rdparty/walkontable/src/cell/coords.mjs +50 -28
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +69 -36
  6. package/3rdparty/walkontable/src/cell/range.mjs +68 -35
  7. package/3rdparty/walkontable/src/event.js +3 -5
  8. package/3rdparty/walkontable/src/event.mjs +3 -5
  9. package/3rdparty/walkontable/src/overlay/_base.js +6 -7
  10. package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
  11. package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
  12. package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
  13. package/3rdparty/walkontable/src/overlay/top.js +6 -7
  14. package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
  15. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
  16. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
  17. package/3rdparty/walkontable/src/overlays.js +55 -64
  18. package/3rdparty/walkontable/src/overlays.mjs +55 -64
  19. package/3rdparty/walkontable/src/renderer/table.js +0 -2
  20. package/3rdparty/walkontable/src/renderer/table.mjs +0 -2
  21. package/3rdparty/walkontable/src/scroll.js +20 -23
  22. package/3rdparty/walkontable/src/scroll.mjs +20 -23
  23. package/3rdparty/walkontable/src/selection/border/border.js +1 -0
  24. package/3rdparty/walkontable/src/selection/border/border.mjs +1 -0
  25. package/3rdparty/walkontable/src/selection/manager.js +40 -45
  26. package/3rdparty/walkontable/src/selection/manager.mjs +33 -38
  27. package/3rdparty/walkontable/src/selection/scanner.js +5 -4
  28. package/3rdparty/walkontable/src/selection/scanner.mjs +1 -0
  29. package/3rdparty/walkontable/src/settings.js +13 -15
  30. package/3rdparty/walkontable/src/settings.mjs +13 -15
  31. package/3rdparty/walkontable/src/table.js +23 -26
  32. package/3rdparty/walkontable/src/table.mjs +23 -26
  33. package/CHANGELOG.md +56 -0
  34. package/base.js +2 -4
  35. package/base.mjs +2 -2
  36. package/common.d.ts +1 -1
  37. package/core.d.ts +7 -9
  38. package/core.js +241 -439
  39. package/core.mjs +245 -443
  40. package/dataMap/dataMap.js +1 -0
  41. package/dataMap/dataMap.mjs +1 -0
  42. package/dataMap/dataSource.js +5 -5
  43. package/dataMap/dataSource.mjs +5 -5
  44. package/dataMap/metaManager/lazyFactoryMap.js +1 -0
  45. package/dataMap/metaManager/lazyFactoryMap.mjs +1 -0
  46. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -0
  47. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
  48. package/dataMap/metaManager/metaSchema.js +33 -24
  49. package/dataMap/metaManager/metaSchema.mjs +33 -24
  50. package/dist/handsontable.css +25 -3
  51. package/dist/handsontable.full.css +25 -3
  52. package/dist/handsontable.full.js +14539 -11358
  53. package/dist/handsontable.full.min.css +5 -5
  54. package/dist/handsontable.full.min.js +137 -125
  55. package/dist/handsontable.js +31414 -28455
  56. package/dist/handsontable.min.css +5 -5
  57. package/dist/handsontable.min.js +11 -3
  58. package/dist/languages/all.js +133 -0
  59. package/dist/languages/ar-AR.js +7 -0
  60. package/dist/languages/cs-CZ.js +7 -0
  61. package/dist/languages/de-CH.js +7 -0
  62. package/dist/languages/de-DE.js +7 -0
  63. package/dist/languages/en-US.js +7 -0
  64. package/dist/languages/es-MX.js +7 -0
  65. package/dist/languages/fr-FR.js +7 -0
  66. package/dist/languages/it-IT.js +7 -0
  67. package/dist/languages/ja-JP.js +7 -0
  68. package/dist/languages/ko-KR.js +7 -0
  69. package/dist/languages/lv-LV.js +7 -0
  70. package/dist/languages/nb-NO.js +7 -0
  71. package/dist/languages/nl-NL.js +7 -0
  72. package/dist/languages/pl-PL.js +7 -0
  73. package/dist/languages/pt-BR.js +7 -0
  74. package/dist/languages/ru-RU.js +7 -0
  75. package/dist/languages/sr-SP.js +7 -0
  76. package/dist/languages/zh-CN.js +7 -0
  77. package/dist/languages/zh-TW.js +7 -0
  78. package/editorManager.js +19 -89
  79. package/editorManager.mjs +24 -93
  80. package/editors/baseEditor/baseEditor.js +1 -0
  81. package/editors/baseEditor/baseEditor.mjs +1 -0
  82. package/editors/textEditor/textEditor.js +14 -20
  83. package/editors/textEditor/textEditor.mjs +16 -22
  84. package/helpers/dom/element.js +0 -11
  85. package/helpers/dom/element.mjs +0 -10
  86. package/helpers/mixed.js +2 -2
  87. package/helpers/mixed.mjs +2 -2
  88. package/helpers/number.d.ts +1 -0
  89. package/helpers/number.js +18 -0
  90. package/helpers/number.mjs +17 -0
  91. package/helpers/object.js +2 -0
  92. package/helpers/object.mjs +2 -0
  93. package/i18n/languages/ar-AR.js +7 -1
  94. package/i18n/languages/cs-CZ.js +7 -1
  95. package/i18n/languages/de-CH.js +7 -1
  96. package/i18n/languages/de-DE.js +7 -1
  97. package/i18n/languages/en-US.js +7 -1
  98. package/i18n/languages/es-MX.js +7 -1
  99. package/i18n/languages/fr-FR.js +7 -1
  100. package/i18n/languages/it-IT.js +7 -1
  101. package/i18n/languages/ja-JP.js +7 -1
  102. package/i18n/languages/ko-KR.js +7 -1
  103. package/i18n/languages/lv-LV.js +7 -1
  104. package/i18n/languages/nb-NO.js +7 -1
  105. package/i18n/languages/nl-NL.js +7 -1
  106. package/i18n/languages/pl-PL.js +7 -1
  107. package/i18n/languages/pt-BR.js +7 -1
  108. package/i18n/languages/ru-RU.js +7 -1
  109. package/i18n/languages/sr-SP.js +7 -1
  110. package/i18n/languages/zh-CN.js +7 -1
  111. package/i18n/languages/zh-TW.js +7 -1
  112. package/languages/all.js +133 -0
  113. package/languages/ar-AR.js +7 -0
  114. package/languages/cs-CZ.js +7 -0
  115. package/languages/de-CH.js +7 -0
  116. package/languages/de-DE.js +7 -0
  117. package/languages/en-US.js +7 -0
  118. package/languages/es-MX.js +7 -0
  119. package/languages/fr-FR.js +7 -0
  120. package/languages/index.js +133 -0
  121. package/languages/it-IT.js +7 -0
  122. package/languages/ja-JP.js +7 -0
  123. package/languages/ko-KR.js +7 -0
  124. package/languages/lv-LV.js +7 -0
  125. package/languages/nb-NO.js +7 -0
  126. package/languages/nl-NL.js +7 -0
  127. package/languages/pl-PL.js +7 -0
  128. package/languages/pt-BR.js +7 -0
  129. package/languages/ru-RU.js +7 -0
  130. package/languages/sr-SP.js +7 -0
  131. package/languages/zh-CN.js +7 -0
  132. package/languages/zh-TW.js +7 -0
  133. package/package.json +3 -2
  134. package/pluginHooks.d.ts +8 -2
  135. package/pluginHooks.js +116 -18
  136. package/pluginHooks.mjs +115 -15
  137. package/plugins/autoColumnSize/autoColumnSize.js +1 -0
  138. package/plugins/autoColumnSize/autoColumnSize.mjs +1 -0
  139. package/plugins/autoRowSize/autoRowSize.js +3 -2
  140. package/plugins/autoRowSize/autoRowSize.mjs +3 -2
  141. package/plugins/autofill/autofill.js +2 -2
  142. package/plugins/autofill/autofill.mjs +3 -3
  143. package/plugins/autofill/utils.js +1 -39
  144. package/plugins/autofill/utils.mjs +0 -37
  145. package/plugins/base/base.js +1 -0
  146. package/plugins/base/base.mjs +1 -0
  147. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -0
  148. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +1 -0
  149. package/plugins/collapsibleColumns/collapsibleColumns.js +82 -24
  150. package/plugins/collapsibleColumns/collapsibleColumns.mjs +82 -24
  151. package/plugins/columnSorting/columnSorting.js +51 -8
  152. package/plugins/columnSorting/columnSorting.mjs +50 -9
  153. package/plugins/columnSorting/columnStatesManager.js +1 -0
  154. package/plugins/columnSorting/columnStatesManager.mjs +1 -0
  155. package/plugins/columnSorting/index.js +4 -2
  156. package/plugins/columnSorting/index.mjs +1 -1
  157. package/plugins/columnSorting/rootComparator.js +1 -0
  158. package/plugins/columnSorting/rootComparator.mjs +1 -0
  159. package/plugins/comments/commentEditor.js +1 -0
  160. package/plugins/comments/commentEditor.mjs +1 -0
  161. package/plugins/comments/comments.js +289 -224
  162. package/plugins/comments/comments.mjs +297 -234
  163. package/plugins/comments/contextMenuItem/addEditComment.js +51 -0
  164. package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
  165. package/plugins/comments/contextMenuItem/readOnlyComment.js +63 -0
  166. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +55 -0
  167. package/plugins/comments/contextMenuItem/removeComment.js +48 -0
  168. package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
  169. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  170. package/plugins/contextMenu/contextMenu.js +81 -29
  171. package/plugins/contextMenu/contextMenu.mjs +82 -30
  172. package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
  173. package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
  174. package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
  175. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
  176. package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
  177. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
  178. package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
  179. package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
  180. package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
  181. package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
  182. package/plugins/contextMenu/predefinedItems/removeColumn.js +8 -5
  183. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +6 -3
  184. package/plugins/contextMenu/predefinedItems/removeRow.js +8 -5
  185. package/plugins/contextMenu/predefinedItems/removeRow.mjs +6 -3
  186. package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
  187. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
  188. package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
  189. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
  190. package/plugins/contextMenu/utils.js +25 -16
  191. package/plugins/contextMenu/utils.mjs +24 -15
  192. package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
  193. package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
  194. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
  195. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
  196. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
  197. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
  198. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
  199. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
  200. package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
  201. package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
  202. package/plugins/copyPaste/copyPaste.js +100 -14
  203. package/plugins/copyPaste/copyPaste.mjs +100 -14
  204. package/plugins/copyPaste/copyableRanges.js +25 -31
  205. package/plugins/copyPaste/copyableRanges.mjs +18 -24
  206. package/plugins/copyPaste/focusableElement.js +219 -0
  207. package/plugins/copyPaste/focusableElement.mjs +213 -0
  208. package/plugins/customBorders/customBorders.d.ts +2 -0
  209. package/plugins/customBorders/customBorders.js +19 -50
  210. package/plugins/customBorders/customBorders.mjs +19 -50
  211. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  212. package/plugins/dropdownMenu/dropdownMenu.js +94 -30
  213. package/plugins/dropdownMenu/dropdownMenu.mjs +94 -30
  214. package/plugins/exportFile/dataProvider.js +1 -0
  215. package/plugins/exportFile/dataProvider.mjs +1 -0
  216. package/plugins/filters/component/value.js +1 -0
  217. package/plugins/filters/component/value.mjs +1 -0
  218. package/plugins/filters/condition/beginsWith.js +1 -0
  219. package/plugins/filters/condition/beginsWith.mjs +1 -0
  220. package/plugins/filters/condition/between.js +1 -0
  221. package/plugins/filters/condition/between.mjs +1 -0
  222. package/plugins/filters/condition/byValue.js +1 -0
  223. package/plugins/filters/condition/byValue.mjs +1 -0
  224. package/plugins/filters/condition/contains.js +1 -0
  225. package/plugins/filters/condition/contains.mjs +1 -0
  226. package/plugins/filters/condition/date/after.js +1 -0
  227. package/plugins/filters/condition/date/after.mjs +1 -0
  228. package/plugins/filters/condition/date/before.js +1 -0
  229. package/plugins/filters/condition/date/before.mjs +1 -0
  230. package/plugins/filters/condition/endsWith.js +1 -0
  231. package/plugins/filters/condition/endsWith.mjs +1 -0
  232. package/plugins/filters/condition/equal.js +1 -0
  233. package/plugins/filters/condition/equal.mjs +1 -0
  234. package/plugins/filters/condition/greaterThan.js +1 -0
  235. package/plugins/filters/condition/greaterThan.mjs +1 -0
  236. package/plugins/filters/condition/greaterThanOrEqual.js +1 -0
  237. package/plugins/filters/condition/greaterThanOrEqual.mjs +1 -0
  238. package/plugins/filters/condition/lessThan.js +1 -0
  239. package/plugins/filters/condition/lessThan.mjs +1 -0
  240. package/plugins/filters/condition/lessThanOrEqual.js +1 -0
  241. package/plugins/filters/condition/lessThanOrEqual.mjs +1 -0
  242. package/plugins/filters/conditionCollection.js +1 -0
  243. package/plugins/filters/conditionCollection.mjs +1 -0
  244. package/plugins/filters/filters.js +68 -42
  245. package/plugins/filters/filters.mjs +67 -41
  246. package/plugins/filters/ui/multipleSelect.js +1 -0
  247. package/plugins/filters/ui/multipleSelect.mjs +1 -0
  248. package/plugins/formulas/formulas.js +191 -168
  249. package/plugins/formulas/formulas.mjs +191 -168
  250. package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
  251. package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
  252. package/plugins/formulas/indexSyncer/index.js +225 -0
  253. package/plugins/formulas/indexSyncer/index.mjs +219 -0
  254. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -0
  255. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +1 -0
  256. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -0
  257. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +1 -0
  258. package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -0
  259. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +1 -0
  260. package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -0
  261. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +1 -0
  262. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -0
  263. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -0
  264. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -0
  265. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -0
  266. package/plugins/manualColumnResize/manualColumnResize.js +36 -5
  267. package/plugins/manualColumnResize/manualColumnResize.mjs +36 -5
  268. package/plugins/manualRowMove/manualRowMove.js +31 -12
  269. package/plugins/manualRowMove/manualRowMove.mjs +32 -13
  270. package/plugins/manualRowResize/manualRowResize.js +40 -9
  271. package/plugins/manualRowResize/manualRowResize.mjs +40 -9
  272. package/plugins/mergeCells/calculations/autofill.js +1 -0
  273. package/plugins/mergeCells/calculations/autofill.mjs +1 -0
  274. package/plugins/mergeCells/cellsCollection.js +1 -0
  275. package/plugins/mergeCells/cellsCollection.mjs +1 -0
  276. package/plugins/mergeCells/mergeCells.js +6 -2
  277. package/plugins/mergeCells/mergeCells.mjs +6 -2
  278. package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
  279. package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
  280. package/plugins/multiColumnSorting/rootComparator.js +1 -0
  281. package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
  282. package/plugins/nestedHeaders/nestedHeaders.js +129 -6
  283. package/plugins/nestedHeaders/nestedHeaders.mjs +129 -6
  284. package/plugins/nestedHeaders/stateManager/headersTree.js +24 -26
  285. package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -23
  286. package/plugins/nestedHeaders/stateManager/index.js +40 -3
  287. package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
  288. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
  289. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -1
  290. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
  291. package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
  292. package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
  293. package/plugins/nestedRows/data/dataManager.js +1 -0
  294. package/plugins/nestedRows/data/dataManager.mjs +1 -0
  295. package/plugins/nestedRows/nestedRows.js +53 -7
  296. package/plugins/nestedRows/nestedRows.mjs +53 -7
  297. package/plugins/nestedRows/ui/collapsing.js +1 -0
  298. package/plugins/nestedRows/ui/collapsing.mjs +1 -0
  299. package/plugins/nestedRows/utils/rowMoveController.js +1 -0
  300. package/plugins/nestedRows/utils/rowMoveController.mjs +1 -0
  301. package/plugins/persistentState/storage.js +1 -0
  302. package/plugins/persistentState/storage.mjs +1 -0
  303. package/plugins/registry.js +4 -1
  304. package/plugins/registry.mjs +1 -0
  305. package/plugins/undoRedo/undoRedo.js +1 -1
  306. package/plugins/undoRedo/undoRedo.mjs +1 -1
  307. package/renderers/baseRenderer/baseRenderer.js +0 -3
  308. package/renderers/baseRenderer/baseRenderer.mjs +0 -3
  309. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  310. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  311. package/selection/highlight/highlight.js +120 -98
  312. package/selection/highlight/highlight.mjs +118 -96
  313. package/selection/highlight/visualSelection.js +30 -17
  314. package/selection/highlight/visualSelection.mjs +30 -17
  315. package/selection/mouseEventHandler.js +1 -1
  316. package/selection/mouseEventHandler.mjs +1 -1
  317. package/selection/range.js +8 -8
  318. package/selection/range.mjs +8 -8
  319. package/selection/selection.js +246 -153
  320. package/selection/selection.mjs +247 -154
  321. package/selection/transformation.js +233 -96
  322. package/selection/transformation.mjs +230 -93
  323. package/selection/utils.js +12 -35
  324. package/selection/utils.mjs +13 -35
  325. package/settings.d.ts +2 -1
  326. package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
  327. package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
  328. package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
  329. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  330. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  331. package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
  332. package/shortcutContexts/commands/editor/index.js +16 -0
  333. package/shortcutContexts/commands/editor/index.mjs +12 -0
  334. package/shortcutContexts/commands/editor/open.js +29 -0
  335. package/shortcutContexts/commands/editor/open.mjs +24 -0
  336. package/shortcutContexts/commands/emptySelectedCells.js +12 -0
  337. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  338. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  339. package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
  340. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  341. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
  342. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  343. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  344. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  345. package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
  346. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  347. package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
  348. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  349. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
  350. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
  351. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
  352. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
  353. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
  354. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
  355. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
  356. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
  357. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
  358. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
  359. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
  360. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
  361. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
  362. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  363. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
  364. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  365. package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
  366. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  367. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
  368. package/shortcutContexts/commands/index.js +53 -0
  369. package/shortcutContexts/commands/index.mjs +49 -0
  370. package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
  371. package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
  372. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
  373. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
  374. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  375. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  376. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
  377. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  378. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
  379. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  380. package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
  381. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  382. package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
  383. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  384. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
  385. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
  386. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
  387. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
  388. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
  389. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
  390. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
  391. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
  392. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
  393. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
  394. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
  395. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
  396. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
  397. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
  398. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
  399. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
  400. package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
  401. package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
  402. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
  403. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
  404. package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
  405. package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
  406. package/shortcutContexts/commands/scrollToFocusedCell.js +38 -0
  407. package/shortcutContexts/commands/scrollToFocusedCell.mjs +33 -0
  408. package/shortcutContexts/commands/selectAll.js +11 -0
  409. package/shortcutContexts/commands/selectAll.mjs +6 -0
  410. package/shortcutContexts/constants.js +19 -0
  411. package/shortcutContexts/constants.mjs +12 -0
  412. package/shortcutContexts/editor.js +29 -0
  413. package/shortcutContexts/editor.mjs +25 -0
  414. package/shortcutContexts/grid.js +252 -0
  415. package/shortcutContexts/grid.mjs +248 -0
  416. package/shortcutContexts/index.js +29 -0
  417. package/shortcutContexts/index.mjs +15 -0
  418. package/shortcuts/context.js +1 -0
  419. package/shortcuts/context.mjs +1 -0
  420. package/shortcuts/manager.js +2 -0
  421. package/shortcuts/manager.mjs +2 -0
  422. package/shortcuts/recorder.js +2 -2
  423. package/shortcuts/recorder.mjs +2 -2
  424. package/shortcuts/utils.js +21 -5
  425. package/shortcuts/utils.mjs +20 -4
  426. package/tableView.js +112 -82
  427. package/tableView.mjs +112 -82
  428. package/translations/changesObservable/observable.js +41 -46
  429. package/translations/changesObservable/observable.mjs +36 -41
  430. package/translations/changesObservable/observer.js +1 -1
  431. package/translations/indexMapper.d.ts +0 -2
  432. package/translations/indexMapper.js +38 -64
  433. package/translations/indexMapper.mjs +39 -64
  434. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
  435. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
  436. package/translations/maps/utils/indexesSequence.js +1 -0
  437. package/translations/maps/utils/indexesSequence.mjs +1 -0
  438. package/translations/maps/utils/physicallyIndexed.js +1 -0
  439. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  440. package/utils/dataStructures/priorityMap.js +1 -0
  441. package/utils/dataStructures/priorityMap.mjs +1 -0
  442. package/utils/dataStructures/tree.js +16 -18
  443. package/utils/dataStructures/tree.mjs +16 -18
  444. package/utils/dataStructures/uniqueMap.js +1 -0
  445. package/utils/dataStructures/uniqueMap.mjs +1 -0
  446. package/utils/dataStructures/uniqueSet.js +1 -0
  447. package/utils/dataStructures/uniqueSet.mjs +1 -0
  448. package/utils/ghostTable.js +1 -0
  449. package/utils/ghostTable.mjs +1 -0
  450. package/utils/parseTable.js +5 -1
  451. package/utils/parseTable.mjs +5 -1
  452. package/utils/staticRegister.js +1 -0
  453. package/utils/staticRegister.mjs +1 -0
  454. package/focusManager.d.ts +0 -12
  455. package/focusManager.js +0 -275
  456. package/focusManager.mjs +0 -270
@@ -0,0 +1,219 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ import "core-js/modules/es.array.iterator.js";
3
+ import "core-js/modules/es.object.to-string.js";
4
+ import "core-js/modules/es.string.iterator.js";
5
+ import "core-js/modules/es.weak-map.js";
6
+ import "core-js/modules/web.dom-collections.iterator.js";
7
+ import "core-js/modules/es.symbol.to-primitive.js";
8
+ import "core-js/modules/es.date.to-primitive.js";
9
+ import "core-js/modules/es.symbol.js";
10
+ import "core-js/modules/es.symbol.description.js";
11
+ import "core-js/modules/es.number.constructor.js";
12
+ import "core-js/modules/es.symbol.iterator.js";
13
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14
+ 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); } }
15
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
17
+ 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); }
18
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
19
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
20
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
21
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
22
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
23
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
24
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
25
+ import AxisSyncer from "./axisSyncer.mjs";
26
+ /**
27
+ * @private
28
+ * @class IndexSyncer
29
+ * @description
30
+ *
31
+ * Indexes synchronizer responsible for providing logic for syncing actions done on indexes for HOT to actions performed
32
+ * on HF's.
33
+ *
34
+ */
35
+ var _rowIndexSyncer = /*#__PURE__*/new WeakMap();
36
+ var _columnIndexSyncer = /*#__PURE__*/new WeakMap();
37
+ var _postponeAction = /*#__PURE__*/new WeakMap();
38
+ var _isPerformingUndo = /*#__PURE__*/new WeakMap();
39
+ var _isPerformingRedo = /*#__PURE__*/new WeakMap();
40
+ var _engine = /*#__PURE__*/new WeakMap();
41
+ var _sheetId = /*#__PURE__*/new WeakMap();
42
+ var IndexSyncer = /*#__PURE__*/function () {
43
+ function IndexSyncer(rowIndexMapper, columnIndexMapper, postponeAction) {
44
+ _classCallCheck(this, IndexSyncer);
45
+ /**
46
+ * Indexes synchronizer for the axis of the rows.
47
+ *
48
+ * @private
49
+ * @type {AxisSyncer}
50
+ */
51
+ _classPrivateFieldInitSpec(this, _rowIndexSyncer, {
52
+ writable: true,
53
+ value: void 0
54
+ });
55
+ /**
56
+ * Indexes synchronizer for the axis of the columns.
57
+ *
58
+ * @private
59
+ * @type {AxisSyncer}
60
+ */
61
+ _classPrivateFieldInitSpec(this, _columnIndexSyncer, {
62
+ writable: true,
63
+ value: void 0
64
+ });
65
+ /**
66
+ * Method which will postpone execution of some action (needed when synchronization endpoint isn't setup yet).
67
+ *
68
+ * @private
69
+ * @type {Function}
70
+ */
71
+ _classPrivateFieldInitSpec(this, _postponeAction, {
72
+ writable: true,
73
+ value: void 0
74
+ });
75
+ /**
76
+ * Flag informing whether undo is already performed (we don't perform synchronization in such case).
77
+ *
78
+ * @private
79
+ * @type {boolean}
80
+ */
81
+ _classPrivateFieldInitSpec(this, _isPerformingUndo, {
82
+ writable: true,
83
+ value: false
84
+ });
85
+ /**
86
+ * Flag informing whether redo is already performed (we don't perform synchronization in such case).
87
+ *
88
+ * @private
89
+ * @type {boolean}
90
+ */
91
+ _classPrivateFieldInitSpec(this, _isPerformingRedo, {
92
+ writable: true,
93
+ value: false
94
+ });
95
+ /**
96
+ * The HF's engine instance which will be synced.
97
+ *
98
+ * @private
99
+ * @type {HyperFormula|null}
100
+ */
101
+ _classPrivateFieldInitSpec(this, _engine, {
102
+ writable: true,
103
+ value: null
104
+ });
105
+ /**
106
+ * HyperFormula's sheet name.
107
+ *
108
+ * @private
109
+ * @type {string|null}
110
+ */
111
+ _classPrivateFieldInitSpec(this, _sheetId, {
112
+ writable: true,
113
+ value: null
114
+ });
115
+ _classPrivateFieldSet(this, _rowIndexSyncer, new AxisSyncer('row', rowIndexMapper, this));
116
+ _classPrivateFieldSet(this, _columnIndexSyncer, new AxisSyncer('column', columnIndexMapper, this));
117
+ _classPrivateFieldSet(this, _postponeAction, postponeAction);
118
+ }
119
+
120
+ /**
121
+ * Gets index synchronizer for a particular axis.
122
+ *
123
+ * @param {'row'|'column'} indexType Type of indexes.
124
+ * @returns {AxisSyncer}
125
+ */
126
+ _createClass(IndexSyncer, [{
127
+ key: "getForAxis",
128
+ value: function getForAxis(indexType) {
129
+ if (indexType === 'row') {
130
+ return _classPrivateFieldGet(this, _rowIndexSyncer);
131
+ }
132
+ return _classPrivateFieldGet(this, _columnIndexSyncer);
133
+ }
134
+
135
+ /**
136
+ * Sets flag informing whether an undo action is already performed (we don't execute synchronization in such case).
137
+ *
138
+ * @param {boolean} flagValue Boolean value for the flag.
139
+ */
140
+ }, {
141
+ key: "setPerformUndo",
142
+ value: function setPerformUndo(flagValue) {
143
+ _classPrivateFieldSet(this, _isPerformingUndo, flagValue);
144
+ }
145
+
146
+ /**
147
+ * Sets flag informing whether a redo action is already performed (we don't execute synchronization in such case).
148
+ *
149
+ * @param {boolean} flagValue Boolean value for the flag.
150
+ */
151
+ }, {
152
+ key: "setPerformRedo",
153
+ value: function setPerformRedo(flagValue) {
154
+ _classPrivateFieldSet(this, _isPerformingRedo, flagValue);
155
+ }
156
+
157
+ /**
158
+ * Gets information whether redo or undo action is already performed (we don't execute synchronization in such case).
159
+ *
160
+ * @private
161
+ * @returns {boolean}
162
+ */
163
+ }, {
164
+ key: "isPerformingUndoRedo",
165
+ value: function isPerformingUndoRedo() {
166
+ return _classPrivateFieldGet(this, _isPerformingUndo) || _classPrivateFieldGet(this, _isPerformingRedo);
167
+ }
168
+
169
+ /**
170
+ * Gets HyperFormula's sheet id.
171
+ *
172
+ * @returns {string|null}
173
+ */
174
+ }, {
175
+ key: "getSheetId",
176
+ value: function getSheetId() {
177
+ return _classPrivateFieldGet(this, _sheetId);
178
+ }
179
+
180
+ /**
181
+ * Gets engine instance that will be used for handled instance of Handsontable.
182
+ *
183
+ * @type {HyperFormula|null}
184
+ */
185
+ }, {
186
+ key: "getEngine",
187
+ value: function getEngine() {
188
+ return _classPrivateFieldGet(this, _engine);
189
+ }
190
+
191
+ /**
192
+ * Gets method which will postpone execution of some action (needed when synchronization endpoint isn't setup yet).
193
+ *
194
+ * @returns {Function}
195
+ */
196
+ }, {
197
+ key: "getPostponeAction",
198
+ value: function getPostponeAction() {
199
+ return _classPrivateFieldGet(this, _postponeAction);
200
+ }
201
+
202
+ /**
203
+ * Setups a synchronization endpoint.
204
+ *
205
+ * @param {HyperFormula|null} engine The HF's engine instance which will be synced.
206
+ * @param {string|null} sheetId HyperFormula's sheet name.
207
+ */
208
+ }, {
209
+ key: "setupSyncEndpoint",
210
+ value: function setupSyncEndpoint(engine, sheetId) {
211
+ _classPrivateFieldSet(this, _engine, engine);
212
+ _classPrivateFieldSet(this, _sheetId, sheetId);
213
+ _classPrivateFieldGet(this, _rowIndexSyncer).init();
214
+ _classPrivateFieldGet(this, _columnIndexSyncer).init();
215
+ }
216
+ }]);
217
+ return IndexSyncer;
218
+ }();
219
+ export default IndexSyncer;
@@ -9,6 +9,7 @@ require("core-js/modules/es.array.iterator.js");
9
9
  require("core-js/modules/es.string.iterator.js");
10
10
  require("core-js/modules/web.dom-collections.iterator.js");
11
11
  require("core-js/modules/es.array.slice.js");
12
+ require("core-js/modules/es.regexp.to-string.js");
12
13
  require("core-js/modules/es.function.name.js");
13
14
  require("core-js/modules/es.array.from.js");
14
15
  require("core-js/modules/es.regexp.exec.js");
@@ -8,6 +8,7 @@ import "core-js/modules/es.array.iterator.js";
8
8
  import "core-js/modules/es.string.iterator.js";
9
9
  import "core-js/modules/web.dom-collections.iterator.js";
10
10
  import "core-js/modules/es.array.slice.js";
11
+ import "core-js/modules/es.regexp.to-string.js";
11
12
  import "core-js/modules/es.function.name.js";
12
13
  import "core-js/modules/es.array.from.js";
13
14
  import "core-js/modules/es.regexp.exec.js";
@@ -8,6 +8,7 @@ require("core-js/modules/es.array.iterator.js");
8
8
  require("core-js/modules/es.string.iterator.js");
9
9
  require("core-js/modules/web.dom-collections.iterator.js");
10
10
  require("core-js/modules/es.array.from.js");
11
+ require("core-js/modules/es.regexp.to-string.js");
11
12
  require("core-js/modules/es.function.name.js");
12
13
  require("core-js/modules/es.regexp.exec.js");
13
14
  require("core-js/modules/es.weak-map.js");
@@ -16,6 +16,7 @@ import "core-js/modules/es.array.iterator.js";
16
16
  import "core-js/modules/es.string.iterator.js";
17
17
  import "core-js/modules/web.dom-collections.iterator.js";
18
18
  import "core-js/modules/es.array.from.js";
19
+ import "core-js/modules/es.regexp.to-string.js";
19
20
  import "core-js/modules/es.function.name.js";
20
21
  import "core-js/modules/es.regexp.exec.js";
21
22
  import { arrayEach, arrayMap } from "../../../helpers/array.mjs";
@@ -9,6 +9,7 @@ require("core-js/modules/es.array.iterator.js");
9
9
  require("core-js/modules/es.string.iterator.js");
10
10
  require("core-js/modules/web.dom-collections.iterator.js");
11
11
  require("core-js/modules/es.array.slice.js");
12
+ require("core-js/modules/es.regexp.to-string.js");
12
13
  require("core-js/modules/es.function.name.js");
13
14
  require("core-js/modules/es.array.from.js");
14
15
  require("core-js/modules/es.regexp.exec.js");
@@ -8,6 +8,7 @@ import "core-js/modules/es.array.iterator.js";
8
8
  import "core-js/modules/es.string.iterator.js";
9
9
  import "core-js/modules/web.dom-collections.iterator.js";
10
10
  import "core-js/modules/es.array.slice.js";
11
+ import "core-js/modules/es.regexp.to-string.js";
11
12
  import "core-js/modules/es.function.name.js";
12
13
  import "core-js/modules/es.array.from.js";
13
14
  import "core-js/modules/es.regexp.exec.js";
@@ -8,6 +8,7 @@ require("core-js/modules/es.array.iterator.js");
8
8
  require("core-js/modules/es.string.iterator.js");
9
9
  require("core-js/modules/web.dom-collections.iterator.js");
10
10
  require("core-js/modules/es.array.from.js");
11
+ require("core-js/modules/es.regexp.to-string.js");
11
12
  require("core-js/modules/es.function.name.js");
12
13
  require("core-js/modules/es.regexp.exec.js");
13
14
  require("core-js/modules/es.weak-map.js");
@@ -16,6 +16,7 @@ import "core-js/modules/es.array.iterator.js";
16
16
  import "core-js/modules/es.string.iterator.js";
17
17
  import "core-js/modules/web.dom-collections.iterator.js";
18
18
  import "core-js/modules/es.array.from.js";
19
+ import "core-js/modules/es.regexp.to-string.js";
19
20
  import "core-js/modules/es.function.name.js";
20
21
  import "core-js/modules/es.regexp.exec.js";
21
22
  import { arrayEach, arrayMap } from "../../../helpers/array.mjs";
@@ -9,6 +9,7 @@ require("core-js/modules/es.array.iterator.js");
9
9
  require("core-js/modules/es.string.iterator.js");
10
10
  require("core-js/modules/web.dom-collections.iterator.js");
11
11
  require("core-js/modules/es.array.slice.js");
12
+ require("core-js/modules/es.regexp.to-string.js");
12
13
  require("core-js/modules/es.function.name.js");
13
14
  require("core-js/modules/es.array.from.js");
14
15
  require("core-js/modules/es.regexp.exec.js");
@@ -6,6 +6,7 @@ import "core-js/modules/es.array.iterator.js";
6
6
  import "core-js/modules/es.string.iterator.js";
7
7
  import "core-js/modules/web.dom-collections.iterator.js";
8
8
  import "core-js/modules/es.array.slice.js";
9
+ import "core-js/modules/es.regexp.to-string.js";
9
10
  import "core-js/modules/es.function.name.js";
10
11
  import "core-js/modules/es.array.from.js";
11
12
  import "core-js/modules/es.regexp.exec.js";
@@ -9,6 +9,7 @@ require("core-js/modules/es.array.iterator.js");
9
9
  require("core-js/modules/es.string.iterator.js");
10
10
  require("core-js/modules/web.dom-collections.iterator.js");
11
11
  require("core-js/modules/es.array.slice.js");
12
+ require("core-js/modules/es.regexp.to-string.js");
12
13
  require("core-js/modules/es.function.name.js");
13
14
  require("core-js/modules/es.array.from.js");
14
15
  require("core-js/modules/es.regexp.exec.js");
@@ -6,6 +6,7 @@ import "core-js/modules/es.array.iterator.js";
6
6
  import "core-js/modules/es.string.iterator.js";
7
7
  import "core-js/modules/web.dom-collections.iterator.js";
8
8
  import "core-js/modules/es.array.slice.js";
9
+ import "core-js/modules/es.regexp.to-string.js";
9
10
  import "core-js/modules/es.function.name.js";
10
11
  import "core-js/modules/es.array.from.js";
11
12
  import "core-js/modules/es.regexp.exec.js";
@@ -87,6 +87,7 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
87
87
  _this.guide = rootDocument.createElement('DIV');
88
88
  _this.eventManager = new _eventManager.default(_assertThisInitialized(_this));
89
89
  _this.pressed = null;
90
+ _this.isTriggeredByRMB = false;
90
91
  _this.dblclick = 0;
91
92
  _this.autoresizeTimeout = null;
92
93
 
@@ -437,6 +438,11 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
437
438
  if ((0, _element.isDetached)(event.target)) {
438
439
  return;
439
440
  }
441
+
442
+ // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
443
+ if (this.isTriggeredByRMB === true) {
444
+ return;
445
+ }
440
446
  if (this.checkIfColumnHeader(event.target)) {
441
447
  var th = this.getClosestTHParent(event.target);
442
448
  if (!th) {
@@ -593,6 +599,28 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
593
599
  }
594
600
  }
595
601
 
602
+ /**
603
+ * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
604
+ *
605
+ * @private
606
+ */
607
+ }, {
608
+ key: "onContextMenu",
609
+ value: function onContextMenu() {
610
+ var _this9 = this;
611
+ this.hideHandleAndGuide();
612
+ this.hot.rootElement.removeChild(this.handle);
613
+ this.hot.rootElement.removeChild(this.guide);
614
+ this.pressed = false;
615
+ this.isTriggeredByRMB = true;
616
+
617
+ // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
618
+ // shouldn't be drawn just after removing it.
619
+ this.hot._registerImmediate(function () {
620
+ _this9.isTriggeredByRMB = false;
621
+ });
622
+ }
623
+
596
624
  /**
597
625
  * Binds the mouse events.
598
626
  *
@@ -601,21 +629,24 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
601
629
  }, {
602
630
  key: "bindEvents",
603
631
  value: function bindEvents() {
604
- var _this9 = this;
632
+ var _this10 = this;
605
633
  var _this$hot = this.hot,
606
634
  rootWindow = _this$hot.rootWindow,
607
635
  rootElement = _this$hot.rootElement;
608
636
  this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
609
- return _this9.onMouseOver(e);
637
+ return _this10.onMouseOver(e);
610
638
  });
611
639
  this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
612
- return _this9.onMouseDown(e);
640
+ return _this10.onMouseDown(e);
613
641
  });
614
642
  this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
615
- return _this9.onMouseMove(e);
643
+ return _this10.onMouseMove(e);
616
644
  });
617
645
  this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
618
- return _this9.onMouseUp();
646
+ return _this10.onMouseUp();
647
+ });
648
+ this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
649
+ return _this10.onContextMenu();
619
650
  });
620
651
  }
621
652
 
@@ -78,6 +78,7 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
78
78
  _this.guide = rootDocument.createElement('DIV');
79
79
  _this.eventManager = new EventManager(_assertThisInitialized(_this));
80
80
  _this.pressed = null;
81
+ _this.isTriggeredByRMB = false;
81
82
  _this.dblclick = 0;
82
83
  _this.autoresizeTimeout = null;
83
84
 
@@ -428,6 +429,11 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
428
429
  if (isDetached(event.target)) {
429
430
  return;
430
431
  }
432
+
433
+ // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
434
+ if (this.isTriggeredByRMB === true) {
435
+ return;
436
+ }
431
437
  if (this.checkIfColumnHeader(event.target)) {
432
438
  var th = this.getClosestTHParent(event.target);
433
439
  if (!th) {
@@ -584,6 +590,28 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
584
590
  }
585
591
  }
586
592
 
593
+ /**
594
+ * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
595
+ *
596
+ * @private
597
+ */
598
+ }, {
599
+ key: "onContextMenu",
600
+ value: function onContextMenu() {
601
+ var _this9 = this;
602
+ this.hideHandleAndGuide();
603
+ this.hot.rootElement.removeChild(this.handle);
604
+ this.hot.rootElement.removeChild(this.guide);
605
+ this.pressed = false;
606
+ this.isTriggeredByRMB = true;
607
+
608
+ // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
609
+ // shouldn't be drawn just after removing it.
610
+ this.hot._registerImmediate(function () {
611
+ _this9.isTriggeredByRMB = false;
612
+ });
613
+ }
614
+
587
615
  /**
588
616
  * Binds the mouse events.
589
617
  *
@@ -592,21 +620,24 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
592
620
  }, {
593
621
  key: "bindEvents",
594
622
  value: function bindEvents() {
595
- var _this9 = this;
623
+ var _this10 = this;
596
624
  var _this$hot = this.hot,
597
625
  rootWindow = _this$hot.rootWindow,
598
626
  rootElement = _this$hot.rootElement;
599
627
  this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
600
- return _this9.onMouseOver(e);
628
+ return _this10.onMouseOver(e);
601
629
  });
602
630
  this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
603
- return _this9.onMouseDown(e);
631
+ return _this10.onMouseDown(e);
604
632
  });
605
633
  this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
606
- return _this9.onMouseMove(e);
634
+ return _this10.onMouseMove(e);
607
635
  });
608
636
  this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
609
- return _this9.onMouseUp();
637
+ return _this10.onMouseUp();
638
+ });
639
+ this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
640
+ return _this10.onContextMenu();
610
641
  });
611
642
  }
612
643
 
@@ -202,6 +202,8 @@ var ManualRowMove = /*#__PURE__*/function (_BasePlugin) {
202
202
  /**
203
203
  * Moves a single row.
204
204
  *
205
+ * To see the outcome, rerender your grid by calling [`render()`](@/api/core.md#render).
206
+ *
205
207
  * @param {number} row Visual row index to be moved.
206
208
  * @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action.
207
209
  * To check the visualization of the final index, please take a look at [documentation](@/guides/rows/row-moving.md#drag-and-move-actions-of-manualrowmove-plugin).
@@ -216,7 +218,9 @@ var ManualRowMove = /*#__PURE__*/function (_BasePlugin) {
216
218
  }
217
219
 
218
220
  /**
219
- * Moves a multiple rows.
221
+ * Moves multiple rows.
222
+ *
223
+ * To see the outcome, rerender your grid by calling [`render()`](@/api/core.md#render).
220
224
  *
221
225
  * @param {Array} rows Array of visual row indexes to be moved.
222
226
  * @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action.
@@ -484,38 +488,53 @@ var ManualRowMove = /*#__PURE__*/function (_BasePlugin) {
484
488
  }
485
489
  var wtTable = this.hot.view._wt.wtTable;
486
490
  var TD = priv.target.TD;
487
- var rootElementOffset = (0, _element.offset)(this.hot.rootElement);
488
- var tdOffsetTop = this.hot.view.THEAD.offsetHeight + this.getRowsHeight(0, coords.row - 1);
489
- var mouseOffsetTop = priv.target.eventPageY - rootElementOffset.top + wtTable.holder.scrollTop;
491
+ var rootElement = this.hot.rootElement;
492
+ var rootElementOffset = (0, _element.offset)(rootElement);
493
+ var trimmingContainer = (0, _element.getTrimmingContainer)(rootElement);
494
+ var tableScroll = wtTable.holder.scrollTop;
495
+ var trimmingContainerScroll;
496
+
497
+ // Trimming container is the `window` element.
498
+ if (this.hot.rootWindow === trimmingContainer) {
499
+ trimmingContainerScroll = trimmingContainer.scrollY;
500
+ } else {
501
+ trimmingContainerScroll = trimmingContainer.scrollTop;
502
+ }
503
+ var pixelsAbove = rootElementOffset.top - trimmingContainerScroll;
504
+ var pixelsRelToTableStart = priv.target.eventPageY - pixelsAbove + tableScroll;
490
505
  var hiderHeight = wtTable.hider.offsetHeight;
491
506
  var tbodyOffsetTop = wtTable.TBODY.offsetTop;
492
507
  var backlightElemMarginTop = this.backlight.getOffset().top;
493
508
  var backlightElemHeight = this.backlight.getSize().height;
509
+ var tdMiddle = TD.offsetHeight / 2;
510
+ var tdHeight = TD.offsetHeight;
511
+ var tdStartPixel = this.hot.view.THEAD.offsetHeight + this.getRowsHeight(0, coords.row - 1);
512
+ var isBelowTable = pixelsRelToTableStart >= tdStartPixel + tdMiddle;
494
513
  if (this.isFixedRowTop(coords.row)) {
495
- tdOffsetTop += wtTable.holder.scrollTop;
514
+ tdStartPixel += wtTable.holder.scrollTop;
496
515
  }
497
516
  if (coords.row < 0) {
498
517
  // if hover on colHeader
499
518
  priv.target.row = firstVisible > 0 ? firstVisible - 1 : firstVisible;
500
- } else if (TD.offsetHeight / 2 + tdOffsetTop <= mouseOffsetTop) {
519
+ } else if (isBelowTable) {
501
520
  // if hover on lower part of TD
502
521
  priv.target.row = coords.row + 1;
503
522
  // unfortunately first row is bigger than rest
504
- tdOffsetTop += coords.row === 0 ? TD.offsetHeight - 1 : TD.offsetHeight;
523
+ tdStartPixel += coords.row === 0 ? tdHeight - 1 : tdHeight;
505
524
  } else {
506
525
  // elsewhere on table
507
526
  priv.target.row = coords.row;
508
527
  }
509
- var backlightTop = mouseOffsetTop;
510
- var guidelineTop = tdOffsetTop;
511
- if (mouseOffsetTop + backlightElemHeight + backlightElemMarginTop >= hiderHeight) {
528
+ var backlightTop = pixelsRelToTableStart;
529
+ var guidelineTop = tdStartPixel;
530
+ if (pixelsRelToTableStart + backlightElemHeight + backlightElemMarginTop >= hiderHeight) {
512
531
  // prevent display backlight below table
513
532
  backlightTop = hiderHeight - backlightElemHeight - backlightElemMarginTop;
514
- } else if (mouseOffsetTop + backlightElemMarginTop < tbodyOffsetTop) {
533
+ } else if (pixelsRelToTableStart + backlightElemMarginTop < tbodyOffsetTop) {
515
534
  // prevent display above below table
516
535
  backlightTop = tbodyOffsetTop + Math.abs(backlightElemMarginTop);
517
536
  }
518
- if (tdOffsetTop >= hiderHeight - 1) {
537
+ if (tdStartPixel >= hiderHeight - 1) {
519
538
  // prevent display guideline below table
520
539
  guidelineTop = hiderHeight - 1;
521
540
  }