handsontable 12.1.3 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (914) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +3 -32
  2. package/3rdparty/SheetClip/SheetClip.mjs +3 -23
  3. package/3rdparty/SheetClip/index.js +0 -2
  4. package/3rdparty/autoResize/autoResize.js +119 -145
  5. package/3rdparty/autoResize/autoResize.mjs +119 -143
  6. package/3rdparty/autoResize/index.js +0 -2
  7. package/3rdparty/walkontable/src/border.js +34 -151
  8. package/3rdparty/walkontable/src/border.mjs +36 -138
  9. package/3rdparty/walkontable/src/calculator/constants.js +0 -3
  10. package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
  11. package/3rdparty/walkontable/src/calculator/index.js +0 -10
  12. package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
  13. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
  14. package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
  15. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
  16. package/3rdparty/walkontable/src/cell/coords.js +13 -43
  17. package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
  18. package/3rdparty/walkontable/src/cell/range.js +55 -130
  19. package/3rdparty/walkontable/src/cell/range.mjs +60 -126
  20. package/3rdparty/walkontable/src/core/_base.js +16 -74
  21. package/3rdparty/walkontable/src/core/_base.mjs +19 -70
  22. package/3rdparty/walkontable/src/core/clone.js +1 -40
  23. package/3rdparty/walkontable/src/core/clone.mjs +3 -30
  24. package/3rdparty/walkontable/src/core/core.js +3 -57
  25. package/3rdparty/walkontable/src/core/core.mjs +5 -41
  26. package/3rdparty/walkontable/src/event.js +31 -78
  27. package/3rdparty/walkontable/src/event.mjs +31 -65
  28. package/3rdparty/walkontable/src/facade/core.js +1 -17
  29. package/3rdparty/walkontable/src/facade/core.mjs +7 -20
  30. package/3rdparty/walkontable/src/filter/column.js +9 -18
  31. package/3rdparty/walkontable/src/filter/column.mjs +9 -17
  32. package/3rdparty/walkontable/src/filter/row.js +9 -18
  33. package/3rdparty/walkontable/src/filter/row.mjs +9 -17
  34. package/3rdparty/walkontable/src/index.js +0 -31
  35. package/3rdparty/walkontable/src/overlay/_base.js +24 -69
  36. package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
  37. package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
  38. package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
  39. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
  40. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
  41. package/3rdparty/walkontable/src/overlay/constants.js +0 -6
  42. package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
  43. package/3rdparty/walkontable/src/overlay/index.js +0 -17
  44. package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
  45. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
  46. package/3rdparty/walkontable/src/overlay/top.js +27 -100
  47. package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
  48. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
  49. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
  50. package/3rdparty/walkontable/src/overlays.js +58 -129
  51. package/3rdparty/walkontable/src/overlays.mjs +60 -121
  52. package/3rdparty/walkontable/src/renderer/_base.js +4 -20
  53. package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
  54. package/3rdparty/walkontable/src/renderer/cells.js +10 -54
  55. package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
  56. package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
  57. package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
  58. package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
  59. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
  60. package/3rdparty/walkontable/src/renderer/index.js +13 -36
  61. package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
  62. package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
  63. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
  64. package/3rdparty/walkontable/src/renderer/rows.js +3 -46
  65. package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
  66. package/3rdparty/walkontable/src/renderer/table.js +22 -49
  67. package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
  68. package/3rdparty/walkontable/src/scroll.js +56 -86
  69. package/3rdparty/walkontable/src/scroll.mjs +58 -86
  70. package/3rdparty/walkontable/src/selection.js +20 -101
  71. package/3rdparty/walkontable/src/selection.mjs +22 -85
  72. package/3rdparty/walkontable/src/settings.js +9 -29
  73. package/3rdparty/walkontable/src/settings.mjs +9 -27
  74. package/3rdparty/walkontable/src/table/bottom.js +1 -35
  75. package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
  76. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
  77. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
  78. package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
  79. package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
  80. package/3rdparty/walkontable/src/table/master.js +10 -55
  81. package/3rdparty/walkontable/src/table/master.mjs +15 -44
  82. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
  83. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
  84. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
  85. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
  86. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
  87. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
  88. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
  89. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
  90. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
  91. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
  92. package/3rdparty/walkontable/src/table/top.js +1 -35
  93. package/3rdparty/walkontable/src/table/top.mjs +6 -25
  94. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
  95. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
  96. package/3rdparty/walkontable/src/table.js +63 -230
  97. package/3rdparty/walkontable/src/table.mjs +73 -219
  98. package/3rdparty/walkontable/src/types.js +0 -5
  99. package/3rdparty/walkontable/src/types.mjs +0 -5
  100. package/3rdparty/walkontable/src/utils/column.js +9 -31
  101. package/3rdparty/walkontable/src/utils/column.mjs +13 -30
  102. package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
  103. package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
  104. package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
  105. package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
  106. package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
  107. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
  108. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
  109. package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
  110. package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
  111. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
  112. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
  113. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
  114. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
  115. package/3rdparty/walkontable/src/utils/row.js +2 -13
  116. package/3rdparty/walkontable/src/utils/row.mjs +2 -12
  117. package/3rdparty/walkontable/src/viewport.js +38 -100
  118. package/3rdparty/walkontable/src/viewport.mjs +40 -99
  119. package/CHANGELOG.md +76 -1
  120. package/base.js +6 -17
  121. package/base.mjs +6 -12
  122. package/cellTypes/autocompleteType/autocompleteType.js +0 -4
  123. package/cellTypes/autocompleteType/index.js +0 -2
  124. package/cellTypes/checkboxType/checkboxType.js +0 -3
  125. package/cellTypes/checkboxType/index.js +0 -2
  126. package/cellTypes/dateType/dateType.js +0 -4
  127. package/cellTypes/dateType/index.js +0 -2
  128. package/cellTypes/dropdownType/dropdownType.js +0 -4
  129. package/cellTypes/dropdownType/index.js +0 -2
  130. package/cellTypes/handsontableType/handsontableType.js +0 -3
  131. package/cellTypes/handsontableType/index.js +0 -2
  132. package/cellTypes/index.js +0 -21
  133. package/cellTypes/index.mjs +3 -5
  134. package/cellTypes/numericType/index.js +0 -2
  135. package/cellTypes/numericType/numericType.js +0 -4
  136. package/cellTypes/passwordType/index.js +0 -2
  137. package/cellTypes/passwordType/passwordType.js +0 -3
  138. package/cellTypes/registry.js +10 -25
  139. package/cellTypes/registry.mjs +10 -20
  140. package/cellTypes/textType/index.js +0 -2
  141. package/cellTypes/textType/textType.js +0 -3
  142. package/cellTypes/timeType/index.js +0 -2
  143. package/cellTypes/timeType/timeType.js +0 -4
  144. package/core.d.ts +5 -1
  145. package/core.js +505 -973
  146. package/core.mjs +510 -920
  147. package/dataMap/dataMap.js +106 -210
  148. package/dataMap/dataMap.mjs +106 -184
  149. package/{dataSource.js → dataMap/dataSource.js} +18 -66
  150. package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
  151. package/dataMap/index.js +0 -13
  152. package/dataMap/metaManager/index.js +21 -46
  153. package/dataMap/metaManager/index.mjs +47 -64
  154. package/dataMap/metaManager/lazyFactoryMap.js +10 -61
  155. package/dataMap/metaManager/lazyFactoryMap.mjs +10 -45
  156. package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
  157. package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
  158. package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
  159. package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
  160. package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
  161. package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
  162. package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
  163. package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
  164. package/dataMap/metaManager/metaSchema.js +86 -179
  165. package/dataMap/metaManager/metaSchema.mjs +86 -170
  166. package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
  167. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
  168. package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
  169. package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
  170. package/dataMap/metaManager/utils.js +11 -20
  171. package/dataMap/metaManager/utils.mjs +21 -23
  172. package/dataMap/replaceData.js +14 -35
  173. package/dataMap/replaceData.mjs +35 -45
  174. package/dist/handsontable.css +2 -2
  175. package/dist/handsontable.full.css +2 -2
  176. package/dist/handsontable.full.js +8478 -20043
  177. package/dist/handsontable.full.min.css +2 -2
  178. package/dist/handsontable.full.min.js +55 -55
  179. package/dist/handsontable.js +7995 -19560
  180. package/dist/handsontable.min.css +2 -2
  181. package/dist/handsontable.min.js +3 -3
  182. package/dist/languages/all.js +0 -175
  183. package/dist/languages/ar-AR.js +0 -10
  184. package/dist/languages/cs-CZ.js +0 -10
  185. package/dist/languages/de-CH.js +0 -10
  186. package/dist/languages/de-DE.js +0 -10
  187. package/dist/languages/en-US.js +0 -10
  188. package/dist/languages/es-MX.js +0 -10
  189. package/dist/languages/fr-FR.js +0 -10
  190. package/dist/languages/it-IT.js +0 -10
  191. package/dist/languages/ja-JP.js +0 -10
  192. package/dist/languages/ko-KR.js +0 -10
  193. package/dist/languages/lv-LV.js +0 -10
  194. package/dist/languages/nb-NO.js +0 -10
  195. package/dist/languages/nl-NL.js +0 -10
  196. package/dist/languages/pl-PL.js +0 -10
  197. package/dist/languages/pt-BR.js +0 -10
  198. package/dist/languages/ru-RU.js +0 -10
  199. package/dist/languages/sr-SP.js +0 -10
  200. package/dist/languages/zh-CN.js +0 -10
  201. package/dist/languages/zh-TW.js +0 -10
  202. package/editorManager.js +36 -105
  203. package/editorManager.mjs +36 -85
  204. package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
  205. package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
  206. package/editors/autocompleteEditor/index.js +0 -2
  207. package/editors/baseEditor/baseEditor.js +44 -154
  208. package/editors/baseEditor/baseEditor.mjs +44 -128
  209. package/editors/baseEditor/index.js +0 -2
  210. package/editors/checkboxEditor/checkboxEditor.js +2 -33
  211. package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
  212. package/editors/checkboxEditor/index.js +0 -2
  213. package/editors/dateEditor/dateEditor.js +20 -96
  214. package/editors/dateEditor/dateEditor.mjs +20 -75
  215. package/editors/dateEditor/index.js +0 -2
  216. package/editors/dropdownEditor/dropdownEditor.js +1 -41
  217. package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
  218. package/editors/dropdownEditor/index.js +0 -2
  219. package/editors/handsontableEditor/handsontableEditor.js +13 -85
  220. package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
  221. package/editors/handsontableEditor/index.js +0 -2
  222. package/editors/index.js +0 -25
  223. package/editors/index.mjs +3 -5
  224. package/editors/numericEditor/index.js +0 -2
  225. package/editors/numericEditor/numericEditor.js +1 -31
  226. package/editors/numericEditor/numericEditor.mjs +1 -18
  227. package/editors/passwordEditor/index.js +0 -2
  228. package/editors/passwordEditor/passwordEditor.js +1 -38
  229. package/editors/passwordEditor/passwordEditor.mjs +1 -22
  230. package/editors/registry.js +10 -36
  231. package/editors/registry.mjs +10 -28
  232. package/editors/selectEditor/index.js +0 -2
  233. package/editors/selectEditor/selectEditor.js +21 -73
  234. package/editors/selectEditor/selectEditor.mjs +21 -56
  235. package/editors/textEditor/caretPositioner.js +0 -8
  236. package/editors/textEditor/caretPositioner.mjs +10 -18
  237. package/editors/textEditor/index.js +0 -2
  238. package/editors/textEditor/textEditor.js +38 -137
  239. package/editors/textEditor/textEditor.mjs +38 -106
  240. package/editors/timeEditor/index.js +0 -2
  241. package/editors/timeEditor/timeEditor.js +1 -36
  242. package/editors/timeEditor/timeEditor.mjs +1 -21
  243. package/eventManager.js +20 -56
  244. package/eventManager.mjs +23 -56
  245. package/helpers/array.js +22 -88
  246. package/helpers/array.mjs +22 -58
  247. package/helpers/browser.js +25 -51
  248. package/helpers/browser.mjs +25 -32
  249. package/helpers/console.js +3 -13
  250. package/helpers/console.mjs +8 -16
  251. package/helpers/data.d.ts +0 -1
  252. package/helpers/data.js +10 -55
  253. package/helpers/data.mjs +10 -33
  254. package/helpers/date.js +2 -3
  255. package/helpers/date.mjs +2 -2
  256. package/helpers/dom/element.js +66 -256
  257. package/helpers/dom/element.mjs +73 -192
  258. package/helpers/dom/event.js +3 -7
  259. package/helpers/dom/event.mjs +3 -3
  260. package/helpers/feature.js +13 -47
  261. package/helpers/feature.mjs +13 -31
  262. package/helpers/function.js +14 -59
  263. package/helpers/function.mjs +20 -52
  264. package/helpers/mixed.js +9 -64
  265. package/helpers/mixed.mjs +15 -50
  266. package/helpers/number.js +4 -46
  267. package/helpers/number.mjs +4 -23
  268. package/helpers/object.js +15 -68
  269. package/helpers/object.mjs +21 -50
  270. package/helpers/string.js +6 -28
  271. package/helpers/string.mjs +12 -21
  272. package/helpers/templateLiteralTag.js +0 -6
  273. package/helpers/templateLiteralTag.mjs +7 -10
  274. package/helpers/unicode.js +17 -22
  275. package/helpers/unicode.mjs +17 -13
  276. package/helpers/wrappers/jquery.js +4 -14
  277. package/helpers/wrappers/jquery.mjs +4 -13
  278. package/i18n/constants.js +1 -3
  279. package/i18n/constants.mjs +1 -1
  280. package/i18n/index.js +0 -7
  281. package/i18n/languages/ar-AR.js +0 -16
  282. package/i18n/languages/ar-AR.mjs +1 -4
  283. package/i18n/languages/cs-CZ.js +0 -16
  284. package/i18n/languages/cs-CZ.mjs +1 -4
  285. package/i18n/languages/de-CH.js +0 -16
  286. package/i18n/languages/de-CH.mjs +1 -4
  287. package/i18n/languages/de-DE.js +0 -16
  288. package/i18n/languages/de-DE.mjs +1 -4
  289. package/i18n/languages/en-US.js +0 -16
  290. package/i18n/languages/en-US.mjs +1 -4
  291. package/i18n/languages/es-MX.js +0 -16
  292. package/i18n/languages/es-MX.mjs +1 -4
  293. package/i18n/languages/fr-FR.js +0 -16
  294. package/i18n/languages/fr-FR.mjs +1 -4
  295. package/i18n/languages/index.js +0 -39
  296. package/i18n/languages/it-IT.js +0 -16
  297. package/i18n/languages/it-IT.mjs +1 -4
  298. package/i18n/languages/ja-JP.js +0 -16
  299. package/i18n/languages/ja-JP.mjs +1 -4
  300. package/i18n/languages/ko-KR.js +0 -16
  301. package/i18n/languages/ko-KR.mjs +1 -4
  302. package/i18n/languages/lv-LV.js +0 -16
  303. package/i18n/languages/lv-LV.mjs +1 -4
  304. package/i18n/languages/nb-NO.js +0 -16
  305. package/i18n/languages/nb-NO.mjs +1 -4
  306. package/i18n/languages/nl-NL.js +0 -16
  307. package/i18n/languages/nl-NL.mjs +1 -4
  308. package/i18n/languages/pl-PL.js +0 -16
  309. package/i18n/languages/pl-PL.mjs +1 -4
  310. package/i18n/languages/pt-BR.js +0 -16
  311. package/i18n/languages/pt-BR.mjs +1 -4
  312. package/i18n/languages/ru-RU.js +0 -16
  313. package/i18n/languages/ru-RU.mjs +1 -4
  314. package/i18n/languages/sr-SP.js +0 -16
  315. package/i18n/languages/sr-SP.mjs +1 -4
  316. package/i18n/languages/zh-CN.js +0 -16
  317. package/i18n/languages/zh-CN.mjs +1 -4
  318. package/i18n/languages/zh-TW.js +0 -16
  319. package/i18n/languages/zh-TW.mjs +1 -4
  320. package/i18n/phraseFormatters/index.js +4 -11
  321. package/i18n/phraseFormatters/index.mjs +4 -6
  322. package/i18n/phraseFormatters/pluralize.js +0 -5
  323. package/i18n/phraseFormatters/pluralize.mjs +0 -3
  324. package/i18n/phraseFormatters/substituteVariables.js +0 -4
  325. package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
  326. package/i18n/registry.js +18 -59
  327. package/i18n/registry.mjs +18 -30
  328. package/i18n/utils.js +4 -22
  329. package/i18n/utils.mjs +13 -21
  330. package/index.js +19 -56
  331. package/index.mjs +19 -15
  332. package/languages/all.js +0 -175
  333. package/languages/ar-AR.js +0 -10
  334. package/languages/ar-AR.mjs +1 -4
  335. package/languages/cs-CZ.js +0 -10
  336. package/languages/cs-CZ.mjs +1 -4
  337. package/languages/de-CH.js +0 -10
  338. package/languages/de-CH.mjs +1 -4
  339. package/languages/de-DE.js +0 -10
  340. package/languages/de-DE.mjs +1 -4
  341. package/languages/en-US.js +0 -10
  342. package/languages/en-US.mjs +1 -4
  343. package/languages/es-MX.js +0 -10
  344. package/languages/es-MX.mjs +1 -4
  345. package/languages/fr-FR.js +0 -10
  346. package/languages/fr-FR.mjs +1 -4
  347. package/languages/index.js +0 -175
  348. package/languages/it-IT.js +0 -10
  349. package/languages/it-IT.mjs +1 -4
  350. package/languages/ja-JP.js +0 -10
  351. package/languages/ja-JP.mjs +1 -4
  352. package/languages/ko-KR.js +0 -10
  353. package/languages/ko-KR.mjs +1 -4
  354. package/languages/lv-LV.js +0 -10
  355. package/languages/lv-LV.mjs +1 -4
  356. package/languages/nb-NO.js +0 -10
  357. package/languages/nb-NO.mjs +1 -4
  358. package/languages/nl-NL.js +0 -10
  359. package/languages/nl-NL.mjs +1 -4
  360. package/languages/pl-PL.js +0 -10
  361. package/languages/pl-PL.mjs +1 -4
  362. package/languages/pt-BR.js +0 -10
  363. package/languages/pt-BR.mjs +1 -4
  364. package/languages/ru-RU.js +0 -10
  365. package/languages/ru-RU.mjs +1 -4
  366. package/languages/sr-SP.js +0 -10
  367. package/languages/sr-SP.mjs +1 -4
  368. package/languages/zh-CN.js +0 -10
  369. package/languages/zh-CN.mjs +1 -4
  370. package/languages/zh-TW.js +0 -10
  371. package/languages/zh-TW.mjs +1 -4
  372. package/mixins/hooksRefRegisterer.js +4 -18
  373. package/mixins/hooksRefRegisterer.mjs +4 -15
  374. package/mixins/localHooks.js +7 -17
  375. package/mixins/localHooks.mjs +7 -14
  376. package/package.json +1 -1
  377. package/pluginHooks.d.ts +3 -3
  378. package/pluginHooks.js +271 -96
  379. package/pluginHooks.mjs +270 -83
  380. package/plugins/autoColumnSize/autoColumnSize.js +74 -172
  381. package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
  382. package/plugins/autoColumnSize/index.js +0 -2
  383. package/plugins/autoRowSize/autoRowSize.js +73 -153
  384. package/plugins/autoRowSize/autoRowSize.mjs +73 -124
  385. package/plugins/autoRowSize/index.js +0 -2
  386. package/plugins/autofill/autofill.js +46 -163
  387. package/plugins/autofill/autofill.mjs +46 -131
  388. package/plugins/autofill/index.js +0 -2
  389. package/plugins/autofill/utils.js +4 -26
  390. package/plugins/autofill/utils.mjs +4 -18
  391. package/plugins/base/base.js +20 -89
  392. package/plugins/base/base.mjs +20 -61
  393. package/plugins/base/index.js +0 -2
  394. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
  395. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
  396. package/plugins/bindRowsWithHeaders/index.js +0 -2
  397. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
  398. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
  399. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
  400. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
  401. package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
  402. package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
  403. package/plugins/collapsibleColumns/index.js +0 -2
  404. package/plugins/columnSorting/columnSorting.js +50 -188
  405. package/plugins/columnSorting/columnSorting.mjs +50 -143
  406. package/plugins/columnSorting/columnStatesManager.js +15 -71
  407. package/plugins/columnSorting/columnStatesManager.mjs +15 -48
  408. package/plugins/columnSorting/domHelpers.js +2 -18
  409. package/plugins/columnSorting/domHelpers.mjs +2 -7
  410. package/plugins/columnSorting/index.js +0 -2
  411. package/plugins/columnSorting/rootComparator.js +5 -24
  412. package/plugins/columnSorting/rootComparator.mjs +12 -21
  413. package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
  414. package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
  415. package/plugins/columnSorting/sortFunction/date.js +2 -19
  416. package/plugins/columnSorting/sortFunction/date.mjs +10 -23
  417. package/plugins/columnSorting/sortFunction/default.js +2 -17
  418. package/plugins/columnSorting/sortFunction/default.mjs +10 -23
  419. package/plugins/columnSorting/sortFunction/numeric.js +2 -11
  420. package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
  421. package/plugins/columnSorting/sortService/engine.js +1 -7
  422. package/plugins/columnSorting/sortService/engine.mjs +1 -3
  423. package/plugins/columnSorting/sortService/index.js +0 -5
  424. package/plugins/columnSorting/sortService/registry.js +6 -18
  425. package/plugins/columnSorting/sortService/registry.mjs +6 -10
  426. package/plugins/columnSorting/utils.js +9 -34
  427. package/plugins/columnSorting/utils.mjs +9 -15
  428. package/plugins/columnSummary/columnSummary.js +52 -118
  429. package/plugins/columnSummary/columnSummary.mjs +52 -93
  430. package/plugins/columnSummary/endpoints.js +21 -98
  431. package/plugins/columnSummary/endpoints.mjs +26 -99
  432. package/plugins/columnSummary/index.js +0 -2
  433. package/plugins/columnSummary/utils.js +0 -1
  434. package/plugins/comments/commentEditor.js +16 -28
  435. package/plugins/comments/commentEditor.mjs +21 -32
  436. package/plugins/comments/comments.js +92 -175
  437. package/plugins/comments/comments.mjs +92 -149
  438. package/plugins/comments/displaySwitch.js +6 -23
  439. package/plugins/comments/displaySwitch.mjs +6 -18
  440. package/plugins/comments/index.js +0 -2
  441. package/plugins/contextMenu/commandExecutor.js +9 -36
  442. package/plugins/contextMenu/commandExecutor.mjs +14 -39
  443. package/plugins/contextMenu/contextMenu.js +21 -104
  444. package/plugins/contextMenu/contextMenu.mjs +21 -74
  445. package/plugins/contextMenu/cursor.js +6 -20
  446. package/plugins/contextMenu/cursor.mjs +11 -24
  447. package/plugins/contextMenu/index.js +0 -2
  448. package/plugins/contextMenu/itemsFactory.js +14 -43
  449. package/plugins/contextMenu/itemsFactory.mjs +19 -44
  450. package/plugins/contextMenu/menu.js +57 -177
  451. package/plugins/contextMenu/menu.mjs +57 -149
  452. package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
  453. package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
  454. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
  455. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
  456. package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
  457. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
  458. package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
  459. package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
  460. package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
  461. package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
  462. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
  463. package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
  464. package/plugins/contextMenu/predefinedItems/redo.js +1 -16
  465. package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
  466. package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
  467. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
  468. package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
  469. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
  470. package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
  471. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
  472. package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
  473. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
  474. package/plugins/contextMenu/predefinedItems/separator.js +1 -2
  475. package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
  476. package/plugins/contextMenu/predefinedItems/undo.js +1 -16
  477. package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
  478. package/plugins/contextMenu/predefinedItems.js +2 -48
  479. package/plugins/contextMenu/predefinedItems.mjs +2 -7
  480. package/plugins/contextMenu/utils.js +17 -57
  481. package/plugins/contextMenu/utils.mjs +21 -39
  482. package/plugins/copyPaste/clipboardData.js +1 -10
  483. package/plugins/copyPaste/clipboardData.mjs +1 -9
  484. package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
  485. package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
  486. package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
  487. package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
  488. package/plugins/copyPaste/copyPaste.js +51 -185
  489. package/plugins/copyPaste/copyPaste.mjs +51 -144
  490. package/plugins/copyPaste/focusableElement.js +12 -56
  491. package/plugins/copyPaste/focusableElement.mjs +15 -49
  492. package/plugins/copyPaste/index.js +0 -2
  493. package/plugins/copyPaste/pasteEvent.js +1 -10
  494. package/plugins/copyPaste/pasteEvent.mjs +3 -10
  495. package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
  496. package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
  497. package/plugins/customBorders/contextMenuItem/index.js +0 -11
  498. package/plugins/customBorders/contextMenuItem/left.js +0 -17
  499. package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
  500. package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
  501. package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
  502. package/plugins/customBorders/contextMenuItem/right.js +0 -17
  503. package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
  504. package/plugins/customBorders/contextMenuItem/top.js +0 -17
  505. package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
  506. package/plugins/customBorders/customBorders.js +52 -181
  507. package/plugins/customBorders/customBorders.mjs +52 -147
  508. package/plugins/customBorders/index.js +0 -2
  509. package/plugins/customBorders/utils.js +13 -52
  510. package/plugins/customBorders/utils.mjs +20 -39
  511. package/plugins/dragToScroll/dragToScroll.js +17 -74
  512. package/plugins/dragToScroll/dragToScroll.mjs +17 -55
  513. package/plugins/dragToScroll/index.js +0 -2
  514. package/plugins/dropdownMenu/dropdownMenu.js +43 -126
  515. package/plugins/dropdownMenu/dropdownMenu.mjs +43 -95
  516. package/plugins/dropdownMenu/index.js +0 -2
  517. package/plugins/exportFile/dataProvider.js +24 -69
  518. package/plugins/exportFile/dataProvider.mjs +26 -60
  519. package/plugins/exportFile/exportFile.js +48 -58
  520. package/plugins/exportFile/exportFile.mjs +48 -36
  521. package/plugins/exportFile/index.js +0 -2
  522. package/plugins/exportFile/typeFactory.js +1 -11
  523. package/plugins/exportFile/typeFactory.mjs +1 -4
  524. package/plugins/exportFile/types/_base.js +2 -16
  525. package/plugins/exportFile/types/_base.mjs +4 -16
  526. package/plugins/exportFile/types/csv.js +2 -50
  527. package/plugins/exportFile/types/csv.mjs +2 -29
  528. package/plugins/filters/component/_base.js +12 -32
  529. package/plugins/filters/component/_base.mjs +15 -30
  530. package/plugins/filters/component/actionBar.js +6 -55
  531. package/plugins/filters/component/actionBar.mjs +9 -38
  532. package/plugins/filters/component/condition.js +15 -94
  533. package/plugins/filters/component/condition.mjs +18 -67
  534. package/plugins/filters/component/operators.js +10 -68
  535. package/plugins/filters/component/operators.mjs +10 -45
  536. package/plugins/filters/component/value.js +16 -97
  537. package/plugins/filters/component/value.mjs +19 -70
  538. package/plugins/filters/condition/beginsWith.js +2 -32
  539. package/plugins/filters/condition/beginsWith.mjs +2 -10
  540. package/plugins/filters/condition/between.js +3 -37
  541. package/plugins/filters/condition/between.mjs +3 -15
  542. package/plugins/filters/condition/byValue.js +3 -27
  543. package/plugins/filters/condition/byValue.mjs +3 -12
  544. package/plugins/filters/condition/contains.js +2 -32
  545. package/plugins/filters/condition/contains.mjs +2 -10
  546. package/plugins/filters/condition/date/after.js +2 -34
  547. package/plugins/filters/condition/date/after.mjs +2 -12
  548. package/plugins/filters/condition/date/before.js +2 -34
  549. package/plugins/filters/condition/date/before.mjs +2 -12
  550. package/plugins/filters/condition/date/today.js +1 -22
  551. package/plugins/filters/condition/date/today.mjs +1 -3
  552. package/plugins/filters/condition/date/tomorrow.js +1 -22
  553. package/plugins/filters/condition/date/tomorrow.mjs +1 -3
  554. package/plugins/filters/condition/date/yesterday.js +1 -22
  555. package/plugins/filters/condition/date/yesterday.mjs +1 -3
  556. package/plugins/filters/condition/empty.js +1 -19
  557. package/plugins/filters/condition/empty.mjs +1 -1
  558. package/plugins/filters/condition/endsWith.js +2 -32
  559. package/plugins/filters/condition/endsWith.mjs +2 -10
  560. package/plugins/filters/condition/equal.js +2 -31
  561. package/plugins/filters/condition/equal.mjs +2 -10
  562. package/plugins/filters/condition/false.js +1 -5
  563. package/plugins/filters/condition/false.mjs +1 -1
  564. package/plugins/filters/condition/greaterThan.js +2 -32
  565. package/plugins/filters/condition/greaterThan.mjs +2 -12
  566. package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
  567. package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
  568. package/plugins/filters/condition/lessThan.js +2 -32
  569. package/plugins/filters/condition/lessThan.mjs +2 -12
  570. package/plugins/filters/condition/lessThanOrEqual.js +2 -32
  571. package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
  572. package/plugins/filters/condition/none.js +1 -18
  573. package/plugins/filters/condition/none.mjs +1 -1
  574. package/plugins/filters/condition/notBetween.js +1 -19
  575. package/plugins/filters/condition/notBetween.mjs +1 -1
  576. package/plugins/filters/condition/notContains.js +1 -19
  577. package/plugins/filters/condition/notContains.mjs +1 -1
  578. package/plugins/filters/condition/notEmpty.js +1 -19
  579. package/plugins/filters/condition/notEmpty.mjs +1 -1
  580. package/plugins/filters/condition/notEqual.js +1 -19
  581. package/plugins/filters/condition/notEqual.mjs +1 -1
  582. package/plugins/filters/condition/true.js +1 -5
  583. package/plugins/filters/condition/true.mjs +1 -1
  584. package/plugins/filters/conditionCollection.js +21 -80
  585. package/plugins/filters/conditionCollection.mjs +21 -57
  586. package/plugins/filters/conditionRegisterer.js +5 -14
  587. package/plugins/filters/conditionRegisterer.mjs +5 -9
  588. package/plugins/filters/conditionUpdateObserver.js +17 -57
  589. package/plugins/filters/conditionUpdateObserver.mjs +25 -53
  590. package/plugins/filters/constants.js +1 -66
  591. package/plugins/filters/constants.mjs +1 -8
  592. package/plugins/filters/dataFilter.js +4 -21
  593. package/plugins/filters/dataFilter.mjs +7 -23
  594. package/plugins/filters/filters.js +103 -208
  595. package/plugins/filters/filters.mjs +103 -163
  596. package/plugins/filters/index.js +0 -2
  597. package/plugins/filters/logicalOperationRegisterer.js +3 -9
  598. package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
  599. package/plugins/filters/logicalOperations/conjunction.js +2 -19
  600. package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
  601. package/plugins/filters/logicalOperations/disjunction.js +2 -19
  602. package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
  603. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
  604. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
  605. package/plugins/filters/ui/_base.js +12 -55
  606. package/plugins/filters/ui/_base.mjs +12 -35
  607. package/plugins/filters/ui/input.js +7 -52
  608. package/plugins/filters/ui/input.mjs +7 -34
  609. package/plugins/filters/ui/link.js +3 -43
  610. package/plugins/filters/ui/link.mjs +3 -25
  611. package/plugins/filters/ui/multipleSelect.js +26 -120
  612. package/plugins/filters/ui/multipleSelect.mjs +20 -76
  613. package/plugins/filters/ui/radioInput.js +6 -47
  614. package/plugins/filters/ui/radioInput.mjs +6 -30
  615. package/plugins/filters/ui/select.js +14 -76
  616. package/plugins/filters/ui/select.mjs +14 -52
  617. package/plugins/filters/utils.js +6 -39
  618. package/plugins/filters/utils.mjs +6 -23
  619. package/plugins/formulas/engine/register.js +24 -74
  620. package/plugins/formulas/engine/register.mjs +29 -51
  621. package/plugins/formulas/engine/settings.js +4 -24
  622. package/plugins/formulas/engine/settings.mjs +4 -12
  623. package/plugins/formulas/formulas.js +103 -295
  624. package/plugins/formulas/formulas.mjs +104 -248
  625. package/plugins/formulas/index.js +0 -2
  626. package/plugins/formulas/utils.js +1 -3
  627. package/plugins/formulas/utils.mjs +1 -1
  628. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
  629. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
  630. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
  631. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
  632. package/plugins/hiddenColumns/hiddenColumns.js +72 -149
  633. package/plugins/hiddenColumns/hiddenColumns.mjs +72 -108
  634. package/plugins/hiddenColumns/index.js +0 -2
  635. package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
  636. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
  637. package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
  638. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
  639. package/plugins/hiddenRows/hiddenRows.js +70 -148
  640. package/plugins/hiddenRows/hiddenRows.mjs +70 -107
  641. package/plugins/hiddenRows/index.js +0 -2
  642. package/plugins/index.js +0 -71
  643. package/plugins/index.mjs +3 -5
  644. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
  645. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
  646. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
  647. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
  648. package/plugins/manualColumnFreeze/index.js +0 -2
  649. package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
  650. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
  651. package/plugins/manualColumnMove/index.js +0 -2
  652. package/plugins/manualColumnMove/manualColumnMove.js +45 -134
  653. package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
  654. package/plugins/manualColumnMove/ui/_base.js +12 -30
  655. package/plugins/manualColumnMove/ui/_base.mjs +12 -27
  656. package/plugins/manualColumnMove/ui/backlight.js +1 -37
  657. package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
  658. package/plugins/manualColumnMove/ui/guideline.js +1 -37
  659. package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
  660. package/plugins/manualColumnResize/index.js +0 -2
  661. package/plugins/manualColumnResize/manualColumnResize.js +44 -143
  662. package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
  663. package/plugins/manualRowMove/index.js +0 -2
  664. package/plugins/manualRowMove/manualRowMove.js +45 -137
  665. package/plugins/manualRowMove/manualRowMove.mjs +45 -109
  666. package/plugins/manualRowMove/ui/_base.js +12 -27
  667. package/plugins/manualRowMove/ui/_base.mjs +12 -26
  668. package/plugins/manualRowMove/ui/backlight.js +1 -37
  669. package/plugins/manualRowMove/ui/backlight.mjs +1 -22
  670. package/plugins/manualRowMove/ui/guideline.js +1 -37
  671. package/plugins/manualRowMove/ui/guideline.mjs +1 -22
  672. package/plugins/manualRowResize/index.js +0 -2
  673. package/plugins/manualRowResize/manualRowResize.js +42 -138
  674. package/plugins/manualRowResize/manualRowResize.mjs +41 -112
  675. package/plugins/mergeCells/calculations/autofill.js +39 -130
  676. package/plugins/mergeCells/calculations/autofill.mjs +44 -122
  677. package/plugins/mergeCells/calculations/selection.js +9 -40
  678. package/plugins/mergeCells/calculations/selection.mjs +9 -37
  679. package/plugins/mergeCells/cellCoords.js +30 -51
  680. package/plugins/mergeCells/cellCoords.mjs +35 -54
  681. package/plugins/mergeCells/cellsCollection.js +13 -84
  682. package/plugins/mergeCells/cellsCollection.mjs +18 -69
  683. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
  684. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
  685. package/plugins/mergeCells/index.js +0 -2
  686. package/plugins/mergeCells/mergeCells.js +130 -333
  687. package/plugins/mergeCells/mergeCells.mjs +130 -292
  688. package/plugins/mergeCells/utils.js +0 -3
  689. package/plugins/mergeCells/utils.mjs +0 -1
  690. package/plugins/multiColumnSorting/domHelpers.js +2 -12
  691. package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
  692. package/plugins/multiColumnSorting/index.js +0 -2
  693. package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
  694. package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
  695. package/plugins/multiColumnSorting/rootComparator.js +2 -26
  696. package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
  697. package/plugins/multiColumnSorting/utils.js +0 -7
  698. package/plugins/multiColumnSorting/utils.mjs +3 -8
  699. package/plugins/multipleSelectionHandles/index.js +0 -2
  700. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
  701. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
  702. package/plugins/nestedHeaders/index.js +0 -2
  703. package/plugins/nestedHeaders/nestedHeaders.js +79 -200
  704. package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
  705. package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
  706. package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
  707. package/plugins/nestedHeaders/stateManager/index.js +24 -107
  708. package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
  709. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
  710. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
  711. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
  712. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
  713. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
  714. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
  715. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
  716. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
  717. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
  718. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
  719. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
  720. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
  721. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
  722. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
  723. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
  724. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
  725. package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
  726. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
  727. package/plugins/nestedHeaders/stateManager/utils.js +19 -22
  728. package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
  729. package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
  730. package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
  731. package/plugins/nestedRows/data/dataManager.js +40 -161
  732. package/plugins/nestedRows/data/dataManager.mjs +44 -148
  733. package/plugins/nestedRows/index.js +0 -2
  734. package/plugins/nestedRows/nestedRows.js +40 -118
  735. package/plugins/nestedRows/nestedRows.mjs +40 -85
  736. package/plugins/nestedRows/ui/_base.js +1 -9
  737. package/plugins/nestedRows/ui/_base.mjs +1 -8
  738. package/plugins/nestedRows/ui/collapsing.js +28 -134
  739. package/plugins/nestedRows/ui/collapsing.mjs +34 -118
  740. package/plugins/nestedRows/ui/contextMenu.js +2 -53
  741. package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
  742. package/plugins/nestedRows/ui/headers.js +5 -50
  743. package/plugins/nestedRows/ui/headers.mjs +11 -41
  744. package/plugins/nestedRows/utils/rowMoveController.js +28 -78
  745. package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
  746. package/plugins/persistentState/index.js +0 -2
  747. package/plugins/persistentState/persistentState.js +10 -58
  748. package/plugins/persistentState/persistentState.mjs +10 -37
  749. package/plugins/persistentState/storage.js +9 -25
  750. package/plugins/persistentState/storage.mjs +12 -26
  751. package/plugins/registry.js +7 -51
  752. package/plugins/registry.mjs +8 -34
  753. package/plugins/search/index.js +0 -2
  754. package/plugins/search/search.js +16 -96
  755. package/plugins/search/search.mjs +16 -67
  756. package/plugins/touchScroll/index.js +0 -2
  757. package/plugins/touchScroll/touchScroll.js +15 -76
  758. package/plugins/touchScroll/touchScroll.mjs +15 -58
  759. package/plugins/trimRows/index.js +0 -2
  760. package/plugins/trimRows/trimRows.js +59 -85
  761. package/plugins/trimRows/trimRows.mjs +59 -62
  762. package/plugins/undoRedo/index.js +0 -14
  763. package/plugins/undoRedo/undoRedo.js +48 -218
  764. package/plugins/undoRedo/undoRedo.mjs +48 -188
  765. package/registry.js +0 -11
  766. package/registry.mjs +2 -4
  767. package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
  768. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
  769. package/renderers/autocompleteRenderer/index.js +0 -2
  770. package/renderers/baseRenderer/baseRenderer.js +2 -11
  771. package/renderers/baseRenderer/baseRenderer.mjs +2 -9
  772. package/renderers/baseRenderer/index.js +0 -2
  773. package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
  774. package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
  775. package/renderers/checkboxRenderer/index.js +0 -2
  776. package/renderers/htmlRenderer/htmlRenderer.js +1 -7
  777. package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
  778. package/renderers/htmlRenderer/index.js +0 -2
  779. package/renderers/index.js +0 -19
  780. package/renderers/index.mjs +3 -5
  781. package/renderers/numericRenderer/index.js +0 -2
  782. package/renderers/numericRenderer/numericRenderer.js +1 -21
  783. package/renderers/numericRenderer/numericRenderer.mjs +1 -9
  784. package/renderers/passwordRenderer/index.js +0 -2
  785. package/renderers/passwordRenderer/passwordRenderer.js +1 -8
  786. package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
  787. package/renderers/registry.js +7 -16
  788. package/renderers/registry.mjs +7 -14
  789. package/renderers/textRenderer/index.js +0 -2
  790. package/renderers/textRenderer/textRenderer.js +1 -13
  791. package/renderers/textRenderer/textRenderer.mjs +1 -5
  792. package/renderers/timeRenderer/index.js +0 -2
  793. package/renderers/timeRenderer/timeRenderer.js +1 -6
  794. package/renderers/timeRenderer/timeRenderer.mjs +1 -1
  795. package/selection/highlight/highlight.js +17 -73
  796. package/selection/highlight/highlight.mjs +31 -64
  797. package/selection/highlight/types/activeHeader.js +1 -21
  798. package/selection/highlight/types/activeHeader.mjs +6 -16
  799. package/selection/highlight/types/area.js +2 -22
  800. package/selection/highlight/types/area.mjs +10 -20
  801. package/selection/highlight/types/cell.js +1 -21
  802. package/selection/highlight/types/cell.mjs +9 -19
  803. package/selection/highlight/types/customSelection.js +2 -22
  804. package/selection/highlight/types/customSelection.mjs +11 -21
  805. package/selection/highlight/types/fill.js +2 -17
  806. package/selection/highlight/types/fill.mjs +9 -14
  807. package/selection/highlight/types/header.js +3 -23
  808. package/selection/highlight/types/header.mjs +13 -23
  809. package/selection/highlight/types/index.js +3 -24
  810. package/selection/highlight/types/index.mjs +3 -10
  811. package/selection/highlight/visualSelection.js +24 -74
  812. package/selection/highlight/visualSelection.mjs +24 -62
  813. package/selection/index.js +0 -14
  814. package/selection/mouseEventHandler.js +19 -30
  815. package/selection/mouseEventHandler.mjs +32 -36
  816. package/selection/range.js +11 -31
  817. package/selection/range.mjs +11 -22
  818. package/selection/selection.js +62 -157
  819. package/selection/selection.mjs +65 -132
  820. package/selection/transformation.js +10 -40
  821. package/selection/transformation.mjs +18 -45
  822. package/selection/utils.js +22 -70
  823. package/selection/utils.mjs +22 -47
  824. package/shortcuts/context.js +23 -78
  825. package/shortcuts/context.mjs +23 -55
  826. package/shortcuts/index.js +0 -2
  827. package/shortcuts/keyObserver.js +4 -17
  828. package/shortcuts/keyObserver.mjs +4 -12
  829. package/shortcuts/manager.js +16 -36
  830. package/shortcuts/manager.mjs +16 -33
  831. package/shortcuts/recorder.js +9 -40
  832. package/shortcuts/recorder.mjs +9 -31
  833. package/shortcuts/utils.js +5 -20
  834. package/shortcuts/utils.mjs +5 -6
  835. package/tableView.js +100 -270
  836. package/tableView.mjs +100 -248
  837. package/translations/changesObservable/observable.js +5 -54
  838. package/translations/changesObservable/observable.mjs +12 -51
  839. package/translations/changesObservable/observer.js +4 -32
  840. package/translations/changesObservable/observer.mjs +9 -29
  841. package/translations/changesObservable/utils.js +1 -5
  842. package/translations/changesObservable/utils.mjs +1 -4
  843. package/translations/index.js +0 -11
  844. package/translations/indexMapper.js +68 -156
  845. package/translations/indexMapper.mjs +68 -123
  846. package/translations/mapCollections/aggregatedCollection.js +9 -51
  847. package/translations/mapCollections/aggregatedCollection.mjs +12 -41
  848. package/translations/mapCollections/index.js +0 -7
  849. package/translations/mapCollections/mapCollection.js +10 -33
  850. package/translations/mapCollections/mapCollection.mjs +10 -22
  851. package/translations/maps/hidingMap.js +2 -35
  852. package/translations/maps/hidingMap.mjs +7 -28
  853. package/translations/maps/index.js +1 -24
  854. package/translations/maps/index.mjs +1 -3
  855. package/translations/maps/indexMap.js +12 -34
  856. package/translations/maps/indexMap.mjs +16 -32
  857. package/translations/maps/indexesSequence.js +3 -41
  858. package/translations/maps/indexesSequence.mjs +9 -32
  859. package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
  860. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
  861. package/translations/maps/physicalIndexToValueMap.js +2 -39
  862. package/translations/maps/physicalIndexToValueMap.mjs +8 -31
  863. package/translations/maps/trimmingMap.js +2 -35
  864. package/translations/maps/trimmingMap.mjs +7 -28
  865. package/translations/maps/utils/actionsOnIndexes.js +1 -7
  866. package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
  867. package/translations/maps/utils/index.js +0 -13
  868. package/translations/maps/utils/index.mjs +0 -3
  869. package/translations/maps/utils/indexesSequence.js +1 -24
  870. package/translations/maps/utils/indexesSequence.mjs +10 -19
  871. package/translations/maps/utils/physicallyIndexed.js +1 -27
  872. package/translations/maps/utils/physicallyIndexed.mjs +11 -21
  873. package/utils/dataStructures/linkedList.js +15 -56
  874. package/utils/dataStructures/linkedList.mjs +15 -54
  875. package/utils/dataStructures/priorityMap.js +8 -46
  876. package/utils/dataStructures/priorityMap.mjs +8 -29
  877. package/utils/dataStructures/queue.js +6 -17
  878. package/utils/dataStructures/queue.mjs +6 -16
  879. package/utils/dataStructures/stack.js +6 -17
  880. package/utils/dataStructures/stack.mjs +6 -16
  881. package/utils/dataStructures/tree.js +11 -75
  882. package/utils/dataStructures/tree.mjs +11 -54
  883. package/utils/dataStructures/uniqueMap.js +17 -56
  884. package/utils/dataStructures/uniqueMap.mjs +17 -42
  885. package/utils/dataStructures/uniqueSet.js +5 -32
  886. package/utils/dataStructures/uniqueSet.mjs +5 -19
  887. package/utils/ghostTable.js +33 -104
  888. package/utils/ghostTable.mjs +35 -92
  889. package/utils/interval.js +10 -37
  890. package/utils/interval.mjs +7 -29
  891. package/utils/parseTable.js +11 -92
  892. package/utils/parseTable.mjs +11 -62
  893. package/utils/rootInstance.js +3 -14
  894. package/utils/rootInstance.mjs +3 -3
  895. package/utils/samplesGenerator.js +15 -51
  896. package/utils/samplesGenerator.mjs +17 -44
  897. package/utils/staticRegister.js +6 -33
  898. package/utils/staticRegister.mjs +6 -19
  899. package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
  900. package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
  901. package/validators/autocompleteValidator/index.js +0 -2
  902. package/validators/dateValidator/dateValidator.js +2 -21
  903. package/validators/dateValidator/dateValidator.mjs +2 -11
  904. package/validators/dateValidator/index.js +0 -2
  905. package/validators/index.js +0 -11
  906. package/validators/index.mjs +3 -5
  907. package/validators/numericValidator/index.js +0 -2
  908. package/validators/numericValidator/numericValidator.js +1 -7
  909. package/validators/numericValidator/numericValidator.mjs +1 -3
  910. package/validators/registry.js +7 -16
  911. package/validators/registry.mjs +7 -14
  912. package/validators/timeValidator/index.js +0 -2
  913. package/validators/timeValidator/timeValidator.js +6 -18
  914. package/validators/timeValidator/timeValidator.mjs +8 -13
