handsontable 14.0.0 → 14.1.0-next-ba8c2b0-20240110

Sign up to get free protection for your applications and to get access to all the features.
Files changed (350) hide show
  1. package/3rdparty/walkontable/src/calculator/index.js +11 -6
  2. package/3rdparty/walkontable/src/calculator/index.mjs +5 -3
  3. package/3rdparty/walkontable/src/calculator/renderAllColumns.js +50 -0
  4. package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +46 -0
  5. package/3rdparty/walkontable/src/calculator/renderAllRows.js +50 -0
  6. package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +46 -0
  7. package/3rdparty/walkontable/src/calculator/viewportColumns.js +3 -124
  8. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +4 -126
  9. package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
  10. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +4 -5
  11. package/3rdparty/walkontable/src/cell/coords.d.ts +5 -5
  12. package/3rdparty/walkontable/src/cell/coords.js +2 -2
  13. package/3rdparty/walkontable/src/cell/coords.mjs +2 -2
  14. package/3rdparty/walkontable/src/cell/range.d.ts +5 -5
  15. package/3rdparty/walkontable/src/cell/range.js +16 -41
  16. package/3rdparty/walkontable/src/cell/range.mjs +16 -41
  17. package/3rdparty/walkontable/src/core/_base.js +2 -14
  18. package/3rdparty/walkontable/src/core/_base.mjs +2 -14
  19. package/3rdparty/walkontable/src/core/clone.js +2 -2
  20. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  21. package/3rdparty/walkontable/src/core/core.js +0 -2
  22. package/3rdparty/walkontable/src/core/core.mjs +0 -2
  23. package/3rdparty/walkontable/src/facade/core.js +0 -9
  24. package/3rdparty/walkontable/src/facade/core.mjs +0 -9
  25. package/3rdparty/walkontable/src/filter/column.js +2 -2
  26. package/3rdparty/walkontable/src/filter/column.mjs +2 -2
  27. package/3rdparty/walkontable/src/filter/row.js +2 -2
  28. package/3rdparty/walkontable/src/filter/row.mjs +2 -2
  29. package/3rdparty/walkontable/src/index.js +3 -4
  30. package/3rdparty/walkontable/src/index.mjs +1 -2
  31. package/3rdparty/walkontable/src/overlay/_base.js +2 -2
  32. package/3rdparty/walkontable/src/overlay/_base.mjs +2 -2
  33. package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
  34. package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
  35. package/3rdparty/walkontable/src/overlay/top.js +2 -2
  36. package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
  37. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +2 -2
  38. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +2 -2
  39. package/3rdparty/walkontable/src/overlays.js +2 -5
  40. package/3rdparty/walkontable/src/overlays.mjs +2 -6
  41. package/3rdparty/walkontable/src/renderer/_base.js +2 -2
  42. package/3rdparty/walkontable/src/renderer/_base.mjs +2 -2
  43. package/3rdparty/walkontable/src/renderer/cells.js +2 -2
  44. package/3rdparty/walkontable/src/renderer/cells.mjs +2 -2
  45. package/3rdparty/walkontable/src/renderer/colGroup.js +10 -0
  46. package/3rdparty/walkontable/src/renderer/colGroup.mjs +10 -0
  47. package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
  48. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
  49. package/3rdparty/walkontable/src/renderer/rows.js +6 -5
  50. package/3rdparty/walkontable/src/renderer/rows.mjs +6 -5
  51. package/3rdparty/walkontable/src/renderer/table.js +2 -2
  52. package/3rdparty/walkontable/src/renderer/table.mjs +2 -2
  53. package/3rdparty/walkontable/src/scroll.js +4 -60
  54. package/3rdparty/walkontable/src/scroll.mjs +4 -60
  55. package/3rdparty/walkontable/src/selection/manager.js +0 -1
  56. package/3rdparty/walkontable/src/selection/manager.mjs +0 -1
  57. package/3rdparty/walkontable/src/settings.js +5 -2
  58. package/3rdparty/walkontable/src/settings.mjs +4 -2
  59. package/3rdparty/walkontable/src/table.js +2 -3
  60. package/3rdparty/walkontable/src/table.mjs +2 -3
  61. package/3rdparty/walkontable/src/utils/column.js +29 -14
  62. package/3rdparty/walkontable/src/utils/column.mjs +29 -14
  63. package/3rdparty/walkontable/src/utils/columnStretching.js +219 -0
  64. package/3rdparty/walkontable/src/utils/columnStretching.mjs +215 -0
  65. package/3rdparty/walkontable/src/utils/nodesPool.js +2 -2
  66. package/3rdparty/walkontable/src/utils/nodesPool.mjs +2 -2
  67. package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
  68. package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
  69. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +2 -2
  70. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +2 -2
  71. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +2 -2
  72. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +2 -2
  73. package/3rdparty/walkontable/src/utils/row.js +2 -2
  74. package/3rdparty/walkontable/src/utils/row.mjs +2 -2
  75. package/3rdparty/walkontable/src/viewport.js +22 -17
  76. package/3rdparty/walkontable/src/viewport.mjs +23 -18
  77. package/CHANGELOG.md +36 -0
  78. package/base.js +4 -2
  79. package/base.mjs +2 -2
  80. package/cellTypes/dropdownType/dropdownType.d.ts +6 -6
  81. package/cellTypes/dropdownType/dropdownType.js +4 -4
  82. package/cellTypes/dropdownType/dropdownType.mjs +4 -4
  83. package/core/focusCatcher/index.js +44 -6
  84. package/core/focusCatcher/index.mjs +44 -6
  85. package/core.d.ts +19 -19
  86. package/core.js +7 -12
  87. package/core.mjs +7 -12
  88. package/dataMap/dataMap.js +3 -2
  89. package/dataMap/dataMap.mjs +2 -2
  90. package/dataMap/dataSource.js +2 -2
  91. package/dataMap/dataSource.mjs +2 -2
  92. package/dataMap/metaManager/lazyFactoryMap.js +2 -2
  93. package/dataMap/metaManager/lazyFactoryMap.mjs +2 -2
  94. package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
  95. package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
  96. package/dataMap/metaManager/metaLayers/columnMeta.js +2 -2
  97. package/dataMap/metaManager/metaLayers/columnMeta.mjs +2 -2
  98. package/dataMap/metaManager/metaLayers/globalMeta.js +2 -2
  99. package/dataMap/metaManager/metaLayers/globalMeta.mjs +2 -2
  100. package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
  101. package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
  102. package/dataMap/metaManager/metaSchema.js +40 -25
  103. package/dataMap/metaManager/metaSchema.mjs +40 -25
  104. package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -2
  105. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +2 -2
  106. package/dataMap/metaManager/mods/extendMetaProperties.js +14 -2
  107. package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -2
  108. package/dist/handsontable.css +5 -5
  109. package/dist/handsontable.full.css +6 -6
  110. package/dist/handsontable.full.js +4835 -4508
  111. package/dist/handsontable.full.min.css +4 -4
  112. package/dist/handsontable.full.min.js +156 -154
  113. package/dist/handsontable.js +3441 -2825
  114. package/dist/handsontable.min.css +3 -3
  115. package/dist/handsontable.min.js +18 -15
  116. package/editorManager.js +5 -6
  117. package/editorManager.mjs +5 -6
  118. package/editors/autocompleteEditor/autocompleteEditor.js +2 -4
  119. package/editors/autocompleteEditor/autocompleteEditor.mjs +2 -4
  120. package/editors/baseEditor/baseEditor.d.ts +1 -1
  121. package/editors/baseEditor/baseEditor.js +2 -2
  122. package/editors/baseEditor/baseEditor.mjs +2 -2
  123. package/editors/dateEditor/dateEditor.d.ts +1 -1
  124. package/editors/dateEditor/dateEditor.js +29 -33
  125. package/editors/dateEditor/dateEditor.mjs +29 -33
  126. package/editors/handsontableEditor/handsontableEditor.js +0 -1
  127. package/editors/handsontableEditor/handsontableEditor.mjs +0 -1
  128. package/editors/selectEditor/selectEditor.js +8 -2
  129. package/editors/selectEditor/selectEditor.mjs +8 -2
  130. package/editors/textEditor/textEditor.js +2 -6
  131. package/editors/textEditor/textEditor.mjs +2 -6
  132. package/eventManager.js +4 -3
  133. package/eventManager.mjs +4 -3
  134. package/helpers/browser.js +5 -2
  135. package/helpers/browser.mjs +5 -2
  136. package/helpers/feature.js +10 -0
  137. package/helpers/feature.mjs +9 -0
  138. package/helpers/mixed.js +2 -2
  139. package/helpers/mixed.mjs +2 -2
  140. package/index.d.ts +12 -0
  141. package/package.json +13 -4
  142. package/pluginHooks.d.ts +10 -9
  143. package/pluginHooks.js +10 -8
  144. package/pluginHooks.mjs +7 -7
  145. package/plugins/autoColumnSize/autoColumnSize.d.ts +2 -2
  146. package/plugins/autoColumnSize/autoColumnSize.js +2 -2
  147. package/plugins/autoColumnSize/autoColumnSize.mjs +2 -2
  148. package/plugins/autoRowSize/autoRowSize.d.ts +3 -3
  149. package/plugins/autoRowSize/autoRowSize.js +2 -2
  150. package/plugins/autoRowSize/autoRowSize.mjs +2 -2
  151. package/plugins/autofill/autofill.js +2 -2
  152. package/plugins/autofill/autofill.mjs +2 -2
  153. package/plugins/base/base.js +2 -2
  154. package/plugins/base/base.mjs +2 -2
  155. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.d.ts +1 -1
  156. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -2
  157. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -2
  158. package/plugins/collapsibleColumns/collapsibleColumns.js +2 -2
  159. package/plugins/collapsibleColumns/collapsibleColumns.mjs +2 -2
  160. package/plugins/columnSorting/columnSorting.js +2 -2
  161. package/plugins/columnSorting/columnSorting.mjs +2 -2
  162. package/plugins/columnSorting/columnStatesManager.js +2 -2
  163. package/plugins/columnSorting/columnStatesManager.mjs +2 -2
  164. package/plugins/columnSummary/columnSummary.d.ts +11 -11
  165. package/plugins/columnSummary/columnSummary.js +20 -5
  166. package/plugins/columnSummary/columnSummary.mjs +20 -5
  167. package/plugins/columnSummary/endpoints.js +19 -5
  168. package/plugins/columnSummary/endpoints.mjs +19 -5
  169. package/plugins/comments/commentEditor.js +2 -2
  170. package/plugins/comments/commentEditor.mjs +2 -2
  171. package/plugins/comments/comments.js +2 -2
  172. package/plugins/comments/comments.mjs +2 -2
  173. package/plugins/comments/displaySwitch.js +2 -2
  174. package/plugins/comments/displaySwitch.mjs +2 -2
  175. package/plugins/contextMenu/commandExecutor.js +2 -2
  176. package/plugins/contextMenu/commandExecutor.mjs +2 -2
  177. package/plugins/contextMenu/contextMenu.js +2 -2
  178. package/plugins/contextMenu/contextMenu.mjs +2 -2
  179. package/plugins/contextMenu/itemsFactory.js +2 -2
  180. package/plugins/contextMenu/itemsFactory.mjs +2 -2
  181. package/plugins/contextMenu/menu/cursor.js +2 -2
  182. package/plugins/contextMenu/menu/cursor.mjs +2 -2
  183. package/plugins/contextMenu/menu/menu.js +2 -2
  184. package/plugins/contextMenu/menu/menu.mjs +2 -2
  185. package/plugins/copyPaste/copyPaste.js +40 -6
  186. package/plugins/copyPaste/copyPaste.mjs +40 -6
  187. package/plugins/customBorders/customBorders.d.ts +17 -8
  188. package/plugins/customBorders/customBorders.js +2 -7
  189. package/plugins/customBorders/customBorders.mjs +2 -7
  190. package/plugins/customBorders/utils.js +0 -1
  191. package/plugins/customBorders/utils.mjs +0 -1
  192. package/plugins/dragToScroll/dragToScroll.d.ts +8 -1
  193. package/plugins/dragToScroll/dragToScroll.js +18 -22
  194. package/plugins/dragToScroll/dragToScroll.mjs +18 -22
  195. package/plugins/dropdownMenu/dropdownMenu.js +2 -2
  196. package/plugins/dropdownMenu/dropdownMenu.mjs +2 -2
  197. package/plugins/exportFile/dataProvider.js +2 -2
  198. package/plugins/exportFile/dataProvider.mjs +2 -2
  199. package/plugins/exportFile/exportFile.d.ts +18 -3
  200. package/plugins/exportFile/types/_base.js +2 -2
  201. package/plugins/exportFile/types/_base.mjs +2 -2
  202. package/plugins/filters/component/_base.js +2 -2
  203. package/plugins/filters/component/_base.mjs +2 -2
  204. package/plugins/filters/component/actionBar.js +2 -2
  205. package/plugins/filters/component/actionBar.mjs +2 -2
  206. package/plugins/filters/component/condition.js +2 -2
  207. package/plugins/filters/component/condition.mjs +2 -2
  208. package/plugins/filters/component/operators.js +2 -2
  209. package/plugins/filters/component/operators.mjs +2 -2
  210. package/plugins/filters/component/value.js +2 -2
  211. package/plugins/filters/component/value.mjs +2 -2
  212. package/plugins/filters/conditionCollection.js +2 -2
  213. package/plugins/filters/conditionCollection.mjs +2 -2
  214. package/plugins/filters/conditionUpdateObserver.js +2 -2
  215. package/plugins/filters/conditionUpdateObserver.mjs +2 -2
  216. package/plugins/filters/dataFilter.js +2 -2
  217. package/plugins/filters/dataFilter.mjs +2 -2
  218. package/plugins/filters/filters.js +2 -2
  219. package/plugins/filters/filters.mjs +2 -2
  220. package/plugins/filters/ui/_base.js +2 -2
  221. package/plugins/filters/ui/_base.mjs +2 -2
  222. package/plugins/filters/ui/radioInput.js +1 -1
  223. package/plugins/filters/ui/radioInput.mjs +1 -1
  224. package/plugins/formulas/formulas.d.ts +1 -0
  225. package/plugins/formulas/formulas.js +2 -4
  226. package/plugins/formulas/formulas.mjs +2 -4
  227. package/plugins/formulas/indexSyncer/axisSyncer.js +0 -1
  228. package/plugins/formulas/indexSyncer/axisSyncer.mjs +0 -1
  229. package/plugins/manualColumnMove/ui/_base.js +2 -2
  230. package/plugins/manualColumnMove/ui/_base.mjs +2 -2
  231. package/plugins/manualColumnResize/manualColumnResize.js +6 -2
  232. package/plugins/manualColumnResize/manualColumnResize.mjs +6 -2
  233. package/plugins/manualRowMove/ui/_base.js +2 -2
  234. package/plugins/manualRowMove/ui/_base.mjs +2 -2
  235. package/plugins/manualRowResize/manualRowResize.js +7 -3
  236. package/plugins/manualRowResize/manualRowResize.mjs +7 -3
  237. package/plugins/mergeCells/calculations/autofill.js +2 -2
  238. package/plugins/mergeCells/calculations/autofill.mjs +2 -2
  239. package/plugins/mergeCells/calculations/selection.js +2 -2
  240. package/plugins/mergeCells/calculations/selection.mjs +2 -2
  241. package/plugins/mergeCells/cellCoords.js +2 -2
  242. package/plugins/mergeCells/cellCoords.mjs +2 -2
  243. package/plugins/mergeCells/cellsCollection.js +2 -2
  244. package/plugins/mergeCells/cellsCollection.mjs +2 -2
  245. package/plugins/mergeCells/mergeCells.js +2 -4
  246. package/plugins/mergeCells/mergeCells.mjs +2 -4
  247. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -2
  248. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -2
  249. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +8 -1
  250. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
  251. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
  252. package/plugins/nestedHeaders/nestedHeaders.js +2 -3
  253. package/plugins/nestedHeaders/nestedHeaders.mjs +2 -3
  254. package/plugins/nestedHeaders/stateManager/headersTree.js +0 -1
  255. package/plugins/nestedHeaders/stateManager/headersTree.mjs +0 -1
  256. package/plugins/nestedHeaders/stateManager/sourceSettings.js +1 -1
  257. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +1 -1
  258. package/plugins/nestedHeaders/utils/ghostTable.js +2 -2
  259. package/plugins/nestedHeaders/utils/ghostTable.mjs +2 -2
  260. package/plugins/nestedRows/data/dataManager.js +2 -2
  261. package/plugins/nestedRows/data/dataManager.mjs +2 -2
  262. package/plugins/nestedRows/nestedRows.js +2 -2
  263. package/plugins/nestedRows/nestedRows.mjs +2 -2
  264. package/plugins/nestedRows/ui/_base.js +2 -2
  265. package/plugins/nestedRows/ui/_base.mjs +2 -2
  266. package/plugins/nestedRows/ui/contextMenu.js +2 -2
  267. package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
  268. package/plugins/nestedRows/utils/rowMoveController.js +2 -2
  269. package/plugins/nestedRows/utils/rowMoveController.mjs +2 -2
  270. package/plugins/persistentState/persistentState.d.ts +5 -2
  271. package/plugins/persistentState/persistentState.js +2 -2
  272. package/plugins/persistentState/persistentState.mjs +2 -2
  273. package/plugins/persistentState/storage.js +2 -2
  274. package/plugins/persistentState/storage.mjs +2 -2
  275. package/plugins/search/search.js +2 -2
  276. package/plugins/search/search.mjs +2 -2
  277. package/plugins/touchScroll/touchScroll.js +2 -2
  278. package/plugins/touchScroll/touchScroll.mjs +2 -2
  279. package/plugins/trimRows/trimRows.js +2 -2
  280. package/plugins/trimRows/trimRows.mjs +2 -2
  281. package/plugins/undoRedo/undoRedo.d.ts +3 -0
  282. package/plugins/undoRedo/undoRedo.js +64 -7
  283. package/plugins/undoRedo/undoRedo.mjs +64 -7
  284. package/renderers/autocompleteRenderer/autocompleteRenderer.d.ts +1 -1
  285. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -1
  286. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -1
  287. package/renderers/baseRenderer/baseRenderer.d.ts +1 -1
  288. package/renderers/checkboxRenderer/checkboxRenderer.d.ts +1 -1
  289. package/renderers/checkboxRenderer/checkboxRenderer.js +0 -2
  290. package/renderers/checkboxRenderer/checkboxRenderer.mjs +0 -2
  291. package/renderers/dateRenderer/dateRenderer.d.ts +1 -1
  292. package/renderers/dropdownRenderer/dropdownRenderer.d.ts +5 -0
  293. package/renderers/dropdownRenderer/dropdownRenderer.js +23 -0
  294. package/renderers/dropdownRenderer/dropdownRenderer.mjs +19 -0
  295. package/renderers/dropdownRenderer/index.d.ts +1 -0
  296. package/renderers/dropdownRenderer/index.js +6 -0
  297. package/renderers/dropdownRenderer/index.mjs +1 -0
  298. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +1 -1
  299. package/renderers/htmlRenderer/htmlRenderer.d.ts +1 -1
  300. package/renderers/index.d.ts +3 -0
  301. package/renderers/index.js +12 -0
  302. package/renderers/index.mjs +7 -1
  303. package/renderers/numericRenderer/numericRenderer.d.ts +1 -1
  304. package/renderers/passwordRenderer/passwordRenderer.d.ts +1 -1
  305. package/renderers/selectRenderer/selectRenderer.d.ts +1 -1
  306. package/renderers/textRenderer/textRenderer.d.ts +1 -1
  307. package/renderers/timeRenderer/timeRenderer.d.ts +1 -1
  308. package/selection/highlight/highlight.js +2 -3
  309. package/selection/highlight/highlight.mjs +2 -3
  310. package/selection/highlight/visualSelection.js +2 -2
  311. package/selection/highlight/visualSelection.mjs +2 -2
  312. package/selection/range.js +2 -2
  313. package/selection/range.mjs +2 -2
  314. package/selection/selection.js +2 -2
  315. package/selection/selection.mjs +2 -2
  316. package/settings.d.ts +27 -14
  317. package/tableView.js +4 -5
  318. package/tableView.mjs +4 -5
  319. package/translations/indexMapper.d.ts +1 -1
  320. package/translations/indexMapper.js +4 -3
  321. package/translations/indexMapper.mjs +2 -2
  322. package/translations/mapCollections/aggregatedCollection.js +2 -2
  323. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  324. package/translations/mapCollections/mapCollection.js +2 -2
  325. package/translations/mapCollections/mapCollection.mjs +2 -2
  326. package/translations/maps/indexMap.js +2 -2
  327. package/translations/maps/indexMap.mjs +2 -2
  328. package/translations/maps/linkedPhysicalIndexToValueMap.js +2 -2
  329. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +2 -2
  330. package/utils/dataStructures/linkedList.js +2 -2
  331. package/utils/dataStructures/linkedList.mjs +2 -2
  332. package/utils/dataStructures/tree.js +2 -2
  333. package/utils/dataStructures/tree.mjs +2 -2
  334. package/utils/ghostTable.js +2 -2
  335. package/utils/ghostTable.mjs +2 -2
  336. package/utils/interval.js +2 -2
  337. package/utils/interval.mjs +2 -2
  338. package/utils/samplesGenerator.js +2 -2
  339. package/utils/samplesGenerator.mjs +2 -2
  340. package/validators/dropdownValidator/dropdownValidator.d.ts +5 -0
  341. package/validators/dropdownValidator/dropdownValidator.js +18 -0
  342. package/validators/dropdownValidator/dropdownValidator.mjs +14 -0
  343. package/validators/dropdownValidator/index.d.ts +1 -0
  344. package/validators/dropdownValidator/index.js +6 -0
  345. package/validators/dropdownValidator/index.mjs +1 -0
  346. package/validators/index.d.ts +2 -0
  347. package/validators/index.js +4 -0
  348. package/validators/index.mjs +3 -1
  349. package/validators/timeValidator/timeValidator.js +0 -1
  350. package/validators/timeValidator/timeValidator.mjs +0 -1
