handsontable 0.0.0-next-9379dd1-20231020 → 0.0.0-next-9059914-20231025

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (414) hide show
  1. package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
  2. package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
  3. package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
  4. package/3rdparty/walkontable/src/cell/coords.js +11 -50
  5. package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
  6. package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
  7. package/3rdparty/walkontable/src/cell/range.js +7 -38
  8. package/3rdparty/walkontable/src/cell/range.mjs +7 -38
  9. package/3rdparty/walkontable/src/core/_base.js +3 -9
  10. package/3rdparty/walkontable/src/core/_base.mjs +3 -9
  11. package/3rdparty/walkontable/src/core/clone.js +2 -2
  12. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  13. package/3rdparty/walkontable/src/core/core.js +2 -3
  14. package/3rdparty/walkontable/src/core/core.mjs +2 -3
  15. package/3rdparty/walkontable/src/event.js +10 -12
  16. package/3rdparty/walkontable/src/event.mjs +10 -12
  17. package/3rdparty/walkontable/src/facade/core.js +2 -2
  18. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  19. package/3rdparty/walkontable/src/index.js +2 -10
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +2 -13
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +3 -14
  23. package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
  25. package/3rdparty/walkontable/src/overlay/top.js +6 -2
  26. package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/cells.js +0 -10
  28. package/3rdparty/walkontable/src/renderer/cells.mjs +1 -11
  29. package/3rdparty/walkontable/src/renderer/columnHeaders.js +0 -10
  30. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -11
  31. package/3rdparty/walkontable/src/renderer/rowHeaders.js +0 -5
  32. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +0 -5
  33. package/3rdparty/walkontable/src/renderer/rows.js +0 -13
  34. package/3rdparty/walkontable/src/renderer/rows.mjs +0 -13
  35. package/3rdparty/walkontable/src/renderer/table.js +0 -9
  36. package/3rdparty/walkontable/src/renderer/table.mjs +0 -9
  37. package/3rdparty/walkontable/src/scroll.js +0 -2
  38. package/3rdparty/walkontable/src/scroll.mjs +0 -2
  39. package/3rdparty/walkontable/src/selection.js +295 -0
  40. package/3rdparty/walkontable/src/selection.mjs +290 -0
  41. package/3rdparty/walkontable/src/settings.js +4 -13
  42. package/3rdparty/walkontable/src/settings.mjs +4 -13
  43. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
  44. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
  45. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
  46. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
  47. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
  48. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
  49. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
  50. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
  51. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
  52. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
  53. package/3rdparty/walkontable/src/table.js +78 -19
  54. package/3rdparty/walkontable/src/table.mjs +79 -20
  55. package/base.js +2 -2
  56. package/base.mjs +2 -2
  57. package/cellTypes/dateType/dateType.d.ts +3 -3
  58. package/cellTypes/dateType/dateType.js +2 -2
  59. package/cellTypes/dateType/dateType.mjs +2 -2
  60. package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
  61. package/cellTypes/handsontableType/handsontableType.js +2 -2
  62. package/cellTypes/handsontableType/handsontableType.mjs +2 -2
  63. package/cellTypes/index.d.ts +0 -3
  64. package/cellTypes/index.js +0 -4
  65. package/cellTypes/index.mjs +1 -3
  66. package/core.d.ts +4 -9
  67. package/core.js +327 -285
  68. package/core.mjs +327 -285
  69. package/dataMap/metaManager/metaSchema.js +0 -65
  70. package/dataMap/metaManager/metaSchema.mjs +0 -65
  71. package/dataMap/metaManager/mods/extendMetaProperties.js +1 -7
  72. package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -7
  73. package/dataMap/replaceData.js +0 -5
  74. package/dataMap/replaceData.mjs +0 -5
  75. package/dist/handsontable.css +5 -40
  76. package/dist/handsontable.full.css +5 -40
  77. package/dist/handsontable.full.js +8038 -12837
  78. package/dist/handsontable.full.min.css +4 -4
  79. package/dist/handsontable.full.min.js +141 -141
  80. package/dist/handsontable.js +11488 -16287
  81. package/dist/handsontable.min.css +3 -3
  82. package/dist/handsontable.min.js +21 -21
  83. package/dist/languages/all.js +2 -6
  84. package/dist/languages/all.min.js +1 -1
  85. package/dist/languages/en-US.js +1 -3
  86. package/dist/languages/en-US.min.js +1 -1
  87. package/dist/languages/pl-PL.js +1 -3
  88. package/dist/languages/pl-PL.min.js +1 -1
  89. package/editorManager.js +87 -15
  90. package/editorManager.mjs +87 -16
  91. package/editors/autocompleteEditor/autocompleteEditor.js +2 -53
  92. package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -54
  93. package/editors/dateEditor/dateEditor.js +7 -26
  94. package/editors/dateEditor/dateEditor.mjs +8 -27
  95. package/editors/handsontableEditor/handsontableEditor.js +1 -9
  96. package/editors/handsontableEditor/handsontableEditor.mjs +2 -10
  97. package/editors/textEditor/textEditor.js +27 -19
  98. package/editors/textEditor/textEditor.mjs +30 -22
  99. package/helpers/dom/element.js +9 -188
  100. package/helpers/dom/element.mjs +9 -182
  101. package/helpers/mixed.js +1 -1
  102. package/helpers/mixed.mjs +1 -1
  103. package/helpers/number.d.ts +0 -1
  104. package/helpers/number.js +0 -18
  105. package/helpers/number.mjs +0 -17
  106. package/i18n/constants.js +1 -7
  107. package/i18n/constants.mjs +1 -4
  108. package/i18n/languages/en-US.js +1 -3
  109. package/i18n/languages/en-US.mjs +1 -3
  110. package/i18n/languages/pl-PL.js +1 -3
  111. package/i18n/languages/pl-PL.mjs +1 -3
  112. package/languages/all.js +2 -6
  113. package/languages/en-US.js +1 -3
  114. package/languages/en-US.mjs +1 -3
  115. package/languages/index.js +2 -6
  116. package/languages/pl-PL.js +1 -3
  117. package/languages/pl-PL.mjs +1 -3
  118. package/package.json +99 -116
  119. package/pluginHooks.d.ts +1 -12
  120. package/pluginHooks.js +1 -152
  121. package/pluginHooks.mjs +1 -152
  122. package/plugins/collapsibleColumns/collapsibleColumns.js +4 -74
  123. package/plugins/collapsibleColumns/collapsibleColumns.mjs +5 -75
  124. package/plugins/columnSorting/columnSorting.js +0 -43
  125. package/plugins/columnSorting/columnSorting.mjs +3 -44
  126. package/plugins/columnSorting/index.js +1 -3
  127. package/plugins/columnSorting/index.mjs +1 -1
  128. package/plugins/comments/commentEditor.js +0 -1
  129. package/plugins/comments/commentEditor.mjs +0 -1
  130. package/plugins/comments/comments.js +189 -252
  131. package/plugins/comments/comments.mjs +190 -251
  132. package/plugins/contextMenu/commandExecutor.js +3 -2
  133. package/plugins/contextMenu/commandExecutor.mjs +3 -2
  134. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  135. package/plugins/contextMenu/contextMenu.js +36 -75
  136. package/plugins/contextMenu/contextMenu.mjs +35 -74
  137. package/plugins/contextMenu/{menu/cursor.mjs → cursor.js} +10 -4
  138. package/plugins/contextMenu/{menu/cursor.js → cursor.mjs} +4 -6
  139. package/plugins/contextMenu/itemsFactory.js +3 -2
  140. package/plugins/contextMenu/itemsFactory.mjs +4 -3
  141. package/plugins/contextMenu/{menu/menu.js → menu.js} +308 -96
  142. package/plugins/contextMenu/{menu/menu.mjs → menu.mjs} +309 -97
  143. package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
  144. package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
  145. package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
  146. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
  147. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
  148. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
  149. package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
  150. package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
  151. package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
  152. package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
  153. package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
  154. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
  155. package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
  156. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
  157. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
  158. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
  159. package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
  160. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
  161. package/plugins/contextMenu/{predefinedItems/index.js → predefinedItems.js} +14 -14
  162. package/plugins/contextMenu/predefinedItems.mjs +68 -0
  163. package/plugins/contextMenu/utils.js +151 -35
  164. package/plugins/contextMenu/utils.mjs +144 -35
  165. package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
  166. package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
  167. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
  168. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
  169. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
  170. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
  171. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
  172. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
  173. package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
  174. package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
  175. package/plugins/copyPaste/copyPaste.js +78 -127
  176. package/plugins/copyPaste/copyPaste.mjs +79 -128
  177. package/plugins/copyPaste/focusableElement.js +186 -0
  178. package/plugins/copyPaste/focusableElement.mjs +180 -0
  179. package/plugins/customBorders/customBorders.js +20 -23
  180. package/plugins/customBorders/customBorders.mjs +21 -24
  181. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  182. package/plugins/dropdownMenu/dropdownMenu.js +38 -97
  183. package/plugins/dropdownMenu/dropdownMenu.mjs +37 -96
  184. package/plugins/filters/constants.mjs +1 -1
  185. package/plugins/filters/filters.js +14 -31
  186. package/plugins/filters/filters.mjs +14 -31
  187. package/plugins/filters/ui/select.js +3 -3
  188. package/plugins/filters/ui/select.mjs +2 -2
  189. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  190. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  191. package/plugins/manualColumnMove/manualColumnMove.js +1 -3
  192. package/plugins/manualColumnMove/manualColumnMove.mjs +1 -3
  193. package/plugins/mergeCells/mergeCells.js +16 -5
  194. package/plugins/mergeCells/mergeCells.mjs +16 -5
  195. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
  196. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
  197. package/plugins/nestedHeaders/nestedHeaders.js +10 -240
  198. package/plugins/nestedHeaders/nestedHeaders.mjs +11 -241
  199. package/plugins/nestedHeaders/stateManager/index.js +3 -102
  200. package/plugins/nestedHeaders/stateManager/index.mjs +3 -102
  201. package/plugins/nestedRows/nestedRows.js +0 -41
  202. package/plugins/nestedRows/nestedRows.mjs +0 -41
  203. package/plugins/nestedRows/ui/headers.js +0 -11
  204. package/plugins/nestedRows/ui/headers.mjs +1 -12
  205. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -8
  206. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -8
  207. package/renderers/baseRenderer/baseRenderer.js +0 -17
  208. package/renderers/baseRenderer/baseRenderer.mjs +1 -18
  209. package/renderers/checkboxRenderer/checkboxRenderer.js +4 -9
  210. package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -9
  211. package/renderers/index.d.ts +0 -9
  212. package/selection/highlight/constants.js +15 -0
  213. package/selection/highlight/constants.mjs +6 -0
  214. package/selection/highlight/highlight.js +71 -256
  215. package/selection/highlight/highlight.mjs +71 -250
  216. package/selection/highlight/types/activeHeader.js +8 -10
  217. package/selection/highlight/types/activeHeader.mjs +8 -10
  218. package/selection/highlight/types/area.js +18 -6
  219. package/selection/highlight/types/area.mjs +18 -6
  220. package/selection/highlight/types/{focus.js → cell.js} +7 -5
  221. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  222. package/selection/highlight/types/customSelection.js +9 -7
  223. package/selection/highlight/types/customSelection.mjs +9 -7
  224. package/selection/highlight/types/fill.js +7 -5
  225. package/selection/highlight/types/fill.mjs +7 -5
  226. package/selection/highlight/types/header.js +18 -9
  227. package/selection/highlight/types/header.mjs +18 -9
  228. package/selection/highlight/types/index.js +35 -0
  229. package/selection/highlight/types/index.mjs +31 -0
  230. package/selection/highlight/visualSelection.js +27 -31
  231. package/selection/highlight/visualSelection.mjs +27 -31
  232. package/selection/index.js +7 -4
  233. package/selection/index.mjs +3 -2
  234. package/selection/mouseEventHandler.js +1 -7
  235. package/selection/mouseEventHandler.mjs +1 -7
  236. package/selection/range.js +8 -8
  237. package/selection/range.mjs +8 -8
  238. package/selection/selection.js +152 -321
  239. package/selection/selection.mjs +151 -318
  240. package/selection/transformation.js +90 -232
  241. package/selection/transformation.mjs +90 -232
  242. package/selection/utils.js +21 -15
  243. package/selection/utils.mjs +21 -16
  244. package/settings.d.ts +0 -4
  245. package/shortcuts/context.js +2 -20
  246. package/shortcuts/context.mjs +3 -20
  247. package/shortcuts/manager.js +7 -25
  248. package/shortcuts/manager.mjs +7 -26
  249. package/shortcuts/recorder.js +3 -3
  250. package/shortcuts/recorder.mjs +3 -3
  251. package/shortcuts/utils.js +5 -19
  252. package/shortcuts/utils.mjs +4 -18
  253. package/tableView.js +13 -111
  254. package/tableView.mjs +14 -112
  255. package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
  256. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  257. package/3rdparty/walkontable/src/selection/constants.js +0 -62
  258. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  259. package/3rdparty/walkontable/src/selection/index.js +0 -26
  260. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  261. package/3rdparty/walkontable/src/selection/manager.js +0 -274
  262. package/3rdparty/walkontable/src/selection/manager.mjs +0 -269
  263. package/3rdparty/walkontable/src/selection/scanner.js +0 -270
  264. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
  265. package/3rdparty/walkontable/src/selection/selection.js +0 -101
  266. package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
  267. package/cellTypes/selectType/index.d.ts +0 -1
  268. package/cellTypes/selectType/index.js +0 -6
  269. package/cellTypes/selectType/index.mjs +0 -1
  270. package/cellTypes/selectType/selectType.d.ts +0 -14
  271. package/cellTypes/selectType/selectType.js +0 -13
  272. package/cellTypes/selectType/selectType.mjs +0 -8
  273. package/core/focusCatcher/focusDetector.js +0 -63
  274. package/core/focusCatcher/focusDetector.mjs +0 -59
  275. package/core/focusCatcher/index.js +0 -142
  276. package/core/focusCatcher/index.mjs +0 -138
  277. package/core/index.js +0 -9
  278. package/core/index.mjs +0 -1
  279. package/focusManager.d.ts +0 -12
  280. package/focusManager.js +0 -265
  281. package/focusManager.mjs +0 -261
  282. package/helpers/a11y.js +0 -79
  283. package/helpers/a11y.mjs +0 -38
  284. package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
  285. package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
  286. package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
  287. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
  288. package/plugins/comments/contextMenuItem/removeComment.js +0 -38
  289. package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
  290. package/plugins/contextMenu/menu/index.js +0 -9
  291. package/plugins/contextMenu/menu/index.mjs +0 -1
  292. package/plugins/contextMenu/menu/navigator.js +0 -152
  293. package/plugins/contextMenu/menu/navigator.mjs +0 -148
  294. package/plugins/contextMenu/menu/positioner.js +0 -213
  295. package/plugins/contextMenu/menu/positioner.mjs +0 -209
  296. package/plugins/contextMenu/menu/utils.js +0 -177
  297. package/plugins/contextMenu/menu/utils.mjs +0 -163
  298. package/plugins/contextMenu/predefinedItems/index.mjs +0 -68
  299. package/renderers/dateRenderer/dateRenderer.d.ts +0 -5
  300. package/renderers/dateRenderer/dateRenderer.js +0 -29
  301. package/renderers/dateRenderer/dateRenderer.mjs +0 -24
  302. package/renderers/dateRenderer/index.d.ts +0 -1
  303. package/renderers/dateRenderer/index.js +0 -6
  304. package/renderers/dateRenderer/index.mjs +0 -1
  305. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +0 -5
  306. package/renderers/handsontableRenderer/handsontableRenderer.js +0 -29
  307. package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -24
  308. package/renderers/handsontableRenderer/index.d.ts +0 -1
  309. package/renderers/handsontableRenderer/index.js +0 -6
  310. package/renderers/handsontableRenderer/index.mjs +0 -1
  311. package/renderers/selectRenderer/index.d.ts +0 -1
  312. package/renderers/selectRenderer/index.js +0 -6
  313. package/renderers/selectRenderer/index.mjs +0 -1
  314. package/renderers/selectRenderer/selectRenderer.d.ts +0 -5
  315. package/renderers/selectRenderer/selectRenderer.js +0 -27
  316. package/renderers/selectRenderer/selectRenderer.mjs +0 -22
  317. package/selection/highlight/types/areaLayered.js +0 -31
  318. package/selection/highlight/types/areaLayered.mjs +0 -26
  319. package/selection/highlight/types/column.js +0 -27
  320. package/selection/highlight/types/column.mjs +0 -22
  321. package/selection/highlight/types/row.js +0 -27
  322. package/selection/highlight/types/row.mjs +0 -22
  323. package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
  324. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
  325. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
  326. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  327. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  328. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
  329. package/shortcutContexts/commands/editor/index.js +0 -16
  330. package/shortcutContexts/commands/editor/index.mjs +0 -12
  331. package/shortcutContexts/commands/editor/open.js +0 -27
  332. package/shortcutContexts/commands/editor/open.mjs +0 -23
  333. package/shortcutContexts/commands/emptySelectedCells.js +0 -11
  334. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  335. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  336. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
  337. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -25
  338. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -21
  339. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  340. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  341. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  342. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
  343. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  344. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
  345. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  346. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
  347. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
  348. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
  349. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
  350. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
  351. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
  352. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
  353. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
  354. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
  355. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
  356. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
  357. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
  358. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
  359. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  360. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
  361. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  362. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
  363. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -25
  364. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -21
  365. package/shortcutContexts/commands/index.js +0 -35
  366. package/shortcutContexts/commands/index.mjs +0 -31
  367. package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
  368. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
  369. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -33
  370. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -29
  371. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  372. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  373. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
  374. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  375. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
  376. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  377. package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
  378. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  379. package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
  380. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  381. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
  382. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
  383. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
  384. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
  385. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
  386. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
  387. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
  388. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
  389. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
  390. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
  391. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
  392. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
  393. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
  394. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
  395. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
  396. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
  397. package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
  398. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
  399. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -33
  400. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -29
  401. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
  402. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
  403. package/shortcutContexts/commands/scrollToFocusedCell.js +0 -35
  404. package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -31
  405. package/shortcutContexts/commands/selectAll.js +0 -12
  406. package/shortcutContexts/commands/selectAll.mjs +0 -8
  407. package/shortcutContexts/constants.js +0 -13
  408. package/shortcutContexts/constants.mjs +0 -8
  409. package/shortcutContexts/editor.js +0 -25
  410. package/shortcutContexts/editor.mjs +0 -21
  411. package/shortcutContexts/grid.js +0 -163
  412. package/shortcutContexts/grid.mjs +0 -159
  413. package/shortcutContexts/index.js +0 -24
  414. package/shortcutContexts/index.mjs +0 -11