package/tableView.js CHANGED
@@ -1,89 +1,53 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.symbol.js");
4
-
5
4
  require("core-js/modules/es.symbol.description.js");
6
-
7
5
  require("core-js/modules/es.symbol.iterator.js");
8
-
9
6
  require("core-js/modules/es.array.from.js");
10
-
11
7
  require("core-js/modules/es.array.slice.js");
12
-
13
8
  require("core-js/modules/es.function.name.js");
14
-
15
9
  require("core-js/modules/es.regexp.exec.js");
16
-
17
10
  exports.__esModule = true;
18
11
  exports.default = void 0;
19
-
20
12
  require("core-js/modules/es.array.iterator.js");
21
-
22
13
  require("core-js/modules/es.object.to-string.js");
23
-
24
14
  require("core-js/modules/es.string.iterator.js");
25
-
26
15
  require("core-js/modules/es.weak-map.js");
27
-
28
16
  require("core-js/modules/web.dom-collections.iterator.js");
29
-
30
17
  require("core-js/modules/es.number.is-integer.js");
31
-
32
18
  require("core-js/modules/es.number.constructor.js");
33
-
34
19
  var _element = require("./helpers/dom/element");
35
-
36
20
  var _eventManager = _interopRequireDefault(require("./eventManager"));
37
-
38
21
  var _event = require("./helpers/dom/event");