@@ -1,7 +1,7 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
4
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import { innerHeight, innerWidth, getScrollLeft, getScrollTop, offset } from "../../../helpers/dom/element.mjs";
6
6
  /**
7
7
  * @class Scroll
@@ -158,36 +158,7 @@ class Scroll {
158
158
  * @returns {number}
159
159
  */
160
160
  getFirstVisibleRow() {
161
- const {
162
- topOverlay,
163
- wtTable,
164
- wtViewport,
165
- totalRows,
166
- fixedRowsTop,
167
- rootWindow
168
- } = this.dataAccessObject;
169
- let firstVisibleRow = wtTable.getFirstVisibleRow();
170
- if (topOverlay.mainTableScrollableElement === rootWindow) {
171
- const rootElementOffset = offset(wtTable.wtRootElement);
172
- const totalTableHeight = innerHeight(wtTable.hider);
173
- const windowHeight = innerHeight(rootWindow);
174
- const windowScrollTop = getScrollTop(rootWindow, rootWindow);
175
-
176
- // Only calculate firstVisibleRow when table didn't filled (from up) whole viewport space
177
- if (rootElementOffset.top + totalTableHeight - windowHeight <= windowScrollTop) {
178
- let rowsHeight = wtViewport.getColumnHeaderHeight();
179
- rowsHeight += topOverlay.sumCellSizes(0, fixedRowsTop);
180
- for (let row = totalRows; row > 0; row--) {
181
- rowsHeight += topOverlay.sumCellSizes(row - 1, row);
182
- if (rootElementOffset.top + totalTableHeight - rowsHeight <= windowScrollTop) {
183
- // Return physical row + 1
184
- firstVisibleRow = row;
185
- break;
186
- }
187
- }
188
- }
189
- }
190
- return firstVisibleRow;
161
+ return this.dataAccessObject.wtTable.getFirstVisibleRow();
191
162
  }