package/tableView.mjs CHANGED
@@ -10,13 +10,12 @@ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) {
10
10
  function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
11
11
  function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
12
12
  function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
13
- import { addClass, clearTextSelection, empty, fastInnerHTML, fastInnerText, getScrollbarWidth, hasClass, isChildOf, isInput, isOutsideInput, isVisible, setAttribute } from "./helpers/dom/element.mjs";
13
+ import { addClass, clearTextSelection, empty, fastInnerHTML, fastInnerText, getScrollbarWidth, hasClass, isChildOf, isInput, isOutsideInput, isVisible } from "./helpers/dom/element.mjs";
14
14
  import EventManager from "./eventManager.mjs";
15
15
  import { isImmediatePropagationStopped, isRightClick, isLeftClick } from "./helpers/dom/event.mjs";
16
16
  import Walkontable from "./3rdparty/walkontable/src/index.mjs";
17
17
  import { handleMouseEvent } from "./selection/mouseEventHandler.mjs";
18
18
  import { isRootInstance } from "./utils/rootInstance.mjs";
19
- import { A11Y_COLCOUNT, A11Y_MULTISELECTABLE, A11Y_PRESENTATION, A11Y_ROWCOUNT, A11Y_TREEGRID } from "./helpers/a11y.mjs";
20
19
  const privatePool = new WeakMap();
21
20
 
22
21
  /**
@@ -256,10 +255,6 @@ class TableView {
256
255
  if (this.instance.getSettings().tableClassName) {
257
256
  addClass(priv.table, this.instance.getSettings().tableClassName);
258
257
  }
259
- if (this.settings.ariaTags) {
260
- setAttribute(priv.table, [A11Y_PRESENTATION()]);
261
- setAttribute(rootElement, [A11Y_TREEGRID(), A11Y_ROWCOUNT(this.instance.countRows()), A11Y_COLCOUNT(this.instance.countCols()), A11Y_MULTISELECTABLE()]);
262
- }
263
258
  this.THEAD = rootDocument.createElement('THEAD');
264
259
  priv.table.appendChild(this.THEAD);
265
260
  this.TBODY = rootDocument.createElement('TBODY');
@@ -313,14 +308,11 @@ class TableView {
313
308
  });
314
309
  this.eventManager.addEventListener(documentElement, 'mouseup', event => {
315
310
  if (selection.isInProgress() && isLeftClick(event)) {
311
+ // is left mouse button
316
312
  selection.finish();
317
313
  }
318
314
  priv.mouseDown = false;
319
- const isOutsideInputElement = isOutsideInput(rootDocument.activeElement);
320
- if (!isOutsideInputElement) {
321
- return;
322
- }
323
- if (isOutsideInputElement || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !rootElement.contains(event.target) && !isRightClick(event)) {
315
+ if (isOutsideInput(rootDocument.activeElement) || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !rootElement.contains(event.target) && !isRightClick(event)) {
324
316
  this.instance.unlisten();
325
317
  }
326
318
  });
@@ -554,40 +546,6 @@ class TableView {
554
546
  return this.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
555
547
  }
556
548
 
557
- /**
558
- * The function returns the number of renderable column indexes within the passed range of the visual indexes.
559
- *
560
- * @param {number} columnStart The column visual start index.
561
- * @param {number} columnEnd The column visual end index.
562
- * @returns {number}
563
- */
564
- countRenderableColumnsInRange(columnStart, columnEnd) {
565
- let count = 0;
566
- for (let column = columnStart; column <= columnEnd; column++) {
567
- if (this.instance.columnIndexMapper.getRenderableFromVisualIndex(column) !== null) {
568
- count += 1;
569
- }
570
- }
571
- return count;
572
- }
573
-
574
- /**
575
- * The function returns the number of renderable row indexes within the passed range of the visual indexes.
576
- *
577
- * @param {number} rowStart The row visual start index.
578
- * @param {number} rowEnd The row visual end index.
579
- * @returns {number}
580
- */
581
- countRenderableRowsInRange(rowStart, rowEnd) {
582
- let count = 0;
583
- for (let row = rowStart; row <= rowEnd; row++) {
584
- if (this.instance.rowIndexMapper.getRenderableFromVisualIndex(row) !== null) {
585
- count += 1;
586
- }
587
- }
588
- return count;
589
- }
590
-
591
549
  /**
592
550
  * Checks if at least one cell than belongs to the main table is not covered by the top, left or
593
551
  * bottom overlay.
@@ -608,7 +566,6 @@ class TableView {
608
566
  initializeWalkontable() {
609
567
  const priv = privatePool.get(this);
610
568
  const walkontableConfig = {
611
- ariaTags: this.settings.ariaTags,
612
569
  rtlMode: this.instance.isRtl(),
613
570
  externalRowCalculator: this.instance.getPlugin('autoRowSize') && this.instance.getPlugin('autoRowSize').isEnabled(),
614
571
  table: priv.table,
@@ -808,78 +765,20 @@ class TableView {
808
765
  },
809
766
  beforeDraw: (force, skipRender) => this.beforeRender(force, skipRender),
810
767
  onDraw: force => this.afterRender(force),
811
- onBeforeViewportScrollVertically: renderableRow => {
812
- const rowMapper = this.instance.rowIndexMapper;
813
- const areColumnHeadersSelected = renderableRow < 0;
814
- let visualRow = renderableRow;
815
- if (!areColumnHeadersSelected) {
816
- visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
817
-
818
- // for an empty data return index as is
819
- if (visualRow === null) {
820
- return renderableRow;
821
- }
822
- }
823
- visualRow = this.instance.runHooks('beforeViewportScrollVertically', visualRow);
824
- this.instance.runHooks('beforeViewportScroll');
825
- if (!areColumnHeadersSelected) {
826
- return rowMapper.getRenderableFromVisualIndex(visualRow);
827
- }
828
- return visualRow;
829
- },
830
- onBeforeViewportScrollHorizontally: renderableColumn => {
831
- const columnMapper = this.instance.columnIndexMapper;
832
- const areRowHeadersSelected = renderableColumn < 0;
833
- let visualColumn = renderableColumn;
834
- if (!areRowHeadersSelected) {
835
- visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
836
-
837
- // for an empty data return index as is
838
- if (visualColumn === null) {
839
- return renderableColumn;
840
- }
841
- }
842
- visualColumn = this.instance.runHooks('beforeViewportScrollHorizontally', visualColumn);
843
- this.instance.runHooks('beforeViewportScroll');
844
- if (!areRowHeadersSelected) {
845
- return columnMapper.getRenderableFromVisualIndex(visualColumn);
846
- }
847
- return visualColumn;
848
- },
849
- onScrollVertically: () => {
850
- this.instance.runHooks('afterScrollVertically');
851
- this.instance.runHooks('afterScroll');
852
- },
853
- onScrollHorizontally: () => {
854
- this.instance.runHooks('afterScrollHorizontally');
855
- this.instance.runHooks('afterScroll');
856
- },
768
+ onScrollVertically: () => this.instance.runHooks('afterScrollVertically'),
769
+ onScrollHorizontally: () => this.instance.runHooks('afterScrollHorizontally'),
857
770
  onBeforeRemoveCellClassNames: () => this.instance.runHooks('beforeRemoveCellClassNames'),
858
771
  onBeforeHighlightingRowHeader: (renderableRow, headerLevel, highlightMeta) => {
859
772
  const rowMapper = this.instance.rowIndexMapper;
860
- const areColumnHeadersSelected = renderableRow < 0;
861
- let visualRow = renderableRow;
862
- if (!areColumnHeadersSelected) {
863
- visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
864
- }
773
+ const visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
865
774
  const newVisualRow = this.instance.runHooks('beforeHighlightingRowHeader', visualRow, headerLevel, highlightMeta);
866
- if (!areColumnHeadersSelected) {
867
- return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
868
- }
869
- return newVisualRow;
775
+ return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
870
776
  },
871
777
  onBeforeHighlightingColumnHeader: (renderableColumn, headerLevel, highlightMeta) => {
872
778
  const columnMapper = this.instance.columnIndexMapper;
873
- const areRowHeadersSelected = renderableColumn < 0;
874
- let visualColumn = renderableColumn;
875
- if (!areRowHeadersSelected) {
876
- visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
877
- }
779
+ const visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
878
780
  const newVisualColumn = this.instance.runHooks('beforeHighlightingColumnHeader', visualColumn, headerLevel, highlightMeta);
879
- if (!areRowHeadersSelected) {
880
- return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
881
- }
882
- return newVisualColumn;
781
+ return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
883
782
  },
884
783
  onAfterDrawSelection: (currentRow, currentColumn, layerLevel) => {
885
784
  let cornersOfSelection;
@@ -887,7 +786,10 @@ class TableView {
887
786
  const selectedRange = this.instance.selection.getSelectedRange();
888
787
  const selectionRangeSize = selectedRange.size();
889
788
  if (selectionRangeSize > 0) {
890
- const selectionForLayer = selectedRange.peekByIndex(layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0);
789
+ // Selection layers are stored from the "oldest" to the "newest". We should calculate the offset.
790
+ // Please look at the `SelectedRange` class and it's method for getting selection's layer for more information.
791
+ const selectionOffset = (layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0) + 1 - selectionRangeSize;
792
+ const selectionForLayer = selectedRange.peekByIndex(selectionOffset);
891
793
  cornersOfSelection = [selectionForLayer.from.row, selectionForLayer.from.col, selectionForLayer.to.row, selectionForLayer.to.col];
892
794
  }
893
795
  return this.instance.runHooks('afterDrawSelection', visualRowIndex, visualColumnIndex, cornersOfSelection, layerLevel);
@@ -1040,7 +942,7 @@ class TableView {
1040
942
  */
1041
943
  isSelectedOnlyCell() {
1042
944
  var _this$instance$getSel, _this$instance$getSel2;
1043
- return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.isSingleCell()) !== null && _this$instance$getSel !== void 0 ? _this$instance$getSel : false;
945
+ 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;
1044
946
  }