39
-
40
22
  var _src = _interopRequireDefault(require("./3rdparty/walkontable/src"));
41
-
42
23
  var _mouseEventHandler = require("./selection/mouseEventHandler");
43
-
44
24
  var _rootInstance = require("./utils/rootInstance");
45
-
46
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
47
-
48
26
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
49
-
50
27
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
51
-
52
28
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
53
-
54
29
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
-
56
30
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
57
-
58
31
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
59
-
60
32
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
61
-
62
33
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
63
-
64
34
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
65
-
66
35
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
67
-
68
36
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
69
-
70
37
  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, descriptor.key, descriptor); } }
71
-
72
38
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
73
-
74
39
  var privatePool = new WeakMap();
40
+
75
41
  /**
76
42
  * @class TableView
77
43
  * @private
78
44
  */
79
-
80
45
  var TableView = /*#__PURE__*/function () {
81
46
  /**
82
47
  * @param {Hanstontable} instance Instance of {@link Handsontable}.
83
48
  */
84
49
  function TableView(instance) {
85
50
  _classCallCheck(this, TableView);
86
-
87
51
  /**
88
52
  * Instance of {@link Handsontable}.
89
53
  *
@@ -97,7 +61,6 @@ var TableView = /*#__PURE__*/function () {
97
61
  * @private
98
62
  * @type {EventManager}
99
63
  */
100
-
101
64
  this.eventManager = new _eventManager.default(instance);
102
65
  /**
103
66
  * Current Handsontable's GridSettings object.
@@ -105,7 +68,6 @@ var TableView = /*#__PURE__*/function () {
105
68
  * @private
106
69
  * @type {GridSettings}
107
70
  */
108
-
109
71
  this.settings = instance.getSettings();
110
72
  /**
111
73
  * Main <THEAD> element.
@@ -113,7 +75,6 @@ var TableView = /*#__PURE__*/function () {
113
75
  * @private
114
76
  * @type {HTMLTableSectionElement}
115
77
  */
116
-
117
78
  this.THEAD = void 0;
118
79
  /**
119
80
  * Main <TBODY> element.
@@ -121,7 +82,6 @@ var TableView = /*#__PURE__*/function () {
121
82
  * @private
122
83
  * @type {HTMLTableSectionElement}
123
84
  */
124
-
125
85
  this.TBODY = void 0;
126
86
  /**
127
87
  * Main Walkontable instance.
@@ -129,7 +89,6 @@ var TableView = /*#__PURE__*/function () {
129
89
  * @private
130
90
  * @type {Walkontable}
131
91
  */
132
-
133
92
  this._wt = void 0;
134
93
  /**
135
94
  * Main Walkontable instance.
@@ -137,7 +96,6 @@ var TableView = /*#__PURE__*/function () {
137
96
  * @private
138
97
  * @type {Walkontable}
139
98
  */
140
-
141
99
  this.activeWt = void 0;
142
100
  /**
143
101
  * The flag determines if the `adjustElementsSize` method call was made during
@@ -147,7 +105,6 @@ var TableView = /*#__PURE__*/function () {
147
105
  * @private
148
106
  * @type {boolean}
149
107
  */
150
-
151
108
  this.postponedAdjustElementsSize = false;
152
109
  privatePool.set(this, {
153
110
  /**
@@ -157,13 +114,11 @@ var TableView = /*#__PURE__*/function () {
157
114
  * @type {boolean}
158
115
  */
159
116
  selectionMouseDown: false,
160
-
161
117
  /**
162
118
  * @private
163
119
  * @type {boolean}
164
120
  */
165
121
  mouseDown: void 0,
166
-
167
122
  /**
168
123
  * Main <TABLE> element.
169
124
  *
@@ -171,14 +126,12 @@ var TableView = /*#__PURE__*/function () {
171
126
  * @type {HTMLTableElement}
172
127
  */
173
128
  table: void 0,
174
-
175
129
  /**
176
130
  * Cached width of the rootElement.
177
131
  *
178
132
  * @type {number}
179
133
  */
180
134
  lastWidth: 0,
181
-
182
135
  /**
183
136
  * Cached height of the rootElement.
184
137
  *
@@ -190,46 +143,42 @@ var TableView = /*#__PURE__*/function () {
190
143
  this.registerEvents();
191
144
  this.initializeWalkontable();
192
145
  }
146
+
193
147
  /**
194
148
  * Renders WalkontableUI.
195
149
  */
196
-
197
-
198
150
  _createClass(TableView, [{
199
151
  key: "render",
200
152
  value: function render() {
201
153
  if (!this.instance.isRenderSuspended()) {
202
154
  this.instance.runHooks('beforeRender', this.instance.forceFullRender);
203
-
204
155
  if (this.postponedAdjustElementsSize) {
205
156
  this.postponedAdjustElementsSize = false;
206
157
  this.adjustElementsSize(true);
207
158
  }
208
-
209
159
  this._wt.draw(!this.instance.forceFullRender);
210
-
211
160
  this.instance.runHooks('afterRender', this.instance.forceFullRender);
212
161
  this.instance.forceFullRender = false;
213
162
  this.instance.renderCall = false;
214
163
  }
215
164
  }
165
+
216
166
  /**
217
167
  * Adjust overlays elements size and master table size.
218
168
  *
219
169
  * @param {boolean} [force=false] When `true`, it adjust the DOM nodes sizes for all overlays.
220
170
  */
221
-
222
171
  }, {
223
172
  key: "adjustElementsSize",
224
173
  value: function adjustElementsSize() {
225
174
  var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
226
-
227
175
  if (this.instance.isRenderSuspended()) {
228
176
  this.postponedAdjustElementsSize = true;
229
177
  } else {
230
178
  this._wt.wtOverlays.adjustElementsSize(force);
231
179
  }
232
180
  }
181
+
233
182
  /**
234
183
  * Returns td object given coordinates.
235
184
  *
@@ -237,19 +186,17 @@ var TableView = /*#__PURE__*/function () {
237
186
  * @param {boolean} topmost Indicates whether the cell should be calculated from the topmost.
238
187
  * @returns {HTMLTableCellElement|null}
239
188
  */
240
-
241
189
  }, {
242
190
  key: "getCellAtCoords",
243
191
  value: function getCellAtCoords(coords, topmost) {
244
192
  var td = this._wt.getCell(coords, topmost);
245
-
246
193
  if (td < 0) {
247
194
  // there was an exit code (cell is out of bounds)
248
195
  return null;
249
196
  }
250
-
251
197
  return td;
252
198
  }
199
+
253
200
  /**
254
201
  * Scroll viewport to a cell.
255
202
  *
@@ -260,12 +207,12 @@ var TableView = /*#__PURE__*/function () {
260
207
  * @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left side of the table.
261
208
  * @returns {boolean}
262
209
  */
263
-
264
210
  }, {
265
211
  key: "scrollViewport",
266
212
  value: function scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
267
213
  return this._wt.scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft);
268
214
  }
215
+
269
216
  /**
270
217
  * Scroll viewport to a column.
271
218
  *
@@ -274,12 +221,12 @@ var TableView = /*#__PURE__*/function () {
274
221
  * @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left side of the table.
275
222
  * @returns {boolean}
276
223
  */
277
-
278
224
  }, {
279
225
  key: "scrollViewportHorizontally",
280
226
  value: function scrollViewportHorizontally(column, snapToRight, snapToLeft) {
281
227
  return this._wt.scrollViewportHorizontally(column, snapToRight, snapToLeft);
282
228
  }
229
+
283
230
  /**
284
231
  * Scroll viewport to a row.
285
232
  *
@@ -288,27 +235,25 @@ var TableView = /*#__PURE__*/function () {
288
235
  * @param {boolean} [snapToBottom] If `true`, viewport is scrolled to show the cell on the bottom side of the table.
289
236
  * @returns {boolean}
290
237
  */
291
-
292
238
  }, {
293
239
  key: "scrollViewportVertically",
294
240
  value: function scrollViewportVertically(row, snapToTop, snapToBottom) {
295
241
  return this._wt.scrollViewportVertically(row, snapToTop, snapToBottom);
296
242
  }
243
+
297
244
  /**
298
245
  * Prepares DOMElements and adds correct className to the root element.
299
246
  *
300
247
  * @private
301
248
  */
302
-
303
249
  }, {
304
250
  key: "createElements",
305
251
  value: function createElements() {
306
252
  var priv = privatePool.get(this);
307
253
  var _this$instance = this.instance,
308
- rootElement = _this$instance.rootElement,
309
- rootDocument = _this$instance.rootDocument;
254
+ rootElement = _this$instance.rootElement,
255
+ rootDocument = _this$instance.rootDocument;
310
256
  var originalStyle = rootElement.getAttribute('style');
311
-
312
257
  if (originalStyle) {
313
258
  rootElement.setAttribute('data-originalstyle', originalStyle); // needed to retrieve original style in jsFiddle link generator in HT examples. may be removed in future versions
314
259
  }
@@ -316,11 +261,9 @@ var TableView = /*#__PURE__*/function () {
316
261
  (0, _element.addClass)(rootElement, 'handsontable');
317
262
  priv.table = rootDocument.createElement('TABLE');
318
263
  (0, _element.addClass)(priv.table, 'htCore');
319
-
320
264
  if (this.instance.getSettings().tableClassName) {
321
265
  (0, _element.addClass)(priv.table, this.instance.getSettings().tableClassName);
322
266
  }
323
-
324
267
  this.THEAD = rootDocument.createElement('THEAD');
325
268
  priv.table.appendChild(this.THEAD);
326
269
  this.TBODY = rootDocument.createElement('TBODY');
@@ -328,26 +271,24 @@ var TableView = /*#__PURE__*/function () {
328
271
  this.instance.table = priv.table;
329
272
  this.instance.container.insertBefore(priv.table, this.instance.container.firstChild);
330
273
  }
274
+
331
275
  /**
332
276
  * Attaches necessary listeners.
333
277
  *
334
278
  * @private
335
279
  */
336
-
337
280
  }, {
338
281
  key: "registerEvents",
339
282
  value: function registerEvents() {
340
283
  var _this = this;
341
-
342
284
  var priv = privatePool.get(this);
343
285
  var _this$instance2 = this.instance,
344
- rootElement = _this$instance2.rootElement,
345
- rootDocument = _this$instance2.rootDocument,
346
- selection = _this$instance2.selection;
286
+ rootElement = _this$instance2.rootElement,
287
+ rootDocument = _this$instance2.rootDocument,
288
+ selection = _this$instance2.selection;
347
289
  var documentElement = rootDocument.documentElement;
348
290
  this.eventManager.addEventListener(rootElement, 'mousedown', function (event) {
349
291
  priv.selectionMouseDown = true;
350
-
351
292
  if (!_this.isTextSelectionAllowed(event.target)) {
352
293
  var rootWindow = _this.instance.rootWindow;
353
294
  (0, _element.clearTextSelection)(rootWindow);
@@ -355,6 +296,7 @@ var TableView = /*#__PURE__*/function () {
355
296
  rootWindow.focus(); // make sure that window that contains HOT is active. Important when HOT is in iframe.
356
297
  }
357
298
  });
299
+
358
300
  this.eventManager.addEventListener(rootElement, 'mouseup', function () {
359
301
  priv.selectionMouseDown = false;
360
302
  });
@@ -364,7 +306,6 @@ var TableView = /*#__PURE__*/function () {
364
306
  if (_this.settings.fragmentSelection) {
365
307
  (0, _element.clearTextSelection)(_this.instance.rootWindow);
366
308
  }
367
-
368
309
  event.preventDefault();
369
310
  }
370
311
  });
@@ -379,9 +320,7 @@ var TableView = /*#__PURE__*/function () {
379
320
  // is left mouse button
380
321
  selection.finish();
381
322
  }
382
-
383
323
  priv.mouseDown = false;
384
-
385
324
  if ((0, _element.isOutsideInput)(rootDocument.activeElement) || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !rootElement.contains(event.target) && !(0, _event.isRightClick)(event)) {
386
325
  _this.instance.unlisten();
387
326
  }
@@ -396,7 +335,6 @@ var TableView = /*#__PURE__*/function () {
396
335
  if (selection.isInProgress()) {
397
336
  selection.finish();
398
337
  }
399
-
400
338
  priv.mouseDown = false;
401
339
  });
402
340
  this.eventManager.addEventListener(documentElement, 'mousedown', function (event) {
@@ -404,17 +342,14 @@ var TableView = /*#__PURE__*/function () {
404
342
  var eventX = event.x || event.clientX;
405
343
  var eventY = event.y || event.clientY;
406
344
  var next = event.target;
407
-
408
345
  if (priv.mouseDown || !rootElement || !_this.instance.view) {
409
346
  return; // it must have been started in a cell
410
- } // immediate click on "holder" means click on the right side of vertical scrollbar
411
-
347
+ }
412
348
 
349
+ // immediate click on "holder" means click on the right side of vertical scrollbar
413
350
  var holder = _this.instance.view._wt.wtTable.holder;
414
-
415
351
  if (next === holder) {
416
352
  var scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
417
-
418
353
  if (rootDocument.elementFromPoint(eventX + scrollbarWidth, eventY) !== holder || rootDocument.elementFromPoint(eventX, eventY + scrollbarWidth) !== holder) {
419
354
  return;
420
355
  }
@@ -423,24 +358,21 @@ var TableView = /*#__PURE__*/function () {
423
358
  if (next === null) {
424
359
  if (event.isTargetWebComponent) {
425
360
  break;
426
- } // click on something that was a row but now is detached (possibly because your click triggered a rerender)
427
-
361
+ }
428
362
 
363
+ // click on something that was a row but now is detached (possibly because your click triggered a rerender)
429
364
  return;
430
365
  }
431
-
432
366
  if (next === rootElement) {
433
367
  // click inside container
434
368
  return;
435
369
  }
436
-
437
370
  next = next.parentNode;
438
371
  }
439
- } // function did not return until here, we have an outside click!
440
-
372
+ }
441
373
 
374
+ // function did not return until here, we have an outside click!
442
375
  var outsideClickDeselects = typeof _this.settings.outsideClickDeselects === 'function' ? _this.settings.outsideClickDeselects(originalTarget) : _this.settings.outsideClickDeselects;
443
-
444
376
  if (outsideClickDeselects) {
445
377
  _this.instance.deselectCell();
446
378
  } else {
@@ -450,30 +382,29 @@ var TableView = /*#__PURE__*/function () {
450
382
  this.eventManager.addEventListener(priv.table, 'selectstart', function (event) {
451
383
  if (_this.settings.fragmentSelection || (0, _element.isInput)(event.target)) {
452
384
  return;
453
- } // https://github.com/handsontable/handsontable/issues/160
385
+ }
386
+ // https://github.com/handsontable/handsontable/issues/160
454
387
  // Prevent text from being selected when performing drag down.
455
-
456
-
457
388
  event.preventDefault();
458
389
  });
459
390
  }
391
+
460
392
  /**
461
393
  * Translate renderable cell coordinates to visual coordinates.
462
394
  *
463
395
  * @param {CellCoords} coords The cell coordinates.
464
396
  * @returns {CellCoords}
465
397
  */
466
-
467
398
  }, {
468
399
  key: "translateFromRenderableToVisualCoords",
469
400
  value: function translateFromRenderableToVisualCoords(_ref) {
470
401
  var _this$instance3;
471
-
472
402
  var row = _ref.row,
473
- col = _ref.col;
403
+ col = _ref.col;
474
404
  // TODO: To consider an idea to reusing the CellCoords instance instead creating new one.
475
405
  return (_this$instance3 = this.instance)._createCellCoords.apply(_this$instance3, _toConsumableArray(this.translateFromRenderableToVisualIndex(row, col)));
476
406
  }
407
+
477
408
  /**
478
409
  * Translate renderable row and column indexes to visual row and column indexes.
479
410
  *
@@ -481,7 +412,6 @@ var TableView = /*#__PURE__*/function () {
481
412
  * @param {number} renderableColumn Renderable columnIndex.
482
413
  * @returns {number[]}
483
414
  */
484
-
485
415
  }, {
486
416
  key: "translateFromRenderableToVisualIndex",
487
417
  value: function translateFromRenderableToVisualIndex(renderableRow, renderableColumn) {
@@ -489,17 +419,15 @@ var TableView = /*#__PURE__*/function () {
489
419
  // We perform translation for indexes (without headers).
490
420
  var visualRow = renderableRow >= 0 ? this.instance.rowIndexMapper.getVisualFromRenderableIndex(renderableRow) : renderableRow;
491
421
  var visualColumn = renderableColumn >= 0 ? this.instance.columnIndexMapper.getVisualFromRenderableIndex(renderableColumn) : renderableColumn;
492
-
493
422
  if (visualRow === null) {
494
423
  visualRow = renderableRow;
495
424
  }
496
-
497
425
  if (visualColumn === null) {
498
426
  visualColumn = renderableColumn;
499
427
  }
500
-
501
428
  return [visualRow, visualColumn];
502
429
  }
430
+
503
431
  /**
504
432
  * Returns the number of renderable indexes.
505
433
  *
@@ -509,42 +437,42 @@ var TableView = /*#__PURE__*/function () {
509
437
  *
510
438
  * @returns {number|*}
511
439
  */
512
-
513
440
  }, {
514
441
  key: "countRenderableIndexes",
515
442
  value: function countRenderableIndexes(indexMapper, maxElements) {
516
- var consideredElements = Math.min(indexMapper.getNotTrimmedIndexesLength(), maxElements); // Don't take hidden indexes into account. We are looking just for renderable indexes.
517
-
518
- var firstNotHiddenIndex = indexMapper.getNearestNotHiddenIndex(consideredElements - 1, -1); // There are no renderable indexes.
443
+ var consideredElements = Math.min(indexMapper.getNotTrimmedIndexesLength(), maxElements);
444
+ // Don't take hidden indexes into account. We are looking just for renderable indexes.
445
+ var firstNotHiddenIndex = indexMapper.getNearestNotHiddenIndex(consideredElements - 1, -1);
519
446
 
447
+ // There are no renderable indexes.
520
448
  if (firstNotHiddenIndex === null) {
521
449
  return 0;
522
450
  }
523
-
524
451
  return indexMapper.getRenderableFromVisualIndex(firstNotHiddenIndex) + 1;
525
452
  }
453
+
526
454
  /**
527
455
  * Returns the number of renderable columns.
528
456
  *
529
457
  * @returns {number}
530
458
  */
531
-
532
459
  }, {
533
460
  key: "countRenderableColumns",
534
461
  value: function countRenderableColumns() {
535
462
  return this.countRenderableIndexes(this.instance.columnIndexMapper, this.settings.maxCols);
536
463
  }
464
+
537
465
  /**
538
466
  * Returns the number of renderable rows.
539
467
  *
540
468
  * @returns {number}
541
469
  */
542
-
543
470
  }, {
544
471
  key: "countRenderableRows",
545
472
  value: function countRenderableRows() {
546
473
  return this.countRenderableIndexes(this.instance.rowIndexMapper, this.settings.maxRows);
547
474
  }
475
+
548
476
  /**
549
477
  * Returns number of not hidden row indexes counting from the passed starting index.
550
478
  * The counting direction can be controlled by `incrementBy` argument.
@@ -553,12 +481,12 @@ var TableView = /*#__PURE__*/function () {
553
481
  * @param {number} incrementBy If `-1` then counting is backwards or forward when `1`.
554
482
  * @returns {number}
555
483
  */
556
-
557
484
  }, {
558
485
  key: "countNotHiddenRowIndexes",
559
486
  value: function countNotHiddenRowIndexes(visualIndex, incrementBy) {
560
487
  return this.countNotHiddenIndexes(visualIndex, incrementBy, this.instance.rowIndexMapper, this.countRenderableRows());
561
488
  }
489
+
562
490
  /**
563
491
  * Returns number of not hidden column indexes counting from the passed starting index.
564
492
  * The counting direction can be controlled by `incrementBy` argument.
@@ -567,12 +495,12 @@ var TableView = /*#__PURE__*/function () {
567
495
  * @param {number} incrementBy If `-1` then counting is backwards or forward when `1`.
568
496
  * @returns {number}
569
497
  */
570
-
571
498
  }, {
572
499
  key: "countNotHiddenColumnIndexes",
573
500
  value: function countNotHiddenColumnIndexes(visualIndex, incrementBy) {
574
501
  return this.countNotHiddenIndexes(visualIndex, incrementBy, this.instance.columnIndexMapper, this.countRenderableColumns());
575
502
  }
503
+
576
504
  /**
577
505
  * Returns number of not hidden indexes counting from the passed starting index.
578
506
  * The counting direction can be controlled by `incrementBy` argument.
@@ -583,39 +511,33 @@ var TableView = /*#__PURE__*/function () {
583
511
  * @param {number} renderableIndexesCount Total count of renderable indexes for specific axis.
584
512
  * @returns {number}
585
513
  */
586
-
587
514
  }, {
588
515
  key: "countNotHiddenIndexes",
589
516
  value: function countNotHiddenIndexes(visualIndex, incrementBy, indexMapper, renderableIndexesCount) {
590
517
  if (isNaN(visualIndex) || visualIndex < 0) {
591
518
  return 0;
592
519
  }
593
-
594
520
  var firstVisibleIndex = indexMapper.getNearestNotHiddenIndex(visualIndex, incrementBy);
595
521
  var renderableIndex = indexMapper.getRenderableFromVisualIndex(firstVisibleIndex);
596
-
597
522
  if (!Number.isInteger(renderableIndex)) {
598
523
  return 0;
599
524
  }
600
-
601
525
  var notHiddenIndexes = 0;
602
-
603
526
  if (incrementBy < 0) {
604
527
  // Zero-based numbering for renderable indexes corresponds to a number of not hidden indexes.
605
528
  notHiddenIndexes = renderableIndex + 1;
606
529
  } else if (incrementBy > 0) {
607
530
  notHiddenIndexes = renderableIndexesCount - renderableIndex;
608
531
  }
609
-
610
532
  return notHiddenIndexes;
611
533
  }
534
+
612
535
  /**
613
536
  * The function returns the number of not hidden column indexes that fit between the first and
614
537
  * last fixed column in the left (or right in RTL mode) overlay.
615
538
  *
616
539
  * @returns {number}
617
540
  */
618
-
619
541
  }, {
620
542
  key: "countNotHiddenFixedColumnsStart",
621
543
  value: function countNotHiddenFixedColumnsStart() {
@@ -623,13 +545,13 @@ var TableView = /*#__PURE__*/function () {
623
545
  var visualFixedColumnsStart = Math.min(parseInt(this.settings.fixedColumnsStart, 10), countCols) - 1;
624
546
  return this.countNotHiddenColumnIndexes(visualFixedColumnsStart, -1);
625
547
  }
548
+
626
549
  /**
627
550
  * The function returns the number of not hidden row indexes that fit between the first and
628
551
  * last fixed row in the top overlay.
629
552
  *
630
553
  * @returns {number}
631
554
  */
632
-
633
555
  }, {
634
556
  key: "countNotHiddenFixedRowsTop",
635
557
  value: function countNotHiddenFixedRowsTop() {
@@ -637,13 +559,13 @@ var TableView = /*#__PURE__*/function () {
637
559
  var visualFixedRowsTop = Math.min(parseInt(this.settings.fixedRowsTop, 10), countRows) - 1;
638
560
  return this.countNotHiddenRowIndexes(visualFixedRowsTop, -1);
639
561
  }
562
+
640
563
  /**
641
564
  * The function returns the number of not hidden row indexes that fit between the first and
642
565
  * last fixed row in the bottom overlay.
643
566
  *
644
567
  * @returns {number}
645
568
  */
646
-
647
569
  }, {
648
570
  key: "countNotHiddenFixedRowsBottom",
649
571
  value: function countNotHiddenFixedRowsBottom() {
@@ -651,13 +573,13 @@ var TableView = /*#__PURE__*/function () {
651
573
  var visualFixedRowsBottom = Math.max(countRows - parseInt(this.settings.fixedRowsBottom, 10), 0);
652
574
  return this.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
653
575
  }
576
+
654
577
  /**
655
578
  * Checks if at least one cell than belongs to the main table is not covered by the top, left or
656
579
  * bottom overlay.
657
580
  *
658
581
  * @returns {boolean}
659
582
  */
660
-
661
583
  }, {
662
584
  key: "isMainTableNotFullyCoveredByOverlays",
663
585
  value: function isMainTableNotFullyCoveredByOverlays() {
@@ -665,17 +587,16 @@ var TableView = /*#__PURE__*/function () {
665
587
  var fixedAllColumns = this.countNotHiddenFixedColumnsStart();
666
588
  return this.instance.countRenderedRows() > fixedAllRows && this.instance.countRenderedCols() > fixedAllColumns;
667
589
  }
590
+
668
591
  /**
669
592
  * Defines default configuration and initializes WalkOnTable instance.
670
593
  *
671
594
  * @private
672
595
  */
673
-
674
596
  }, {
675
597
  key: "initializeWalkontable",
676
598
  value: function initializeWalkontable() {
677
599
  var _this2 = this;
678
-
679
600
  var priv = privatePool.get(this);
680
601
  var walkontableConfig = {
681
602
  rtlMode: this.instance.isRtl(),
@@ -695,7 +616,6 @@ var TableView = /*#__PURE__*/function () {
695
616
  },
696
617
  data: function data(renderableRow, renderableColumn) {
697
618
  var _this2$instance;
698
-
699
619
  return (_this2$instance = _this2.instance).getDataAtCell.apply(_this2$instance, _toConsumableArray(_this2.translateFromRenderableToVisualIndex(renderableRow, renderableColumn)));
700
620
  },
701
621
  totalRows: function totalRows() {
@@ -734,84 +654,65 @@ var TableView = /*#__PURE__*/function () {
734
654
  renderAllRows: this.settings.renderAllRows,
735
655
  rowHeaders: function rowHeaders() {
736
656
  var headerRenderers = [];
737
-
738
657
  if (_this2.instance.hasRowHeaders()) {
739
658
  headerRenderers.push(function (renderableRowIndex, TH) {
740
659
  // TODO: Some helper may be needed.
741
660
  // We perform translation for row indexes (without row headers).
742
661
  var visualRowIndex = renderableRowIndex >= 0 ? _this2.instance.rowIndexMapper.getVisualFromRenderableIndex(renderableRowIndex) : renderableRowIndex;
743
-
744
662
  _this2.appendRowHeader(visualRowIndex, TH);
745
663
  });
746
664
  }
747
-
748
665
  _this2.instance.runHooks('afterGetRowHeaderRenderers', headerRenderers);
749
-
750
666
  return headerRenderers;
751
667
  },
752
668
  columnHeaders: function columnHeaders() {
753
669
  var headerRenderers = [];
754
-
755
670
  if (_this2.instance.hasColHeaders()) {
756
671
  headerRenderers.push(function (renderedColumnIndex, TH) {
757
672
  // TODO: Some helper may be needed.
758
673
  // We perform translation for columns indexes (without column headers).
759
674
  var visualColumnsIndex = renderedColumnIndex >= 0 ? _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex) : renderedColumnIndex;
760
-
761
675
  _this2.appendColHeader(visualColumnsIndex, TH);
762
676
  });
763
677
  }
764
-
765
678
  _this2.instance.runHooks('afterGetColumnHeaderRenderers', headerRenderers);
766
-
767
679
  return headerRenderers;
768
680
  },
769
681
  columnWidth: function columnWidth(renderedColumnIndex) {
770
- var visualIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex); // It's not a bug that we can't find visual index for some handled by method indexes. The function is called also
682
+ var visualIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
683
+
684
+ // It's not a bug that we can't find visual index for some handled by method indexes. The function is called also
771
685
  // for indexes that are not displayed (indexes that are beyond the grid's boundaries), i.e. when `fixedColumnsStart` > `startCols` (wrong config?) or
772
686
  // scrolling and dataset is empty (scroll should handle that?).
773
-
774
-
775
687
  return _this2.instance.getColWidth(visualIndex === null ? renderedColumnIndex : visualIndex);
776
688
  },
777
689
  rowHeight: function rowHeight(renderedRowIndex) {
778
690
  var visualIndex = _this2.instance.rowIndexMapper.getVisualFromRenderableIndex(renderedRowIndex);
779
-
780
691
  return _this2.instance.getRowHeight(visualIndex === null ? renderedRowIndex : visualIndex);
781
692
  },
782
693
  cellRenderer: function cellRenderer(renderedRowIndex, renderedColumnIndex, TD) {
783
694
  var _this2$translateFromR = _this2.translateFromRenderableToVisualIndex(renderedRowIndex, renderedColumnIndex),
784
- _this2$translateFromR2 = _slicedToArray(_this2$translateFromR, 2),
785
- visualRowIndex = _this2$translateFromR2[0],
786
- visualColumnIndex = _this2$translateFromR2[1]; // Coords may be modified. For example, by the `MergeCells` plugin. It should affect cell value and cell meta.
787
-
695
+ _this2$translateFromR2 = _slicedToArray(_this2$translateFromR, 2),
696
+ visualRowIndex = _this2$translateFromR2[0],
697
+ visualColumnIndex = _this2$translateFromR2[1];
788
698
 
699
+ // Coords may be modified. For example, by the `MergeCells` plugin. It should affect cell value and cell meta.
789
700
  var modifiedCellCoords = _this2.instance.runHooks('modifyGetCellCoords', visualRowIndex, visualColumnIndex);
790
-
791
701
  var visualRowToCheck = visualRowIndex;
792
702
  var visualColumnToCheck = visualColumnIndex;
793
-
794
703
  if (Array.isArray(modifiedCellCoords)) {
795
704
  var _modifiedCellCoords = _slicedToArray(modifiedCellCoords, 2);
796
-
797
705
  visualRowToCheck = _modifiedCellCoords[0];
798
706
  visualColumnToCheck = _modifiedCellCoords[1];
799
707
  }
800
-
801
708
  var cellProperties = _this2.instance.getCellMeta(visualRowToCheck, visualColumnToCheck);
802
-
803
709
  var prop = _this2.instance.colToProp(visualColumnToCheck);
804
-
805
710
  var value = _this2.instance.getDataAtRowProp(visualRowToCheck, prop);
806
-
807
711
  if (_this2.instance.hasHook('beforeValueRender')) {
808
712
  value = _this2.instance.runHooks('beforeValueRender', value, cellProperties);
809
713
  }
810
-
811
714
  _this2.instance.runHooks('beforeRenderer', TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
812
-
813
715
  _this2.instance.getCellRenderer(cellProperties)(_this2.instance, TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
814
-
815
716
  _this2.instance.runHooks('afterRenderer', TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
816
717
  },
817
718
  selections: this.instance.selection.highlight,
@@ -822,29 +723,22 @@ var TableView = /*#__PURE__*/function () {
822
723
  if (!_this2.instance || _this2.instance.isDestroyed) {
823
724
  return;
824
725
  }
825
-
826
726
  _this2.instance.refreshDimensions();
827
727
  },
828
728
  onCellMouseDown: function onCellMouseDown(event, coords, TD, wt) {
829
729
  var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
830
-
831
730
  var controller = {
832
731
  row: false,
833
732
  column: false,
834
733
  cell: false
835
734
  };
836
-
837
735
  _this2.instance.listen();
838
-
839
736
  _this2.activeWt = wt;
840
737
  priv.mouseDown = true;
841
-
842
738
  _this2.instance.runHooks('beforeOnCellMouseDown', event, visualCoords, TD, controller);
843
-
844
739
  if ((0, _event.isImmediatePropagationStopped)(event)) {
845
740
  return;
846
741
  }
847
-
848
742
  (0, _mouseEventHandler.handleMouseEvent)(event, {
849
743
  coords: visualCoords,
850
744
  selection: _this2.instance.selection,
@@ -853,62 +747,45 @@ var TableView = /*#__PURE__*/function () {
853
747
  return _this2.instance._createCellCoords(row, column);
854
748
  }
855
749
  });
856
-
857
750
  _this2.instance.runHooks('afterOnCellMouseDown', event, visualCoords, TD);
858
-
859
751
  _this2.activeWt = _this2._wt;
860
752
  },
861
753
  onCellContextMenu: function onCellContextMenu(event, coords, TD, wt) {
862
754
  var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
863
-
864
755
  _this2.activeWt = wt;
865
756
  priv.mouseDown = false;
866
-
867
757
  if (_this2.instance.selection.isInProgress()) {
868
758
  _this2.instance.selection.finish();
869
759
  }
870
-
871
760
  _this2.instance.runHooks('beforeOnCellContextMenu', event, visualCoords, TD);
872
-
873
761
  if ((0, _event.isImmediatePropagationStopped)(event)) {
874
762
  return;
875
763
  }
876
-
877
764
  _this2.instance.runHooks('afterOnCellContextMenu', event, visualCoords, TD);
878
-
879
765
  _this2.activeWt = _this2._wt;
880
766
  },
881
767
  onCellMouseOut: function onCellMouseOut(event, coords, TD, wt) {
882
768
  var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
883
-
884
769
  _this2.activeWt = wt;
885
-
886
770
  _this2.instance.runHooks('beforeOnCellMouseOut', event, visualCoords, TD);
887
-
888
771
  if ((0, _event.isImmediatePropagationStopped)(event)) {
889
772
  return;
890
773
  }
891
-
892
774
  _this2.instance.runHooks('afterOnCellMouseOut', event, visualCoords, TD);
893
-
894
775
  _this2.activeWt = _this2._wt;
895
776
  },
896
777
  onCellMouseOver: function onCellMouseOver(event, coords, TD, wt) {
897
778
  var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
898
-
899
779
  var controller = {
900
780
  row: false,
901
781
  column: false,
902
782
  cell: false
903
783
  };
904
784
  _this2.activeWt = wt;
905
-
906
785
  _this2.instance.runHooks('beforeOnCellMouseOver', event, visualCoords, TD, controller);
907
-
908
786
  if ((0, _event.isImmediatePropagationStopped)(event)) {
909
787
  return;
910
788
  }
911
-
912
789
  if (priv.mouseDown) {
913
790
  (0, _mouseEventHandler.handleMouseEvent)(event, {
914
791
  coords: visualCoords,
@@ -919,38 +796,30 @@ var TableView = /*#__PURE__*/function () {
919
796
  }
920
797
  });
921
798
  }
922
-
923
799
  _this2.instance.runHooks('afterOnCellMouseOver', event, visualCoords, TD);
924
-
925
800
  _this2.activeWt = _this2._wt;
926
801
  },
927
802
  onCellMouseUp: function onCellMouseUp(event, coords, TD, wt) {
928
803
  var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
929
-
930
804
  _this2.activeWt = wt;
805
+ _this2.instance.runHooks('beforeOnCellMouseUp', event, visualCoords, TD);
931
806
 
932
- _this2.instance.runHooks('beforeOnCellMouseUp', event, visualCoords, TD); // TODO: The second condition check is a workaround. Callback corresponding the method `updateSettings`
807
+ // TODO: The second condition check is a workaround. Callback corresponding the method `updateSettings`
933
808
  // disable plugin and enable it again. Disabling plugin closes the menu. Thus, calling the
934
809
  // `updateSettings` in a body of any callback executed right after some context-menu action
935
810
  // breaks the table (#7231).
936
-
937
-
938
811
  if ((0, _event.isImmediatePropagationStopped)(event) || _this2.instance.isDestroyed) {
939
812
  return;
940
813
  }
941
-
942
814
  _this2.instance.runHooks('afterOnCellMouseUp', event, visualCoords, TD);
943
-
944
815
  _this2.activeWt = _this2._wt;
945
816
  },
946
817
  onCellCornerMouseDown: function onCellCornerMouseDown(event) {
947
818
  event.preventDefault();
948
-
949
819
  _this2.instance.runHooks('afterOnCellCornerMouseDown', event);
950
820
  },
951
821
  onCellCornerDblClick: function onCellCornerDblClick(event) {
952
822
  event.preventDefault();
953
-
954
823
  _this2.instance.runHooks('afterOnCellCornerDblClick', event);
955
824
  },
956
825
  beforeDraw: function beforeDraw(force, skipRender) {
@@ -971,31 +840,23 @@ var TableView = /*#__PURE__*/function () {
971
840
  onBeforeHighlightingRowHeader: function onBeforeHighlightingRowHeader(renderableRow, headerLevel, highlightMeta) {
972
841
  var rowMapper = _this2.instance.rowIndexMapper;
973
842
  var visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
974
-
975
843
  var newVisualRow = _this2.instance.runHooks('beforeHighlightingRowHeader', visualRow, headerLevel, highlightMeta);
976
-
977
844
  return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
978
845
  },
979
846
  onBeforeHighlightingColumnHeader: function onBeforeHighlightingColumnHeader(renderableColumn, headerLevel, highlightMeta) {
980
847
  var columnMapper = _this2.instance.columnIndexMapper;
981
848
  var visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
982
-
983
849
  var newVisualColumn = _this2.instance.runHooks('beforeHighlightingColumnHeader', visualColumn, headerLevel, highlightMeta);
984
-
985
850
  return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
986
851
  },
987
852
  onAfterDrawSelection: function onAfterDrawSelection(currentRow, currentColumn, layerLevel) {
988
853
  var cornersOfSelection;
989
-
990
854
  var _this2$translateFromR3 = _this2.translateFromRenderableToVisualIndex(currentRow, currentColumn),
991
- _this2$translateFromR4 = _slicedToArray(_this2$translateFromR3, 2),
992
- visualRowIndex = _this2$translateFromR4[0],
993
- visualColumnIndex = _this2$translateFromR4[1];
994
-
855
+ _this2$translateFromR4 = _slicedToArray(_this2$translateFromR3, 2),
856
+ visualRowIndex = _this2$translateFromR4[0],
857
+ visualColumnIndex = _this2$translateFromR4[1];
995
858
  var selectedRange = _this2.instance.selection.getSelectedRange();
996
-
997
859
  var selectionRangeSize = selectedRange.size();
998
-
999
860
  if (selectionRangeSize > 0) {
1000
861
  // Selection layers are stored from the "oldest" to the "newest". We should calculate the offset.
1001
862
  // Please look at the `SelectedRange` class and it's method for getting selection's layer for more information.
@@ -1003,16 +864,14 @@ var TableView = /*#__PURE__*/function () {
1003
864
  var selectionForLayer = selectedRange.peekByIndex(selectionOffset);
1004
865
  cornersOfSelection = [selectionForLayer.from.row, selectionForLayer.from.col, selectionForLayer.to.row, selectionForLayer.to.col];
1005
866
  }
1006
-
1007
867
  return _this2.instance.runHooks('afterDrawSelection', visualRowIndex, visualColumnIndex, cornersOfSelection, layerLevel);
1008
868
  },
1009
869
  onBeforeDrawBorders: function onBeforeDrawBorders(corners, borderClassName) {
1010
870
  var _corners = _slicedToArray(corners, 4),
1011
- startRenderableRow = _corners[0],
1012
- startRenderableColumn = _corners[1],
1013
- endRenderableRow = _corners[2],
1014
- endRenderableColumn = _corners[3];
1015
-
871
+ startRenderableRow = _corners[0],
872
+ startRenderableColumn = _corners[1],
873
+ endRenderableRow = _corners[2],
874
+ endRenderableColumn = _corners[3];
1016
875
  var visualCorners = [_this2.instance.rowIndexMapper.getVisualFromRenderableIndex(startRenderableRow), _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(startRenderableColumn), _this2.instance.rowIndexMapper.getVisualFromRenderableIndex(endRenderableRow), _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(endRenderableColumn)];
1017
876
  return _this2.instance.runHooks('beforeDrawBorders', visualCorners, borderClassName);
1018
877
  },
@@ -1024,7 +883,6 @@ var TableView = /*#__PURE__*/function () {
1024
883
  },
1025
884
  onBeforeStretchingColumnWidth: function onBeforeStretchingColumnWidth(stretchedWidth, renderedColumnIndex) {
1026
885
  var visualColumnIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
1027
-
1028
886
  return _this2.instance.runHooks('beforeStretchingColumnWidth', stretchedWidth, visualColumnIndex);
1029
887
  },
1030
888
  onModifyRowHeaderWidth: function onModifyRowHeaderWidth(rowHeaderWidth) {
@@ -1032,37 +890,32 @@ var TableView = /*#__PURE__*/function () {
1032
890
  },
1033
891
  onModifyGetCellCoords: function onModifyGetCellCoords(renderableRowIndex, renderableColumnIndex, topmost) {
1034
892
  var rowMapper = _this2.instance.rowIndexMapper;
1035
- var columnMapper = _this2.instance.columnIndexMapper; // Callback handle also headers. We shouldn't translate them.
893
+ var columnMapper = _this2.instance.columnIndexMapper;
1036
894
 
895
+ // Callback handle also headers. We shouldn't translate them.
1037
896
  var visualColumnIndex = renderableColumnIndex >= 0 ? columnMapper.getVisualFromRenderableIndex(renderableColumnIndex) : renderableColumnIndex;
1038
897
  var visualRowIndex = renderableRowIndex >= 0 ? rowMapper.getVisualFromRenderableIndex(renderableRowIndex) : renderableRowIndex;
1039
-
1040
898
  var visualIndexes = _this2.instance.runHooks('modifyGetCellCoords', visualRowIndex, visualColumnIndex, topmost);
1041
-
1042
899
  if (Array.isArray(visualIndexes)) {
1043
900
  var _visualIndexes = _slicedToArray(visualIndexes, 4),
1044
- visualRowFrom = _visualIndexes[0],
1045
- visualColumnFrom = _visualIndexes[1],
1046
- visualRowTo = _visualIndexes[2],
1047
- visualColumnTo = _visualIndexes[3]; // Result of the hook is handled by the Walkontable (renderable indexes).
1048
-
901
+ visualRowFrom = _visualIndexes[0],
902
+ visualColumnFrom = _visualIndexes[1],
903
+ visualRowTo = _visualIndexes[2],
904
+ visualColumnTo = _visualIndexes[3];
1049
905
 
906
+ // Result of the hook is handled by the Walkontable (renderable indexes).
1050
907
  return [visualRowFrom >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowFrom, 1)) : visualRowFrom, visualColumnFrom >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnFrom, 1)) : visualColumnFrom, visualRowTo >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowTo, -1)) : visualRowTo, visualColumnTo >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnTo, -1)) : visualColumnTo];
1051
908
  }
1052
909
  },
1053
910
  viewportRowCalculatorOverride: function viewportRowCalculatorOverride(calc) {
1054
911
  var viewportOffset = _this2.settings.viewportRowRenderingOffset;
1055
-
1056
912
  if (viewportOffset === 'auto' && _this2.settings.fixedRowsTop) {
1057
913
  viewportOffset = 10;
1058
914
  }
1059
-
1060
915
  if (viewportOffset > 0 || viewportOffset === 'auto') {
1061
916
  var renderableRows = _this2.countRenderableRows();
1062
-
1063
917
  var firstRenderedRow = calc.startRow;
1064
918
  var lastRenderedRow = calc.endRow;
1065
-
1066
919
  if (typeof viewportOffset === 'number') {
1067
920
  calc.startRow = Math.max(firstRenderedRow - viewportOffset, 0);
1068
921
  calc.endRow = Math.min(lastRenderedRow + viewportOffset, renderableRows - 1);
@@ -1072,34 +925,27 @@ var TableView = /*#__PURE__*/function () {
1072
925
  calc.endRow = Math.min(lastRenderedRow + offset, renderableRows - 1);
1073
926
  }
1074
927
  }
1075
-
1076
928
  _this2.instance.runHooks('afterViewportRowCalculatorOverride', calc);
1077
929
  },
1078
930
  viewportColumnCalculatorOverride: function viewportColumnCalculatorOverride(calc) {
1079
931
  var viewportOffset = _this2.settings.viewportColumnRenderingOffset;
1080
-
1081
932
  if (viewportOffset === 'auto' && _this2.settings.fixedColumnsStart) {
1082
933
  viewportOffset = 10;
1083
934
  }
1084
-
1085
935
  if (viewportOffset > 0 || viewportOffset === 'auto') {
1086
936
  var renderableColumns = _this2.countRenderableColumns();
1087
-
1088
937
  var firstRenderedColumn = calc.startColumn;
1089
938
  var lastRenderedColumn = calc.endColumn;
1090
-
1091
939
  if (typeof viewportOffset === 'number') {
1092
940
  calc.startColumn = Math.max(firstRenderedColumn - viewportOffset, 0);
1093
941
  calc.endColumn = Math.min(lastRenderedColumn + viewportOffset, renderableColumns - 1);
1094
942
  }
1095
-
1096
943
  if (viewportOffset === 'auto') {
1097
944
  var offset = Math.ceil(lastRenderedColumn / renderableColumns * 6);
1098
945
  calc.startColumn = Math.max(firstRenderedColumn - offset, 0);
1099
946
  calc.endColumn = Math.min(lastRenderedColumn + offset, renderableColumns - 1);
1100
947
  }
1101
948
  }
1102
-
1103
949
  _this2.instance.runHooks('afterViewportColumnCalculatorOverride', calc);
1104
950
  },
1105
951
  rowHeaderWidth: function rowHeaderWidth() {
@@ -1107,19 +953,17 @@ var TableView = /*#__PURE__*/function () {
1107
953
  },
1108
954
  columnHeaderHeight: function columnHeaderHeight() {
1109
955
  var columnHeaderHeight = _this2.instance.runHooks('modifyColumnHeaderHeight');
1110
-
1111
956
  return _this2.settings.columnHeaderHeight || columnHeaderHeight;
1112
957
  }
1113
958
  };
1114
959
  this.instance.runHooks('beforeInitWalkontable', walkontableConfig);
1115
960
  this._wt = new _src.default(walkontableConfig);
1116
961
  this.activeWt = this._wt;
1117
- var spreader = this._wt.wtTable.spreader; // We have to cache width and height after Walkontable initialization.
1118
-
962
+ var spreader = this._wt.wtTable.spreader;
963
+ // We have to cache width and height after Walkontable initialization.
1119
964
  var _this$instance$rootEl = this.instance.rootElement.getBoundingClientRect(),
1120
- width = _this$instance$rootEl.width,
1121
- height = _this$instance$rootEl.height;
1122
-
965
+ width = _this$instance$rootEl.width,
966
+ height = _this$instance$rootEl.height;
1123
967
  this.setLastSize(width, height);
1124
968
  this.eventManager.addEventListener(spreader, 'mousedown', function (event) {
1125
969
  // right mouse button exactly on spreader means right click on the right hand side of vertical scrollbar
@@ -1137,12 +981,12 @@ var TableView = /*#__PURE__*/function () {
1137
981
  if (_this2.settings.observeDOMVisibility) {
1138
982
  if (_this2._wt.drawInterrupted) {
1139
983
  _this2.instance.forceFullRender = true;
1140
-
1141
984
  _this2.render();
1142
985
  }
1143
986
  }
1144
987
  });
1145
988
  }
989
+
1146
990
  /**
1147
991
  * Checks if it's possible to create text selection in element.
1148
992
  *
@@ -1150,69 +994,63 @@ var TableView = /*#__PURE__*/function () {
1150
994
  * @param {HTMLElement} el The element to check.
1151
995
  * @returns {boolean}
1152
996
  */
1153
-
1154
997
  }, {
1155
998
  key: "isTextSelectionAllowed",
1156
999
  value: function isTextSelectionAllowed(el) {
1157
1000
  if ((0, _element.isInput)(el)) {
1158
1001
  return true;
1159
1002
  }
1160
-
1161
1003
  var isChildOfTableBody = (0, _element.isChildOf)(el, this.instance.view._wt.wtTable.spreader);
1162
-
1163
1004
  if (this.settings.fragmentSelection === true && isChildOfTableBody) {
1164
1005
  return true;
1165
1006
  }
1166
-
1167
1007
  if (this.settings.fragmentSelection === 'cell' && this.isSelectedOnlyCell() && isChildOfTableBody) {
1168
1008
  return true;
1169
1009
  }
1170
-
1171
1010
  if (!this.settings.fragmentSelection && this.isCellEdited() && this.isSelectedOnlyCell()) {
1172
1011
  return true;
1173
1012
  }
1174
-
1175
1013
  return false;
1176
1014
  }
1015
+
1177
1016
  /**
1178
1017
  * Checks if user's been called mousedown.
1179
1018
  *
1180
1019
  * @private
1181
1020
  * @returns {boolean}
1182
1021
  */
1183
-
1184
1022
  }, {
1185
1023
  key: "isMouseDown",
1186
1024
  value: function isMouseDown() {
1187
1025
  return privatePool.get(this).mouseDown;
1188
1026
  }
1027
+
1189
1028
  /**
1190
1029
  * Check if selected only one cell.
1191
1030
  *
1192
1031
  * @private
1193
1032
  * @returns {boolean}
1194
1033
  */
1195
-
1196
1034
  }, {
1197
1035
  key: "isSelectedOnlyCell",
1198
1036
  value: function isSelectedOnlyCell() {
1199
1037
  var _this$instance$getSel, _this$instance$getSel2;
1200
-
1201
1038
  return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.isSingle()) !== null && _this$instance$getSel !== void 0 ? _this$instance$getSel : false;
1202
1039
  }
1040
+
1203
1041
  /**
1204
1042
  * Checks if active cell is editing.
1205
1043
  *
1206
1044
  * @private
1207
1045
  * @returns {boolean}
1208
1046
  */
1209
-
1210
1047
  }, {
1211
1048
  key: "isCellEdited",
1212
1049
  value: function isCellEdited() {
1213
1050
  var activeEditor = this.instance.getActiveEditor();
1214
1051
  return activeEditor && activeEditor.isOpened();
1215
1052
  }
1053
+
1216
1054
  /**
1217
1055
  * `beforeDraw` callback.
1218
1056
  *
@@ -1222,7 +1060,6 @@ var TableView = /*#__PURE__*/function () {
1222
1060
  * @param {object} skipRender Object with `skipRender` property, if it is set to `true ` the next rendering
1223
1061
  * cycle will be skipped.
1224
1062
  */
1225
-
1226
1063
  }, {
1227
1064
  key: "beforeRender",
1228
1065
  value: function beforeRender(force, skipRender) {
@@ -1231,6 +1068,7 @@ var TableView = /*#__PURE__*/function () {
1231
1068
  this.instance.runHooks('beforeViewRender', this.instance.forceFullRender, skipRender);
1232
1069
  }
1233
1070
  }
1071
+
1234
1072
  /**
1235
1073
  * `afterRender` callback.
1236
1074
  *
@@ -1238,7 +1076,6 @@ var TableView = /*#__PURE__*/function () {
1238
1076
  * @param {boolean} force If `true` rendering was triggered by a change of settings or data or `false` if
1239
1077
  * rendering was triggered by scrolling or moving selection.
1240
1078
  */
1241
-
1242
1079
  }, {
1243
1080
  key: "afterRender",
1244
1081
  value: function afterRender(force) {
@@ -1247,6 +1084,7 @@ var TableView = /*#__PURE__*/function () {
1247
1084
  this.instance.runHooks('afterViewRender', this.instance.forceFullRender);
1248
1085
  }
1249
1086
  }
1087
+
1250
1088
  /**
1251
1089
  * Append row header to a TH element.
1252
1090
  *
@@ -1254,24 +1092,21 @@ var TableView = /*#__PURE__*/function () {
1254
1092
  * @param {number} visualRowIndex The visual row index.
1255
1093
  * @param {HTMLTableHeaderCellElement} TH The table header element.
1256
1094
  */
1257
-
1258
1095
  }, {
1259
1096
  key: "appendRowHeader",
1260
1097
  value: function appendRowHeader(visualRowIndex, TH) {
1261
1098
  if (TH.firstChild) {
1262
1099
  var container = TH.firstChild;
1263
-
1264
1100
  if (!(0, _element.hasClass)(container, 'relative')) {
1265
1101
  (0, _element.empty)(TH);
1266
1102
  this.appendRowHeader(visualRowIndex, TH);
1267
1103
  return;
1268
1104
  }
1269
-
1270
1105
  this.updateCellHeader(container.querySelector('.rowHeader'), visualRowIndex, this.instance.getRowHeader);
1271
1106
  } else {
1272
1107
  var _this$instance4 = this.instance,
1273
- rootDocument = _this$instance4.rootDocument,
1274
- getRowHeader = _this$instance4.getRowHeader;
1108
+ rootDocument = _this$instance4.rootDocument,
1109
+ getRowHeader = _this$instance4.getRowHeader;
1275
1110
  var div = rootDocument.createElement('div');
1276
1111
  var span = rootDocument.createElement('span');
1277
1112
  div.className = 'relative';
@@ -1280,28 +1115,31 @@ var TableView = /*#__PURE__*/function () {
1280
1115
  div.appendChild(span);
1281
1116
  TH.appendChild(div);
1282
1117
  }
1283
-
1284
1118
  this.instance.runHooks('afterGetRowHeader', visualRowIndex, TH);
1285
1119
  }
1120
+
1286
1121
  /**
1287
1122
  * Append column header to a TH element.
1288
1123
  *
1289
1124
  * @private
1290
1125
  * @param {number} visualColumnIndex Visual column index.
1291
- * @param {HTMLTableHeaderCellElement} TH The table header element.
1126
+ * @param {HTMLTableCellElement} TH The table header element.
1127
+ * @param {Function} label The function that returns the header label.
1128
+ * @param {number} [headerLevel=0] The index of header level counting from the top (positive
1129
+ * values counting from 0 to N).
1292
1130
  */
1293
-
1294
1131
  }, {
1295
1132
  key: "appendColHeader",
1296
1133
  value: function appendColHeader(visualColumnIndex, TH) {
1134
+ var label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.instance.getColHeader;
1135
+ var headerLevel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
1297
1136
  if (TH.firstChild) {
1298
1137
  var container = TH.firstChild;
1299
-
1300
1138
  if ((0, _element.hasClass)(container, 'relative')) {
1301
- this.updateCellHeader(container.querySelector('.colHeader'), visualColumnIndex, this.instance.getColHeader);
1139
+ this.updateCellHeader(container.querySelector('.colHeader'), visualColumnIndex, label);
1302
1140
  } else {
1303
1141
  (0, _element.empty)(TH);
1304
- this.appendColHeader(visualColumnIndex, TH);
1142
+ this.appendColHeader(visualColumnIndex, TH, headerLevel);
1305
1143
  }
1306
1144
  } else {
1307
1145
  var rootDocument = this.instance.rootDocument;
@@ -1309,13 +1147,13 @@ var TableView = /*#__PURE__*/function () {
1309
1147
  var span = rootDocument.createElement('span');
1310
1148
  div.className = 'relative';
1311
1149
  span.className = 'colHeader';
1312
- this.updateCellHeader(span, visualColumnIndex, this.instance.getColHeader);
1150
+ this.updateCellHeader(span, visualColumnIndex, label);
1313
1151
  div.appendChild(span);
1314
1152
  TH.appendChild(div);
1315
1153
  }
1316
-
1317
- this.instance.runHooks('afterGetColHeader', visualColumnIndex, TH);
1154
+ this.instance.runHooks('afterGetColHeader', visualColumnIndex, TH, headerLevel);
1318
1155
  }
1156
+
1319
1157
  /**
1320
1158
  * Updates header cell content.
1321
1159
  *
@@ -1324,15 +1162,13 @@ var TableView = /*#__PURE__*/function () {
1324
1162
  * @param {number} index Row index or column index.
1325
1163
  * @param {Function} content Function which should be returns content for this cell.
1326
1164
  */
1327
-
1328
1165
  }, {
1329
1166
  key: "updateCellHeader",
1330
1167
  value: function updateCellHeader(element, index, content) {
1331
1168
  var renderedIndex = index;
1169
+ var parentOverlay = this._wt.wtOverlays.getParentOverlay(element) || this._wt;
1332
1170
 
1333
- var parentOverlay = this._wt.wtOverlays.getParentOverlay(element) || this._wt; // prevent wrong calculations from SampleGenerator
1334
-
1335
-
1171
+ // prevent wrong calculations from SampleGenerator
1336
1172
  if (element.parentNode) {
1337
1173
  if ((0, _element.hasClass)(element, 'colHeader')) {
1338
1174
  renderedIndex = parentOverlay.wtTable.columnFilter.sourceToRendered(index);
@@ -1340,7 +1176,6 @@ var TableView = /*#__PURE__*/function () {
1340
1176
  renderedIndex = parentOverlay.wtTable.rowFilter.sourceToRendered(index);
1341
1177
  }
1342
1178
  }
1343
-
1344
1179
  if (renderedIndex > -1) {
1345
1180
  (0, _element.fastInnerHTML)(element, content(index));
1346
1181
  } else {
@@ -1349,6 +1184,7 @@ var TableView = /*#__PURE__*/function () {
1349
1184
  (0, _element.addClass)(element, 'cornerHeader');
1350
1185
  }
1351
1186
  }
1187
+
1352
1188
  /**
1353
1189
  * Given a element's left (or right in RTL mode) position relative to the viewport, returns maximum
1354
1190
  * element width until the right (or left) edge of the viewport (before scrollbar).
@@ -1357,15 +1193,14 @@ var TableView = /*#__PURE__*/function () {
1357
1193
  * @param {number} inlineOffset The left (or right in RTL mode) offset.
1358
1194
  * @returns {number}
1359
1195
  */
1360
-
1361
1196
  }, {
1362
1197
  key: "maximumVisibleElementWidth",
1363
1198
  value: function maximumVisibleElementWidth(inlineOffset) {
1364
1199
  var workspaceWidth = this._wt.wtViewport.getWorkspaceWidth();
1365
-
1366
1200
  var maxWidth = workspaceWidth - inlineOffset;
1367
1201
  return maxWidth > 0 ? maxWidth : 0;
1368
1202
  }
1203
+
1369
1204
  /**
1370
1205
  * Given a element's top position relative to the viewport, returns maximum element height until the bottom
1371
1206
  * edge of the viewport (before scrollbar).
@@ -1374,22 +1209,20 @@ var TableView = /*#__PURE__*/function () {
1374
1209
  * @param {number} topOffset The top offset.
1375
1210
  * @returns {number}
1376
1211
  */
1377
-
1378
1212
  }, {
1379
1213
  key: "maximumVisibleElementHeight",
1380
1214
  value: function maximumVisibleElementHeight(topOffset) {
1381
1215
  var workspaceHeight = this._wt.wtViewport.getWorkspaceHeight();
1382
-
1383
1216
  var maxHeight = workspaceHeight - topOffset;
1384
1217
  return maxHeight > 0 ? maxHeight : 0;
1385
1218
  }
1219
+
1386
1220
  /**
1387
1221
  * Sets new dimensions of the container.
1388
1222
  *
1389
1223
  * @param {number} width The table width.
1390
1224
  * @param {number} height The table height.
1391
1225
  */
1392
-
1393
1226
  }, {
1394
1227
  key: "setLastSize",
1395
1228
  value: function setLastSize(width, height) {
@@ -1398,12 +1231,12 @@ var TableView = /*#__PURE__*/function () {
1398
1231
  priv.lastWidth = _ref2[0];
1399
1232
  priv.lastHeight = _ref2[1];
1400
1233
  }
1234
+
1401
1235
  /**
1402
1236
  * Returns cached dimensions.
1403
1237
  *
1404
1238
  * @returns {object}
1405
1239
  */
1406
-
1407
1240
  }, {
1408
1241
  key: "getLastSize",
1409
1242
  value: function getLastSize() {
@@ -1413,67 +1246,64 @@ var TableView = /*#__PURE__*/function () {
1413
1246
  height: priv.lastHeight
1414
1247
  };
1415
1248
  }
1249
+
1416
1250
  /**
1417
1251
  * Returns the first fully visible row in the table viewport.
1418
1252
  *
1419
1253
  * @returns {number}
1420
1254
  */
1421
-
1422
1255
  }, {
1423
1256
  key: "getFirstFullyVisibleRow",
1424
1257
  value: function getFirstFullyVisibleRow() {
1425
1258
  return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleRow());
1426
1259
  }
1260
+
1427
1261
  /**
1428
1262
  * Returns the last fully visible row in the table viewport.
1429
1263
  *
1430
1264
  * @returns {number}
1431
1265
  */
1432
-
1433
1266
  }, {
1434
1267
  key: "getLastFullyVisibleRow",
1435
1268
  value: function getLastFullyVisibleRow() {
1436
1269
  return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleRow());
1437
1270
  }
1271
+
1438
1272
  /**
1439
1273
  * Returns the first fully visible column in the table viewport.
1440
1274
  *
1441
1275
  * @returns {number}
1442
1276
  */
1443
-
1444
1277
  }, {
1445
1278
  key: "getFirstFullyVisibleColumn",
1446
1279
  value: function getFirstFullyVisibleColumn() {
1447
1280
  return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleColumn());
1448
1281
  }
1282
+
1449
1283
  /**
1450
1284
  * Returns the last fully visible column in the table viewport.
1451
1285
  *
1452
1286
  * @returns {number}
1453
1287
  */
1454
-
1455
1288
  }, {
1456
1289
  key: "getLastFullyVisibleColumn",
1457
1290
  value: function getLastFullyVisibleColumn() {
1458
1291
  return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleColumn());
1459
1292
  }
1293
+
1460
1294
  /**
1461
1295
  * Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
1462
1296
  *
1463
1297
  * @private
1464
1298
  */
1465
-
1466
1299
  }, {
1467
1300
  key: "destroy",
1468
1301
  value: function destroy() {
1469
1302
  this._wt.destroy();
1470
-
1471
1303
  this.eventManager.destroy();
1472
1304
  }
1473
1305
  }]);
1474
-
1475
1306
  return TableView;
1476
1307
  }();
1477
-
1478
1308
  var _default = TableView;
1479
1309
  exports.default = _default;