192
163
 
193
164
  /**
@@ -231,34 +202,7 @@ class Scroll {
231
202
  * @returns {number}
232
203
  */
233
204
  getFirstVisibleColumn() {
234
- const {
235
- inlineStartOverlay,
236
- wtTable,
237
- wtViewport,
238
- totalColumns,
239
- rootWindow
240
- } = this.dataAccessObject;
241
- let firstVisibleColumn = wtTable.getFirstVisibleColumn();
242
- if (inlineStartOverlay.mainTableScrollableElement === rootWindow) {
243
- const rootElementOffset = offset(wtTable.wtRootElement);
244
- const totalTableWidth = innerWidth(wtTable.hider);
245
- const windowWidth = innerWidth(rootWindow);
246
- const windowScrollLeft = Math.abs(getScrollLeft(rootWindow, rootWindow));
247
-
248
- // Only calculate firstVisibleColumn when table didn't filled (from left) whole viewport space
249
- if (rootElementOffset.left + totalTableWidth - windowWidth <= windowScrollLeft) {
250
- let columnsWidth = wtViewport.getRowHeaderWidth();
251
- for (let column = totalColumns; column > 0; column--) {
252
- columnsWidth += inlineStartOverlay.sumCellSizes(column - 1, column);
253
- if (rootElementOffset.left + totalTableWidth - columnsWidth <= windowScrollLeft) {
254
- // Return physical column + 1
255
- firstVisibleColumn = column;
256
- break;
257
- }
258
- }
259
- }
260
- }
261
- return firstVisibleColumn;
205
+ return this.dataAccessObject.wtTable.getFirstVisibleColumn();
262
206
  }