1045
947
 
1046
948
  /**
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- /**
5
- * Default border corner style.
6
- *
7
- * @type {object}
8
- */
9
- const CORNER_DEFAULT_STYLE = Object.freeze({
10
- width: '6px',
11
- height: '6px',
12
- borderWidth: '1px',
13
- borderStyle: 'solid',
14
- borderColor: '#FFF'
15
- });
16
- exports.CORNER_DEFAULT_STYLE = CORNER_DEFAULT_STYLE;
@@ -1,12 +0,0 @@
1
- /**
2
- * Default border corner style.
3
- *
4
- * @type {object}
5
- */
6
- export const CORNER_DEFAULT_STYLE = Object.freeze({
7
- width: '6px',
8
- height: '6px',
9
- borderWidth: '1px',
10
- borderStyle: 'solid',
11
- borderColor: '#FFF'
12
- });
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- /**
5
- * Selection type that is visible only if the row or column header is clicked. If that happened
6
- * all row or column header layers are highlighted.
7
- *
8
- * @type {string}
9
- */
10
- const ACTIVE_HEADER_TYPE = 'active-header';
11
- /**
12
- * Selection type that is visible only if the a cell or cells are clicked. If that happened
13
- * only the most closest to the cells row or column header is highlighted.
14
- *
15
- * @type {string}
16
- */
17
- exports.ACTIVE_HEADER_TYPE = ACTIVE_HEADER_TYPE;
18
- const HEADER_TYPE = 'header';
19
- /**
20
- * Selection type that is visible when a cell or cells are clicked. The selected cells are
21
- * highlighted.
22
- *
23
- * @type {string}
24
- */
25
- exports.HEADER_TYPE = HEADER_TYPE;
26
- const AREA_TYPE = 'area';
27
- /**
28
- * Selection type defines a cell that follows the user (keyboard navigation).
29
- *
30
- * @type {string}
31
- */
32
- exports.AREA_TYPE = AREA_TYPE;
33
- const FOCUS_TYPE = 'focus';
34
- /**
35
- * Selection type defines borders for the autofill functionality.
36
- *
37
- * @type {string}
38
- */
39
- exports.FOCUS_TYPE = FOCUS_TYPE;
40
- const FILL_TYPE = 'fill';
41
- /**
42
- * Selection type defines highlights for the `currentRowClassName` option.
43
- *
44
- * @type {string}
45
- */
46
- exports.FILL_TYPE = FILL_TYPE;
47
- const ROW_TYPE = 'row';
48
- /**
49
- * Selection type defines highlights for the `currentColumnClassName` option.
50
- *
51
- * @type {string}
52
- */
53
- exports.ROW_TYPE = ROW_TYPE;
54
- const COLUMN_TYPE = 'column';
55
- /**
56
- * Selection type defines highlights managed by the CustomBorders plugin.
57
- *
58
- * @type {string}
59
- */
60
- exports.COLUMN_TYPE = COLUMN_TYPE;
61
- const CUSTOM_SELECTION_TYPE = 'custom-selection';
62
- exports.CUSTOM_SELECTION_TYPE = CUSTOM_SELECTION_TYPE;
@@ -1,51 +0,0 @@
1
- /**
2
- * Selection type that is visible only if the row or column header is clicked. If that happened
3
- * all row or column header layers are highlighted.
4
- *
5
- * @type {string}
6
- */
7
- export const ACTIVE_HEADER_TYPE = 'active-header';
8
- /**
9
- * Selection type that is visible only if the a cell or cells are clicked. If that happened
10
- * only the most closest to the cells row or column header is highlighted.
11
- *
12
- * @type {string}
13
- */
14
- export const HEADER_TYPE = 'header';
15
- /**
16
- * Selection type that is visible when a cell or cells are clicked. The selected cells are
17
- * highlighted.
18
- *
19
- * @type {string}
20
- */
21
- export const AREA_TYPE = 'area';
22
- /**
23
- * Selection type defines a cell that follows the user (keyboard navigation).
24
- *
25
- * @type {string}
26
- */
27
- export const FOCUS_TYPE = 'focus';
28
- /**
29
- * Selection type defines borders for the autofill functionality.
30
- *
31
- * @type {string}
32
- */
33
- export const FILL_TYPE = 'fill';
34
- /**
35
- * Selection type defines highlights for the `currentRowClassName` option.
36
- *
37
- * @type {string}
38
- */
39
- export const ROW_TYPE = 'row';
40
- /**
41
- * Selection type defines highlights for the `currentColumnClassName` option.
42
- *
43
- * @type {string}
44
- */
45
- export const COLUMN_TYPE = 'column';
46
- /**
47
- * Selection type defines highlights managed by the CustomBorders plugin.
48
- *
49
- * @type {string}
50
- */
51
- export const CUSTOM_SELECTION_TYPE = 'custom-selection';
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- var _exportNames = {
5
- SelectionManager: true,
6
- Selection: true
7
- };
8
- var _selection = _interopRequireDefault(require("./selection"));
9
- exports.Selection = _selection.default;
10
- var _constants = require("./constants");
11
- Object.keys(_constants).forEach(function (key) {
12
- if (key === "default" || key === "__esModule") return;
13
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
14
- if (key in exports && exports[key] === _constants[key]) return;
15
- exports[key] = _constants[key];
16
- });
17
- var _constants2 = require("./border/constants");
18
- Object.keys(_constants2).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
21
- if (key in exports && exports[key] === _constants2[key]) return;
22
- exports[key] = _constants2[key];
23
- });
24
- var _manager = require("./manager");
25
- exports.SelectionManager = _manager.SelectionManager;
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1,5 +0,0 @@
1
- import Selection from "./selection.mjs";
2
- export * from "./constants.mjs";
3
- export * from "./border/constants.mjs";
4
- export { SelectionManager } from "./manager.mjs";
5
- export { Selection };
@@ -1,274 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- require("core-js/modules/es.array.unscopables.flat.js");
5
- require("core-js/modules/es.error.cause.js");
6
- var _element = require("../../../../helpers/dom/element");
7
- var _scanner2 = require("./scanner");
8
- var _border = _interopRequireDefault(require("./border/border"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
11
- function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
12
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
13
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
14
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
15
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
16
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
17
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
18
- function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
19
- /**
20
- * Module responsible for rendering selections (CSS classes) and borders based on the
21
- * collection of the Selection instances provided throughout the `selections` Walkontable
22
- * setting.
23
- *
24
- * @private
25
- */
26
- var _activeOverlaysWot = /*#__PURE__*/new WeakMap();
27
- var _selections = /*#__PURE__*/new WeakMap();
28
- var _scanner = /*#__PURE__*/new WeakMap();
29
- var _appliedClasses = /*#__PURE__*/new WeakMap();
30
- var _destroyListeners = /*#__PURE__*/new WeakMap();
31
- var _selectionBorders = /*#__PURE__*/new WeakMap();
32
- var _resetCells = /*#__PURE__*/new WeakSet();
33
- class SelectionManager {
34
- constructor(selections) {
35
- /**
36
- * Resets the elements to their initial state (remove the CSS classes that are added in the
37
- * previous render cycle).
38
- */
39
- _classPrivateMethodInitSpec(this, _resetCells);
40
- /**
41
- * The overlay's Walkontable instance that are currently processed.
42
- *
43
- * @type {Walkontable}
44
- */
45
- _classPrivateFieldInitSpec(this, _activeOverlaysWot, {
46
- writable: true,
47
- value: void 0
48
- });
49
- /**
50
- * The Highlight instance that holds Selections instances within it.
51
- *
52
- * @type {Highlight|null}
53
- */
54
- _classPrivateFieldInitSpec(this, _selections, {
55
- writable: true,
56
- value: void 0
57
- });
58
- /**
59
- * The SelectionScanner allows to scan and collect the cell and header elements that matches
60
- * to the coords defined in the selections.
61
- *
62
- * @type {SelectionScanner}
63
- */
64
- _classPrivateFieldInitSpec(this, _scanner, {
65
- writable: true,
66
- value: new _scanner2.SelectionScanner()
67
- });
68
- /**
69
- * The Map tracks applied CSS classes. It's used to reset the elements state to their initial state.
70
- *
71
- * @type {WeakMap}
72
- */
73
- _classPrivateFieldInitSpec(this, _appliedClasses, {
74
- writable: true,
75
- value: new WeakMap()
76
- });
77
- /**
78
- * The Map tracks applied "destroy" listeners for Selection instances.
79
- *
80
- * @type {WeakMap}
81
- */
82
- _classPrivateFieldInitSpec(this, _destroyListeners, {
83
- writable: true,
84
- value: new WeakSet()
85
- });
86
- /**
87
- * The Map holds references to Border classes for Selection instances which requires that when
88
- * the "border" setting is defined.
89
- *
90
- * @type {Map}
91
- */
92
- _classPrivateFieldInitSpec(this, _selectionBorders, {
93
- writable: true,
94
- value: new Map()
95
- });
96
- _classPrivateFieldSet(this, _selections, selections);
97
- }
98
-
99
- /**
100
- * Sets the active Walkontable instance.
101
- *
102
- * @param {Walkontable} activeWot The overlays or master Walkontable instance.
103
- * @returns {SelectionManager}
104
- */
105
- setActiveOverlay(activeWot) {
106
- _classPrivateFieldSet(this, _activeOverlaysWot, activeWot);
107
- _classPrivateFieldGet(this, _scanner).setActiveOverlay(_classPrivateFieldGet(this, _activeOverlaysWot));
108
- if (!_classPrivateFieldGet(this, _appliedClasses).has(_classPrivateFieldGet(this, _activeOverlaysWot))) {
109
- _classPrivateFieldGet(this, _appliedClasses).set(_classPrivateFieldGet(this, _activeOverlaysWot), new Set());
110
- }
111
- return this;
112
- }
113
-
114
- /**
115
- * Gets the Selection instance of the "focus" type.
116
- *
117
- * @returns {Selection|null}
118
- */
119
- getFocusSelection() {
120
- return _classPrivateFieldGet(this, _selections) !== null ? _classPrivateFieldGet(this, _selections).getFocus() : null;
121
- }
122
-
123
- /**
124
- * Gets the Selection instance of the "area" type.
125
- *
126
- * @returns {Selection|null}
127
- */
128
- getAreaSelection() {
129
- return _classPrivateFieldGet(this, _selections) !== null ? _classPrivateFieldGet(this, _selections).createLayeredArea() : null;
130
- }
131
-
132
- /**
133
- * Gets the Border instance associated with Selection instance.
134
- *
135
- * @param {Selection} selection The selection instance.
136
- * @returns {Border|null} Returns the Border instance (new for each overlay Walkontable instance).
137
- */
138
- getBorderInstance(selection) {
139
- if (!selection.settings.border) {
140
- return null;
141
- }
142
- if (_classPrivateFieldGet(this, _selectionBorders).has(selection)) {
143
- const borders = _classPrivateFieldGet(this, _selectionBorders).get(selection);
144
- if (borders.has(_classPrivateFieldGet(this, _activeOverlaysWot))) {
145
- return borders.get(_classPrivateFieldGet(this, _activeOverlaysWot));
146
- }
147
- const border = new _border.default(_classPrivateFieldGet(this, _activeOverlaysWot), selection.settings);
148
- borders.set(_classPrivateFieldGet(this, _activeOverlaysWot), border);
149
- return border;
150
- }
151
- const border = new _border.default(_classPrivateFieldGet(this, _activeOverlaysWot), selection.settings);
152
- _classPrivateFieldGet(this, _selectionBorders).set(selection, new Map([[_classPrivateFieldGet(this, _activeOverlaysWot), border]]));
153
- return border;
154
- }
155
-
156
- /**
157
- * Gets all Border instances associated with Selection instance for all overlays.
158
- *
159
- * @param {Selection} selection The selection instance.
160
- * @returns {Border[]}
161
- */
162
- getBorderInstances(selection) {
163
- var _classPrivateFieldGet2, _classPrivateFieldGet3;
164
- return Array.from((_classPrivateFieldGet2 = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _selectionBorders).get(selection)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.values()) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : []);
165
- }
166
-
167
- /**
168
- * Destroys the Border instance associated with Selection instance.
169
- *
170
- * @param {Selection} selection The selection instance.
171
- */
172
- destroyBorders(selection) {
173
- _classPrivateFieldGet(this, _selectionBorders).get(selection).forEach(border => border.destroy());
174
- _classPrivateFieldGet(this, _selectionBorders).delete(selection);
175
- }
176
-
177
- /**
178
- * Renders all the selections (add CSS classes to cells and draw borders).
179
- *
180
- * @param {boolean} fastDraw Indicates the render cycle type (fast/slow).
181
- */
182
- render(fastDraw) {
183
- if (_classPrivateFieldGet(this, _selections) === null) {
184
- return;
185
- }
186
- if (fastDraw) {
187
- // there was no rerender, so we need to remove classNames by ourselves
188
- _classPrivateMethodGet(this, _resetCells, _resetCells2).call(this);
189
- }
190
- const selections = Array.from(_classPrivateFieldGet(this, _selections));
191
- const classNamesMap = new Map();
192
- for (let i = 0; i < selections.length; i++) {
193
- const selection = selections[i];
194
- const {
195
- className,
196
- createLayers,
197
- selectionType
198
- } = selection.settings;
199
- if (!_classPrivateFieldGet(this, _destroyListeners).has(selection)) {
200
- _classPrivateFieldGet(this, _destroyListeners).add(selection);
201
- selection.addLocalHook('destroy', () => this.destroyBorders(selection));
202
- }
203
- const borderInstance = this.getBorderInstance(selection);
204
- if (selection.isEmpty()) {
205
- borderInstance === null || borderInstance === void 0 || borderInstance.disappear();
206
- continue; // eslint-disable-line no-continue
207
- }
208
-
209
- if (className) {
210
- const elements = _classPrivateFieldGet(this, _scanner).setActiveSelection(selection).scan();
211
- elements.forEach(element => {
212
- if (classNamesMap.has(element)) {
213
- const classNamesLayers = classNamesMap.get(element);
214
- if (classNamesLayers.has(className) && createLayers === true) {
215
- classNamesLayers.set(className, classNamesLayers.get(className) + 1);
216
- } else {
217
- classNamesLayers.set(className, 1);
218
- }
219
- } else {
220
- classNamesMap.set(element, new Map([[className, 1]]));
221
- }
222
- });
223
- }
224
- const corners = selection.getCorners();
225
- _classPrivateFieldGet(this, _activeOverlaysWot).getSetting('onBeforeDrawBorders', corners, selectionType);
226
- borderInstance === null || borderInstance === void 0 || borderInstance.appear(corners);
227
- }
228
- classNamesMap.forEach((classNamesLayers, element) => {
229
- var _classPrivateFieldGet4, _classPrivateFieldGet5;
230
- const classNames = Array.from(classNamesLayers).map(_ref => {
231
- let [className, occurrenceCount] = _ref;
232
- if (occurrenceCount === 1) {
233
- return className;
234
- }
235
- return [className, ...Array.from({
236
- length: occurrenceCount - 1
237
- }, (_, i) => `${className}-${i + 1}`)];
238
- }).flat();
239
- classNames.forEach(className => _classPrivateFieldGet(this, _appliedClasses).get(_classPrivateFieldGet(this, _activeOverlaysWot)).add(className));
240
- (0, _element.addClass)(element, classNames);
241
- if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = _classPrivateFieldGet(this, _selections).options) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.cellAttributes)) {
242
- (0, _element.setAttribute)(element, _classPrivateFieldGet(this, _selections).options.cellAttributes);
243
- } else if (element.nodeName === 'TH' && Array.isArray((_classPrivateFieldGet5 = _classPrivateFieldGet(this, _selections).options) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.headerAttributes)) {
244
- (0, _element.setAttribute)(element, _classPrivateFieldGet(this, _selections).options.headerAttributes);
245
- }
246
- });
247
- }
248
- }
249
- exports.SelectionManager = SelectionManager;
250
- function _resetCells2() {
251
- const appliedOverlaysClasses = _classPrivateFieldGet(this, _appliedClasses).get(_classPrivateFieldGet(this, _activeOverlaysWot));
252
- const classesToRemove = _classPrivateFieldGet(this, _activeOverlaysWot).wtSettings.getSetting('onBeforeRemoveCellClassNames');
253
- if (Array.isArray(classesToRemove)) {
254
- for (let i = 0; i < classesToRemove.length; i++) {
255
- appliedOverlaysClasses.add(classesToRemove[i]);
256
- }
257
- }
258
- appliedOverlaysClasses.forEach(className => {
259
- var _classPrivateFieldGet6, _classPrivateFieldGet7;
260
- const nodes = _classPrivateFieldGet(this, _activeOverlaysWot).wtTable.TABLE.querySelectorAll(`.${className}`);
261
- let cellAttributes = [];
262
- if (Array.isArray((_classPrivateFieldGet6 = _classPrivateFieldGet(this, _selections).options) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.cellAttributes)) {
263
- cellAttributes = _classPrivateFieldGet(this, _selections).options.cellAttributes.map(el => el[0]);
264
- }
265
- if (Array.isArray((_classPrivateFieldGet7 = _classPrivateFieldGet(this, _selections).options) === null || _classPrivateFieldGet7 === void 0 ? void 0 : _classPrivateFieldGet7.headerAttributes)) {
266
- cellAttributes = [...cellAttributes, ..._classPrivateFieldGet(this, _selections).options.headerAttributes.map(el => el[0])];
267
- }
268
- for (let i = 0, len = nodes.length; i < len; i++) {
269
- (0, _element.removeClass)(nodes[i], className);
270
- (0, _element.removeAttribute)(nodes[i], cellAttributes);
271
- }
272
- });
273
- appliedOverlaysClasses.clear();
274
- }