263
207
 
264
208
  /**
@@ -208,7 +208,6 @@ class SelectionManager {
208
208
  borderInstance === null || borderInstance === void 0 || borderInstance.disappear();
209
209
  continue; // eslint-disable-line no-continue
210
210
  }
211
-
212
211
  if (className) {
213
212
  const elements = _classPrivateFieldGet(this, _scanner).setActiveSelection(selection).scan();
214
213
  elements.forEach(element => {
@@ -204,7 +204,6 @@ export class SelectionManager {
204
204
  borderInstance === null || borderInstance === void 0 || borderInstance.disappear();
205
205
  continue; // eslint-disable-line no-continue
206
206
  }
207
-
208
207
  if (className) {
209
208
  const elements = _classPrivateFieldGet(this, _scanner).setActiveSelection(selection).scan();
210
209
  elements.forEach(element => {
@@ -5,8 +5,8 @@ require("core-js/modules/es.error.cause.js");
5
5
  var _element = require("../../../helpers/dom/element");
6
6
  var _object = require("../../../helpers/object");
7
7
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
9
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
9
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
10
  /**
11
11
  * @todo Describe options.
12
12
  * @typedef SettingsPure
@@ -36,6 +36,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
36
36
  * @property {Option} onBeforeStretchingColumnWidth Option `onBeforeStretchingColumnWidth`.
37
37
  * @property {Option} preventOverflow Option `preventOverflow`.
38
38
  * @property {Option} preventWheel Option `preventWheel`.
39
+ * @property {Option} renderAllColumns Option `renderAllColumns`.
39
40
  * @property {Option} renderAllRows Option `renderAllRows`.
40
41
  * @property {Option} rowHeaders Option `rowHeaders`.
41
42
  * @property {Option} rowHeight Option `,`.
@@ -80,6 +81,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
80
81
  * @template TValue.
81
82
  * @typedef { TValue | Array.<TValue> | (function(...*): TValue) } Option
82
83
  */
84
+
83
85
  /**
84
86
  * @class Settings
85
87
  */
@@ -218,6 +220,7 @@ class Settings {
218
220
  onBeforeHighlightingColumnHeader: sourceCol => sourceCol,
219
221
  onWindowResize: null,
220
222
  onContainerElementResize: null,
223
+ renderAllColumns: false,
221
224
  renderAllRows: false,
222
225
  groups: false,
223
226
  rowHeaderWidth: null,
@@ -1,7 +1,7 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
4
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import { fastInnerText } from "../../../helpers/dom/element.mjs";
6
6
  import { objectEach } from "../../../helpers/object.mjs";
7
7
  /**
@@ -33,6 +33,7 @@ import { objectEach } from "../../../helpers/object.mjs";
33
33
  * @property {Option} onBeforeStretchingColumnWidth Option `onBeforeStretchingColumnWidth`.
34
34
  * @property {Option} preventOverflow Option `preventOverflow`.
35
35
  * @property {Option} preventWheel Option `preventWheel`.
36
+ * @property {Option} renderAllColumns Option `renderAllColumns`.
36
37
  * @property {Option} renderAllRows Option `renderAllRows`.
37
38
  * @property {Option} rowHeaders Option `rowHeaders`.
38
39
  * @property {Option} rowHeight Option `,`.
@@ -214,6 +215,7 @@ export default class Settings {
214
215
  onBeforeHighlightingColumnHeader: sourceCol => sourceCol,
215
216
  onWindowResize: null,
216
217
  onContainerElementResize: null,
218
+ renderAllColumns: false,
217
219
  renderAllRows: false,
218
220
  groups: false,
219
221
  rowHeaderWidth: null,
@@ -14,8 +14,8 @@ var _overlay = require("./overlay");
14
14
  var _a11y = require("../../../helpers/a11y");
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
18
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
18
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
19
  /**
20
20
  * @todo These mixes are never added to the class Table, however their members are used here.
21
21
  * @todo Continue: Potentially it works only, because some of these mixes are added to every inherited class.
@@ -96,7 +96,6 @@ class Table {
96
96
  if (this.isMaster) {
97
97
  this.alignOverlaysWithTrimmingContainer(); // todo wow, It calls method from child class (MasterTable).
98
98
  }
99
-
100
99
  this.fixTableDomTree();
101
100
  this.rowFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
102
101
  this.columnFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
@@ -1,8 +1,8 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
6
  import { hasClass, index, offset, removeTextNodes, overlayContainsElement, closest, outerHeight, outerWidth, innerHeight, isVisible, setAttribute } from "../../../helpers/dom/element.mjs";
7
7
  import { isFunction } from "../../../helpers/function.mjs";
8
8
  import ColumnFilter from "./filter/column.mjs";
@@ -92,7 +92,6 @@ class Table {
92
92
  if (this.isMaster) {
93
93
  this.alignOverlaysWithTrimmingContainer(); // todo wow, It calls method from child class (MasterTable).
94
94
  }
95
-
96
95
  this.fixTableDomTree();
97
96
  this.rowFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
98
97
  this.columnFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
@@ -3,9 +3,10 @@
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
5
  var _element = require("./../../../../helpers/dom/element");
6
+ var _columnStretching = require("./columnStretching");
6
7
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
8
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
9
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
10
  /**
10
11
  * Column utils class contains all necessary information about sizes of the columns.
11
12
  *
@@ -29,8 +30,18 @@ class ColumnUtils {
29
30
  * @type {Map<number, number>}
30
31
  */
31
32
  _defineProperty(this, "headerWidths", new Map());
33
+ /**
34
+ * @type {ColumnStretching}
35
+ */
36
+ _defineProperty(this, "stretching", void 0);
32
37
  this.dataAccessObject = dataAccessObject;
33
38
  this.wtSettings = wtSettings;
39
+ this.stretching = new _columnStretching.ColumnStretching({
40
+ totalColumns: () => this.wtSettings.getSetting('totalColumns'),
41
+ stretchMode: () => this.wtSettings.getSetting('stretchH'),
42
+ stretchingColumnWidthFn: (stretchedWidth, column) => this.wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column),
43
+ columnWidthFn: sourceCol => this.dataAccessObject.wtTable.getColumnWidth(sourceCol)
44
+ });
34
45
  }
35
46
 
36
47
  /**
@@ -50,13 +61,10 @@ class ColumnUtils {
50
61
  * @returns {number}
51
62
  */
52
63
  getStretchedColumnWidth(sourceIndex) {
53
- const calculator = this.dataAccessObject.wtViewport.columnsRenderCalculator;
54
64
  let width = this.getWidth(sourceIndex);
55
- if (calculator) {
56
- const stretchedWidth = calculator.getStretchedColumnWidth(sourceIndex, width);
57
- if (stretchedWidth) {
58
- width = stretchedWidth;
59
- }
65
+ const stretchedWidth = this.stretching.getStretchedColumnWidth(sourceIndex, width);
66
+ if (stretchedWidth) {
67
+ width = stretchedWidth;
60
68
  }
61
69
  return width;
62
70
  }
@@ -87,12 +95,9 @@ class ColumnUtils {
87
95
  }
88
96
 
89
97
  /**
90
- * Calculates column header widths that can be retrieved from the cache.
98
+ * Refreshes the stretching column width by recalculating the widths of the columns.
91
99
  */
92
- calculateWidths() {
93
- const {
94
- wtSettings
95
- } = this;
100
+ refreshStretching() {
96
101
  const {
97
102
  wtTable,
98
103
  wtViewport,
@@ -100,8 +105,18 @@ class ColumnUtils {
100
105
  } = this.dataAccessObject;
101
106
  const mainHolder = cloneSource ? cloneSource.wtTable.holder : wtTable.holder;
102
107
  const scrollbarCompensation = mainHolder.offsetHeight < mainHolder.scrollHeight ? (0, _element.getScrollbarWidth)() : 0;
108
+ this.stretching.refreshStretching(wtViewport.getViewportWidth() - scrollbarCompensation);
109
+ }
110
+
111
+ /**
112
+ * Calculates column header widths that can be retrieved from the cache.
113
+ */
114
+ calculateWidths() {
115
+ const {
116
+ wtSettings
117
+ } = this;
103
118
  let rowHeaderWidthSetting = wtSettings.getSetting('rowHeaderWidth');
104
- wtViewport.columnsRenderCalculator.refreshStretching(wtViewport.getViewportWidth() - scrollbarCompensation);
119
+ this.refreshStretching();
105
120
  rowHeaderWidthSetting = wtSettings.getSetting('onModifyRowHeaderWidth', rowHeaderWidthSetting);
106
121
  if (rowHeaderWidthSetting !== null && rowHeaderWidthSetting !== undefined) {
107
122
  const rowHeadersCount = wtSettings.getSetting('rowHeaders').length;
@@ -1,8 +1,9 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
4
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import { getScrollbarWidth } from "./../../../../helpers/dom/element.mjs";
6
+ import { ColumnStretching } from "./columnStretching.mjs";
6
7
  /**
7
8
  * Column utils class contains all necessary information about sizes of the columns.
8
9
  *
@@ -26,8 +27,18 @@ export default class ColumnUtils {
26
27
  * @type {Map<number, number>}
27
28
  */
28
29
  _defineProperty(this, "headerWidths", new Map());
30
+ /**
31
+ * @type {ColumnStretching}
32
+ */
33
+ _defineProperty(this, "stretching", void 0);
29
34
  this.dataAccessObject = dataAccessObject;
30
35
  this.wtSettings = wtSettings;
36
+ this.stretching = new ColumnStretching({
37
+ totalColumns: () => this.wtSettings.getSetting('totalColumns'),
38
+ stretchMode: () => this.wtSettings.getSetting('stretchH'),
39
+ stretchingColumnWidthFn: (stretchedWidth, column) => this.wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column),
40
+ columnWidthFn: sourceCol => this.dataAccessObject.wtTable.getColumnWidth(sourceCol)
41
+ });
31
42
  }
32
43
 
33
44
  /**
@@ -47,13 +58,10 @@ export default class ColumnUtils {
47
58
  * @returns {number}
48
59
  */
49
60
  getStretchedColumnWidth(sourceIndex) {
50
- const calculator = this.dataAccessObject.wtViewport.columnsRenderCalculator;
51
61
  let width = this.getWidth(sourceIndex);
52
- if (calculator) {
53
- const stretchedWidth = calculator.getStretchedColumnWidth(sourceIndex, width);
54
- if (stretchedWidth) {
55
- width = stretchedWidth;
56
- }
62
+ const stretchedWidth = this.stretching.getStretchedColumnWidth(sourceIndex, width);
63
+ if (stretchedWidth) {
64
+ width = stretchedWidth;
57
65
  }
58
66
  return width;
59
67
  }
@@ -84,12 +92,9 @@ export default class ColumnUtils {
84
92
  }
85
93
 
86
94
  /**
87
- * Calculates column header widths that can be retrieved from the cache.
95
+ * Refreshes the stretching column width by recalculating the widths of the columns.
88
96
  */
89
- calculateWidths() {
90
- const {
91
- wtSettings
92
- } = this;
97
+ refreshStretching() {
93
98
  const {
94
99
  wtTable,
95
100
  wtViewport,
@@ -97,8 +102,18 @@ export default class ColumnUtils {
97
102
  } = this.dataAccessObject;
98
103
  const mainHolder = cloneSource ? cloneSource.wtTable.holder : wtTable.holder;
99
104
  const scrollbarCompensation = mainHolder.offsetHeight < mainHolder.scrollHeight ? getScrollbarWidth() : 0;
105
+ this.stretching.refreshStretching(wtViewport.getViewportWidth() - scrollbarCompensation);
106
+ }
107
+
108
+ /**
109
+ * Calculates column header widths that can be retrieved from the cache.
110
+ */
111
+ calculateWidths() {
112
+ const {
113
+ wtSettings
114
+ } = this;
100
115
  let rowHeaderWidthSetting = wtSettings.getSetting('rowHeaderWidth');
101
- wtViewport.columnsRenderCalculator.refreshStretching(wtViewport.getViewportWidth() - scrollbarCompensation);
116
+ this.refreshStretching();
102
117
  rowHeaderWidthSetting = wtSettings.getSetting('onModifyRowHeaderWidth', rowHeaderWidthSetting);
103
118
  if (rowHeaderWidthSetting !== null && rowHeaderWidthSetting !== undefined) {
104
119
  const rowHeadersCount = wtSettings.getSetting('rowHeaders').length;
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ require("core-js/modules/es.error.cause.js");
5
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
6
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
7
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
9
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
11
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
12
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
13
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
14
+ 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; } }
15
+ var _totalTargetWidth = /*#__PURE__*/new WeakMap();
16
+ var _totalColumns = /*#__PURE__*/new WeakMap();
17
+ var _stretchingColumnWidthFn = /*#__PURE__*/new WeakMap();
18
+ var _columnWidthFn = /*#__PURE__*/new WeakMap();
19
+ var _stretchMode = /*#__PURE__*/new WeakMap();
20
+ /**
21
+ * @typedef {object} ColumnStretchingOptions
22
+ * @property {number} totalColumns Total number of columns.
23
+ * @property {Function} columnWidthFn Function that returns the width of the column at a given index (in px).
24
+ * @property {'all' | 'last' | 'none'} stretchMode Stretch mode 'all', 'last' or 'none'.
25
+ * @property {Function} stretchingColumnWidthFn Function that returns the new width of the stretched column.
26
+ */
27
+ /**
28
+ * @class ColumnStretching
29
+ */
30
+ class ColumnStretching {
31
+ /**
32
+ * Default column width.
33
+ *
34
+ * @type {number}
35
+ */
36
+ static get DEFAULT_WIDTH() {
37
+ return 50;
38
+ }
39
+
40
+ /**
41
+ * @type {number}
42
+ */
43
+
44
+ /**
45
+ * @param {ColumnStretchingOptions} options Object with all options specified for column viewport calculation.
46
+ */
47
+ constructor(_ref) {
48
+ let {
49
+ totalColumns,
50
+ stretchMode,
51
+ stretchingColumnWidthFn,
52
+ columnWidthFn
53
+ } = _ref;
54
+ _defineProperty(this, "stretchAllRatio", 0);
55
+ /**
56
+ * @type {number}
57
+ */
58
+ _defineProperty(this, "stretchLastWidth", 0);
59
+ /**
60
+ * @type {number[]}
61
+ */
62
+ _defineProperty(this, "stretchAllColumnsWidth", []);
63
+ /**
64
+ * @type {number}
65
+ */
66
+ _classPrivateFieldInitSpec(this, _totalTargetWidth, {
67
+ writable: true,
68
+ value: 0
69
+ });
70
+ /**
71
+ * @type {boolean}
72
+ */
73
+ _defineProperty(this, "needVerifyLastColumnWidth", true);
74
+ /**
75
+ * The total number of columns.
76
+ *
77
+ * @type {function(): number}
78
+ */
79
+ _classPrivateFieldInitSpec(this, _totalColumns, {
80
+ writable: true,
81
+ value: () => 0
82
+ });
83
+ /**
84
+ * Function that returns the width of the stretched column at a given index (in px).
85
+ *
86
+ * @type {function(): number}
87
+ */
88
+ _classPrivateFieldInitSpec(this, _stretchingColumnWidthFn, {
89
+ writable: true,
90
+ value: width => width
91
+ });
92
+ /**
93
+ * Function that returns the width of the column at a given index (in px).
94
+ *
95
+ * @type {function(): number}
96
+ */
97
+ _classPrivateFieldInitSpec(this, _columnWidthFn, {
98
+ writable: true,
99
+ value: width => width
100
+ });
101
+ /**
102
+ * Stretch mode.
103
+ *
104
+ * @type {function(): 'all' | 'last' | 'none'}
105
+ */
106
+ _classPrivateFieldInitSpec(this, _stretchMode, {
107
+ writable: true,
108
+ value: () => 'none'
109
+ });
110
+ _classPrivateFieldSet(this, _totalColumns, totalColumns);
111
+ _classPrivateFieldSet(this, _stretchMode, stretchMode);
112
+ _classPrivateFieldSet(this, _stretchingColumnWidthFn, stretchingColumnWidthFn !== null && stretchingColumnWidthFn !== void 0 ? stretchingColumnWidthFn : _classPrivateFieldGet(this, _stretchingColumnWidthFn));
113
+ _classPrivateFieldSet(this, _columnWidthFn, columnWidthFn !== null && columnWidthFn !== void 0 ? columnWidthFn : _classPrivateFieldGet(this, _columnWidthFn));
114
+ }
115
+
116
+ /**
117
+ * Recalculate columns stretching.
118
+ *
119
+ * @param {number} totalWidth The total width of the table.
120
+ */
121
+ refreshStretching(totalWidth) {
122
+ if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'none') {
123
+ return;
124
+ }
125
+ _classPrivateFieldSet(this, _totalTargetWidth, totalWidth);
126
+ let sumAll = 0;
127
+ for (let i = 0; i < _classPrivateFieldGet(this, _totalColumns).call(this); i++) {
128
+ const columnWidth = this._getColumnWidth(i);
129
+ const permanentColumnWidth = _classPrivateFieldGet(this, _stretchingColumnWidthFn).call(this, undefined, i);
130
+ if (typeof permanentColumnWidth === 'number') {
131
+ totalWidth -= permanentColumnWidth;
132
+ } else {
133
+ sumAll += columnWidth;
134
+ }
135
+ }
136
+ const remainingSize = totalWidth - sumAll;
137
+ if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'all' && remainingSize > 0) {
138
+ this.stretchAllRatio = totalWidth / sumAll;
139
+ this.stretchAllColumnsWidth = [];
140
+ this.needVerifyLastColumnWidth = true;
141
+ } else if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'last' && totalWidth !== Infinity) {
142
+ const columnWidth = this._getColumnWidth(_classPrivateFieldGet(this, _totalColumns).call(this) - 1);
143
+ const lastColumnWidth = remainingSize + columnWidth;
144
+ this.stretchLastWidth = lastColumnWidth >= 0 ? lastColumnWidth : columnWidth;
145
+ }
146
+ }
147
+
148
+ /**
149
+ * Get stretched column width based on stretchH (all or last) setting passed in handsontable instance.
150
+ *
151
+ * @param {number} column The visual column index.
152
+ * @param {number} baseWidth The default column width.
153
+ * @returns {number|null}
154
+ */
155
+ getStretchedColumnWidth(column, baseWidth) {
156
+ let result = null;
157
+ if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'all' && this.stretchAllRatio !== 0) {
158
+ result = this._getStretchedAllColumnWidth(column, baseWidth);
159
+ } else if (_classPrivateFieldGet(this, _stretchMode).call(this) === 'last' && this.stretchLastWidth !== 0) {
160
+ result = this._getStretchedLastColumnWidth(column);
161
+ }
162
+ return result;
163
+ }
164
+
165
+ /**
166
+ * @param {number} column The visual column index.
167
+ * @param {number} baseWidth The default column width.
168
+ * @returns {number}
169
+ * @private
170
+ */
171
+ _getStretchedAllColumnWidth(column, baseWidth) {
172
+ let sumRatioWidth = 0;
173
+ if (!this.stretchAllColumnsWidth[column]) {
174
+ const stretchedWidth = Math.round(baseWidth * this.stretchAllRatio);
175
+ const newStretchedWidth = _classPrivateFieldGet(this, _stretchingColumnWidthFn).call(this, stretchedWidth, column);
176
+ if (newStretchedWidth === undefined) {
177
+ this.stretchAllColumnsWidth[column] = stretchedWidth;
178
+ } else {
179
+ this.stretchAllColumnsWidth[column] = isNaN(newStretchedWidth) ? this._getColumnWidth(column) : newStretchedWidth;
180
+ }
181
+ }
182
+ if (this.stretchAllColumnsWidth.length === _classPrivateFieldGet(this, _totalColumns).call(this) && this.needVerifyLastColumnWidth) {
183
+ this.needVerifyLastColumnWidth = false;
184
+ for (let i = 0; i < this.stretchAllColumnsWidth.length; i++) {
185
+ sumRatioWidth += this.stretchAllColumnsWidth[i];
186
+ }
187
+ if (sumRatioWidth !== _classPrivateFieldGet(this, _totalTargetWidth)) {
188
+ this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length - 1] += _classPrivateFieldGet(this, _totalTargetWidth) - sumRatioWidth;
189
+ }
190
+ }
191
+ return this.stretchAllColumnsWidth[column];
192
+ }
193
+
194
+ /**
195
+ * @param {number} column The visual column index.
196
+ * @returns {number|null}
197
+ * @private
198
+ */
199
+ _getStretchedLastColumnWidth(column) {
200
+ if (column === _classPrivateFieldGet(this, _totalColumns).call(this) - 1) {
201
+ return this.stretchLastWidth;
202
+ }
203
+ return null;
204
+ }
205
+
206
+ /**
207
+ * @param {number} column The visual column index.
208
+ * @returns {number}
209
+ * @private
210
+ */
211
+ _getColumnWidth(column) {
212
+ let width = _classPrivateFieldGet(this, _columnWidthFn).call(this, column);
213
+ if (isNaN(width)) {
214
+ width = ColumnStretching.DEFAULT_WIDTH;
215
+ }
216
+ return width;
217
+ }
218
+ }
219
+ exports.ColumnStretching = ColumnStretching;