@highcharts/grid-pro 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/README.md +35 -0
  2. package/css/grid-pro.css +1756 -0
  3. package/es-modules/Accessibility/A11yI18n.d.ts +95 -0
  4. package/es-modules/Accessibility/A11yI18n.js +290 -0
  5. package/es-modules/Accessibility/Accessibility.d.ts +116 -0
  6. package/es-modules/Accessibility/Accessibility.js +402 -0
  7. package/es-modules/Accessibility/AccessibilityComponent.d.ts +97 -0
  8. package/es-modules/Accessibility/AccessibilityComponent.js +147 -0
  9. package/es-modules/Accessibility/Components/AnnotationsA11y.d.ts +43 -0
  10. package/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
  11. package/es-modules/Accessibility/Components/ContainerComponent.d.ts +48 -0
  12. package/es-modules/Accessibility/Components/ContainerComponent.js +142 -0
  13. package/es-modules/Accessibility/Components/InfoRegionsComponent.d.ts +144 -0
  14. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +555 -0
  15. package/es-modules/Accessibility/Components/LegendComponent.d.ts +124 -0
  16. package/es-modules/Accessibility/Components/LegendComponent.js +474 -0
  17. package/es-modules/Accessibility/Components/MenuComponent.d.ts +93 -0
  18. package/es-modules/Accessibility/Components/MenuComponent.js +430 -0
  19. package/es-modules/Accessibility/Components/NavigatorComponent.d.ts +57 -0
  20. package/es-modules/Accessibility/Components/NavigatorComponent.js +235 -0
  21. package/es-modules/Accessibility/Components/RangeSelectorComponent.d.ts +126 -0
  22. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +473 -0
  23. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.d.ts +18 -0
  24. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +234 -0
  25. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.d.ts +87 -0
  26. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +309 -0
  27. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.d.ts +53 -0
  28. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +130 -0
  29. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.d.ts +28 -0
  30. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +415 -0
  31. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.d.ts +114 -0
  32. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +721 -0
  33. package/es-modules/Accessibility/Components/ZoomComponent.d.ts +96 -0
  34. package/es-modules/Accessibility/Components/ZoomComponent.js +314 -0
  35. package/es-modules/Accessibility/FocusBorder.d.ts +40 -0
  36. package/es-modules/Accessibility/FocusBorder.js +301 -0
  37. package/es-modules/Accessibility/HighContrastMode.d.ts +35 -0
  38. package/es-modules/Accessibility/HighContrastMode.js +100 -0
  39. package/es-modules/Accessibility/HighContrastTheme.d.ts +11 -0
  40. package/es-modules/Accessibility/HighContrastTheme.js +212 -0
  41. package/es-modules/Accessibility/KeyboardNavigation.d.ts +133 -0
  42. package/es-modules/Accessibility/KeyboardNavigation.js +450 -0
  43. package/es-modules/Accessibility/KeyboardNavigationHandler.d.ts +48 -0
  44. package/es-modules/Accessibility/KeyboardNavigationHandler.js +126 -0
  45. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +68 -0
  46. package/es-modules/Accessibility/Options/A11yDefaults.js +971 -0
  47. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +22 -0
  48. package/es-modules/Accessibility/Options/DeprecatedOptions.js +265 -0
  49. package/es-modules/Accessibility/Options/LangDefaults.d.ts +4 -0
  50. package/es-modules/Accessibility/Options/LangDefaults.js +440 -0
  51. package/es-modules/Accessibility/ProxyElement.d.ts +78 -0
  52. package/es-modules/Accessibility/ProxyElement.js +223 -0
  53. package/es-modules/Accessibility/ProxyProvider.d.ts +90 -0
  54. package/es-modules/Accessibility/ProxyProvider.js +315 -0
  55. package/es-modules/Accessibility/Utils/Announcer.d.ts +26 -0
  56. package/es-modules/Accessibility/Utils/Announcer.js +90 -0
  57. package/es-modules/Accessibility/Utils/ChartUtilities.d.ts +90 -0
  58. package/es-modules/Accessibility/Utils/ChartUtilities.js +298 -0
  59. package/es-modules/Accessibility/Utils/DOMElementProvider.d.ts +20 -0
  60. package/es-modules/Accessibility/Utils/DOMElementProvider.js +69 -0
  61. package/es-modules/Accessibility/Utils/EventProvider.d.ts +26 -0
  62. package/es-modules/Accessibility/Utils/EventProvider.js +65 -0
  63. package/es-modules/Accessibility/Utils/HTMLUtilities.d.ts +108 -0
  64. package/es-modules/Accessibility/Utils/HTMLUtilities.js +319 -0
  65. package/es-modules/Core/Animation/AnimationUtilities.d.ts +107 -0
  66. package/es-modules/Core/Animation/AnimationUtilities.js +200 -0
  67. package/es-modules/Core/Animation/Fx.d.ts +130 -0
  68. package/es-modules/Core/Animation/Fx.js +388 -0
  69. package/es-modules/Core/Chart/Chart.d.ts +1009 -0
  70. package/es-modules/Core/Chart/Chart.js +3008 -0
  71. package/es-modules/Core/Chart/Chart3D.d.ts +276 -0
  72. package/es-modules/Core/Chart/Chart3D.js +1686 -0
  73. package/es-modules/Core/Chart/ChartDefaults.d.ts +8 -0
  74. package/es-modules/Core/Chart/ChartDefaults.js +1304 -0
  75. package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +55 -0
  76. package/es-modules/Core/Chart/ChartNavigationComposition.js +90 -0
  77. package/es-modules/Core/Chart/GanttChart.d.ts +74 -0
  78. package/es-modules/Core/Chart/GanttChart.js +189 -0
  79. package/es-modules/Core/Chart/MapChart.d.ts +132 -0
  80. package/es-modules/Core/Chart/MapChart.js +232 -0
  81. package/es-modules/Core/Chart/StockChart.d.ts +117 -0
  82. package/es-modules/Core/Chart/StockChart.js +641 -0
  83. package/es-modules/Core/Color/Color.d.ts +112 -0
  84. package/es-modules/Core/Color/Color.js +418 -0
  85. package/es-modules/Core/Color/Palettes.d.ts +84 -0
  86. package/es-modules/Core/Color/Palettes.js +23 -0
  87. package/es-modules/Core/Defaults.d.ts +42 -0
  88. package/es-modules/Core/Defaults.js +2977 -0
  89. package/es-modules/Core/Foundation.d.ts +19 -0
  90. package/es-modules/Core/Foundation.js +63 -0
  91. package/es-modules/Core/Geometry/CircleUtilities.d.ts +189 -0
  92. package/es-modules/Core/Geometry/CircleUtilities.js +388 -0
  93. package/es-modules/Core/Geometry/GeometryUtilities.d.ts +48 -0
  94. package/es-modules/Core/Geometry/GeometryUtilities.js +105 -0
  95. package/es-modules/Core/Geometry/PolygonClip.d.ts +19 -0
  96. package/es-modules/Core/Geometry/PolygonClip.js +96 -0
  97. package/es-modules/Core/Globals.d.ts +110 -0
  98. package/es-modules/Core/Globals.js +127 -0
  99. package/es-modules/Core/HttpUtilities.d.ts +61 -0
  100. package/es-modules/Core/HttpUtilities.js +214 -0
  101. package/es-modules/Core/MSPointer.d.ts +74 -0
  102. package/es-modules/Core/MSPointer.js +218 -0
  103. package/es-modules/Core/Math3D.d.ts +117 -0
  104. package/es-modules/Core/Math3D.js +250 -0
  105. package/es-modules/Core/Pointer.d.ts +590 -0
  106. package/es-modules/Core/Pointer.js +1631 -0
  107. package/es-modules/Core/Renderer/HTML/AST.d.ts +163 -0
  108. package/es-modules/Core/Renderer/HTML/AST.js +562 -0
  109. package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +76 -0
  110. package/es-modules/Core/Renderer/HTML/HTMLElement.js +471 -0
  111. package/es-modules/Core/Renderer/RendererRegistry.d.ts +29 -0
  112. package/es-modules/Core/Renderer/RendererRegistry.js +76 -0
  113. package/es-modules/Core/Renderer/RendererUtilities.d.ts +26 -0
  114. package/es-modules/Core/Renderer/RendererUtilities.js +172 -0
  115. package/es-modules/Core/Responsive.d.ts +55 -0
  116. package/es-modules/Core/Responsive.js +260 -0
  117. package/es-modules/Core/Templating.d.ts +125 -0
  118. package/es-modules/Core/Templating.js +428 -0
  119. package/es-modules/Core/Time.d.ts +69 -0
  120. package/es-modules/Core/Time.js +172 -0
  121. package/es-modules/Core/Tooltip.d.ts +297 -0
  122. package/es-modules/Core/Tooltip.js +1377 -0
  123. package/es-modules/Core/Utilities.d.ts +770 -0
  124. package/es-modules/Core/Utilities.js +1989 -0
  125. package/es-modules/Data/ColumnUtils.d.ts +87 -0
  126. package/es-modules/Data/ColumnUtils.js +140 -0
  127. package/es-modules/Data/Connectors/CSVConnector.d.ts +63 -0
  128. package/es-modules/Data/Connectors/CSVConnector.js +149 -0
  129. package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +149 -0
  130. package/es-modules/Data/Connectors/DataConnector.d.ts +204 -0
  131. package/es-modules/Data/Connectors/DataConnector.js +345 -0
  132. package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +87 -0
  133. package/es-modules/Data/Connectors/DataConnectorType.d.ts +45 -0
  134. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +65 -0
  135. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +226 -0
  136. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +167 -0
  137. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +77 -0
  138. package/es-modules/Data/Connectors/HTMLTableConnector.js +119 -0
  139. package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +49 -0
  140. package/es-modules/Data/Connectors/JSONConnector.d.ts +64 -0
  141. package/es-modules/Data/Connectors/JSONConnector.js +156 -0
  142. package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +185 -0
  143. package/es-modules/Data/Converters/CSVConverter.d.ts +64 -0
  144. package/es-modules/Data/Converters/CSVConverter.js +374 -0
  145. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +53 -0
  146. package/es-modules/Data/Converters/DataConverter.d.ts +168 -0
  147. package/es-modules/Data/Converters/DataConverter.js +387 -0
  148. package/es-modules/Data/Converters/DataConverterType.d.ts +40 -0
  149. package/es-modules/Data/Converters/DataConverterUtils.d.ts +82 -0
  150. package/es-modules/Data/Converters/DataConverterUtils.js +216 -0
  151. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +46 -0
  152. package/es-modules/Data/Converters/GoogleSheetsConverter.js +135 -0
  153. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +52 -0
  154. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +72 -0
  155. package/es-modules/Data/Converters/HTMLTableConverter.js +362 -0
  156. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +51 -0
  157. package/es-modules/Data/Converters/JSONConverter.d.ts +99 -0
  158. package/es-modules/Data/Converters/JSONConverter.js +239 -0
  159. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +52 -0
  160. package/es-modules/Data/DataCursor.d.ts +176 -0
  161. package/es-modules/Data/DataCursor.js +379 -0
  162. package/es-modules/Data/DataEvent.d.ts +81 -0
  163. package/es-modules/Data/DataEvent.js +14 -0
  164. package/es-modules/Data/DataPool.d.ts +130 -0
  165. package/es-modules/Data/DataPool.js +257 -0
  166. package/es-modules/Data/DataPoolOptions.d.ts +66 -0
  167. package/es-modules/Data/DataTable.d.ts +563 -0
  168. package/es-modules/Data/DataTable.js +930 -0
  169. package/es-modules/Data/DataTableCore.d.ts +165 -0
  170. package/es-modules/Data/DataTableCore.js +316 -0
  171. package/es-modules/Data/DataTableOptions.d.ts +25 -0
  172. package/es-modules/Data/DataTableOptions.js +15 -0
  173. package/es-modules/Data/Formula/Formula.d.ts +21 -0
  174. package/es-modules/Data/Formula/Formula.js +54 -0
  175. package/es-modules/Data/Formula/FormulaParser.d.ts +31 -0
  176. package/es-modules/Data/Formula/FormulaParser.js +488 -0
  177. package/es-modules/Data/Formula/FormulaProcessor.d.ts +155 -0
  178. package/es-modules/Data/Formula/FormulaProcessor.js +529 -0
  179. package/es-modules/Data/Formula/FormulaTypes.d.ts +138 -0
  180. package/es-modules/Data/Formula/FormulaTypes.js +135 -0
  181. package/es-modules/Data/Formula/Functions/ABS.d.ts +19 -0
  182. package/es-modules/Data/Formula/Functions/ABS.js +67 -0
  183. package/es-modules/Data/Formula/Functions/AND.d.ts +20 -0
  184. package/es-modules/Data/Formula/Functions/AND.js +59 -0
  185. package/es-modules/Data/Formula/Functions/AVERAGE.d.ts +20 -0
  186. package/es-modules/Data/Formula/Functions/AVERAGE.js +74 -0
  187. package/es-modules/Data/Formula/Functions/AVERAGEA.d.ts +20 -0
  188. package/es-modules/Data/Formula/Functions/AVERAGEA.js +90 -0
  189. package/es-modules/Data/Formula/Functions/COUNT.d.ts +20 -0
  190. package/es-modules/Data/Formula/Functions/COUNT.js +65 -0
  191. package/es-modules/Data/Formula/Functions/COUNTA.d.ts +20 -0
  192. package/es-modules/Data/Formula/Functions/COUNTA.js +71 -0
  193. package/es-modules/Data/Formula/Functions/IF.d.ts +21 -0
  194. package/es-modules/Data/Formula/Functions/IF.js +54 -0
  195. package/es-modules/Data/Formula/Functions/ISNA.d.ts +20 -0
  196. package/es-modules/Data/Formula/Functions/ISNA.js +52 -0
  197. package/es-modules/Data/Formula/Functions/MAX.d.ts +20 -0
  198. package/es-modules/Data/Formula/Functions/MAX.js +69 -0
  199. package/es-modules/Data/Formula/Functions/MEDIAN.d.ts +20 -0
  200. package/es-modules/Data/Formula/Functions/MEDIAN.js +78 -0
  201. package/es-modules/Data/Formula/Functions/MIN.d.ts +20 -0
  202. package/es-modules/Data/Formula/Functions/MIN.js +69 -0
  203. package/es-modules/Data/Formula/Functions/MOD.d.ts +20 -0
  204. package/es-modules/Data/Formula/Functions/MOD.js +63 -0
  205. package/es-modules/Data/Formula/Functions/MODE.d.ts +41 -0
  206. package/es-modules/Data/Formula/Functions/MODE.js +149 -0
  207. package/es-modules/Data/Formula/Functions/NOT.d.ts +20 -0
  208. package/es-modules/Data/Formula/Functions/NOT.js +60 -0
  209. package/es-modules/Data/Formula/Functions/OR.d.ts +20 -0
  210. package/es-modules/Data/Formula/Functions/OR.js +62 -0
  211. package/es-modules/Data/Formula/Functions/PRODUCT.d.ts +20 -0
  212. package/es-modules/Data/Formula/Functions/PRODUCT.js +68 -0
  213. package/es-modules/Data/Formula/Functions/SUM.d.ts +20 -0
  214. package/es-modules/Data/Formula/Functions/SUM.js +65 -0
  215. package/es-modules/Data/Formula/Functions/XOR.d.ts +20 -0
  216. package/es-modules/Data/Formula/Functions/XOR.js +81 -0
  217. package/es-modules/Data/Modifiers/ChainModifier.d.ts +128 -0
  218. package/es-modules/Data/Modifiers/ChainModifier.js +231 -0
  219. package/es-modules/Data/Modifiers/ChainModifierOptions.d.ts +20 -0
  220. package/es-modules/Data/Modifiers/ChainModifierOptions.js +14 -0
  221. package/es-modules/Data/Modifiers/DataModifier.d.ts +117 -0
  222. package/es-modules/Data/Modifiers/DataModifier.js +202 -0
  223. package/es-modules/Data/Modifiers/DataModifierEvent.d.ts +28 -0
  224. package/es-modules/Data/Modifiers/DataModifierEvent.js +15 -0
  225. package/es-modules/Data/Modifiers/DataModifierOptions.d.ts +11 -0
  226. package/es-modules/Data/Modifiers/DataModifierOptions.js +15 -0
  227. package/es-modules/Data/Modifiers/DataModifierType.d.ts +44 -0
  228. package/es-modules/Data/Modifiers/FilterModifier.d.ts +53 -0
  229. package/es-modules/Data/Modifiers/FilterModifier.js +172 -0
  230. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +110 -0
  231. package/es-modules/Data/Modifiers/FilterModifierOptions.js +14 -0
  232. package/es-modules/Data/Modifiers/InvertModifier.d.ts +48 -0
  233. package/es-modules/Data/Modifiers/InvertModifier.js +116 -0
  234. package/es-modules/Data/Modifiers/InvertModifierOptions.d.ts +11 -0
  235. package/es-modules/Data/Modifiers/InvertModifierOptions.js +15 -0
  236. package/es-modules/Data/Modifiers/MathModifier.d.ts +68 -0
  237. package/es-modules/Data/Modifiers/MathModifier.js +165 -0
  238. package/es-modules/Data/Modifiers/MathModifierOptions.d.ts +50 -0
  239. package/es-modules/Data/Modifiers/MathModifierOptions.js +14 -0
  240. package/es-modules/Data/Modifiers/RangeModifier.d.ts +46 -0
  241. package/es-modules/Data/Modifiers/RangeModifier.js +96 -0
  242. package/es-modules/Data/Modifiers/RangeModifierOptions.d.ts +22 -0
  243. package/es-modules/Data/Modifiers/RangeModifierOptions.js +15 -0
  244. package/es-modules/Data/Modifiers/SortModifier.d.ts +54 -0
  245. package/es-modules/Data/Modifiers/SortModifier.js +144 -0
  246. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +44 -0
  247. package/es-modules/Data/Modifiers/SortModifierOptions.js +14 -0
  248. package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +148 -0
  249. package/es-modules/Grid/Core/Accessibility/A11yOptions.js +17 -0
  250. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +115 -0
  251. package/es-modules/Grid/Core/Accessibility/Accessibility.js +231 -0
  252. package/es-modules/Grid/Core/Credits.d.ts +57 -0
  253. package/es-modules/Grid/Core/Credits.js +125 -0
  254. package/es-modules/Grid/Core/Defaults.d.ts +20 -0
  255. package/es-modules/Grid/Core/Defaults.js +148 -0
  256. package/es-modules/Grid/Core/Globals.d.ts +103 -0
  257. package/es-modules/Grid/Core/Globals.js +134 -0
  258. package/es-modules/Grid/Core/Grid.d.ts +295 -0
  259. package/es-modules/Grid/Core/Grid.js +730 -0
  260. package/es-modules/Grid/Core/GridUtils.d.ts +110 -0
  261. package/es-modules/Grid/Core/GridUtils.js +191 -0
  262. package/es-modules/Grid/Core/Options.d.ts +599 -0
  263. package/es-modules/Grid/Core/Options.js +16 -0
  264. package/es-modules/Grid/Core/Pagination/Icons.d.ts +7 -0
  265. package/es-modules/Grid/Core/Pagination/Icons.js +7 -0
  266. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +278 -0
  267. package/es-modules/Grid/Core/Pagination/Pagination.js +842 -0
  268. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +228 -0
  269. package/es-modules/Grid/Core/Querying/FilteringController.d.ts +66 -0
  270. package/es-modules/Grid/Core/Querying/FilteringController.js +256 -0
  271. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +50 -0
  272. package/es-modules/Grid/Core/Querying/PaginationController.js +101 -0
  273. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +58 -0
  274. package/es-modules/Grid/Core/Querying/QueryingController.js +127 -0
  275. package/es-modules/Grid/Core/Querying/SortingController.d.ts +67 -0
  276. package/es-modules/Grid/Core/Querying/SortingController.js +136 -0
  277. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.d.ts +114 -0
  278. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +351 -0
  279. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +14 -0
  280. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +86 -0
  281. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +19 -0
  282. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +80 -0
  283. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.d.ts +52 -0
  284. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +81 -0
  285. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +56 -0
  286. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +170 -0
  287. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.d.ts +55 -0
  288. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +182 -0
  289. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +87 -0
  290. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +346 -0
  291. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +88 -0
  292. package/es-modules/Grid/Core/Table/Body/TableCell.js +231 -0
  293. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +79 -0
  294. package/es-modules/Grid/Core/Table/Body/TableRow.js +177 -0
  295. package/es-modules/Grid/Core/Table/Cell.d.ts +92 -0
  296. package/es-modules/Grid/Core/Table/Cell.js +223 -0
  297. package/es-modules/Grid/Core/Table/CellContent/CellContent.d.ts +30 -0
  298. package/es-modules/Grid/Core/Table/CellContent/CellContent.js +40 -0
  299. package/es-modules/Grid/Core/Table/CellContent/TextContent.d.ts +19 -0
  300. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +98 -0
  301. package/es-modules/Grid/Core/Table/Column.d.ts +136 -0
  302. package/es-modules/Grid/Core/Table/Column.js +230 -0
  303. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.d.ts +7 -0
  304. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +62 -0
  305. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.d.ts +32 -0
  306. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +68 -0
  307. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.d.ts +7 -0
  308. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +53 -0
  309. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.d.ts +7 -0
  310. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +63 -0
  311. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.d.ts +92 -0
  312. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +194 -0
  313. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +68 -0
  314. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +187 -0
  315. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.d.ts +29 -0
  316. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +77 -0
  317. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.d.ts +13 -0
  318. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +79 -0
  319. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +12 -0
  320. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +71 -0
  321. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.d.ts +12 -0
  322. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +66 -0
  323. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.d.ts +25 -0
  324. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +65 -0
  325. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.d.ts +12 -0
  326. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +81 -0
  327. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.d.ts +12 -0
  328. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +80 -0
  329. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +11 -0
  330. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +81 -0
  331. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +70 -0
  332. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +225 -0
  333. package/es-modules/Grid/Core/Table/Header/HeaderRow.d.ts +53 -0
  334. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +182 -0
  335. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +65 -0
  336. package/es-modules/Grid/Core/Table/Header/TableHeader.js +159 -0
  337. package/es-modules/Grid/Core/Table/Row.d.ts +76 -0
  338. package/es-modules/Grid/Core/Table/Row.js +131 -0
  339. package/es-modules/Grid/Core/Table/Table.d.ts +181 -0
  340. package/es-modules/Grid/Core/Table/Table.js +399 -0
  341. package/es-modules/Grid/Core/UI/Button.d.ts +31 -0
  342. package/es-modules/Grid/Core/UI/Button.js +16 -0
  343. package/es-modules/Grid/Core/UI/ContextMenu.d.ts +38 -0
  344. package/es-modules/Grid/Core/UI/ContextMenu.js +132 -0
  345. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +126 -0
  346. package/es-modules/Grid/Core/UI/ContextMenuButton.js +183 -0
  347. package/es-modules/Grid/Core/UI/Popup.d.ts +149 -0
  348. package/es-modules/Grid/Core/UI/Popup.js +271 -0
  349. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +53 -0
  350. package/es-modules/Grid/Core/UI/SvgIcons.js +158 -0
  351. package/es-modules/Grid/Core/UI/Toolbar.d.ts +16 -0
  352. package/es-modules/Grid/Core/UI/Toolbar.js +16 -0
  353. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +135 -0
  354. package/es-modules/Grid/Core/UI/ToolbarButton.js +191 -0
  355. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +112 -0
  356. package/es-modules/Grid/Pro/CellEditing/CellEditing.d.ts +80 -0
  357. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +211 -0
  358. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.d.ts +123 -0
  359. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +198 -0
  360. package/es-modules/Grid/Pro/CellRendering/CellContentPro.d.ts +23 -0
  361. package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +45 -0
  362. package/es-modules/Grid/Pro/CellRendering/CellRenderer.d.ts +50 -0
  363. package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +41 -0
  364. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.d.ts +18 -0
  365. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +58 -0
  366. package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +48 -0
  367. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +18 -0
  368. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +79 -0
  369. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +30 -0
  370. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +122 -0
  371. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.d.ts +12 -0
  372. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +39 -0
  373. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.d.ts +66 -0
  374. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +145 -0
  375. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.d.ts +12 -0
  376. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +38 -0
  377. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.d.ts +58 -0
  378. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +158 -0
  379. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +58 -0
  380. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +173 -0
  381. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +28 -0
  382. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +157 -0
  383. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +58 -0
  384. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +168 -0
  385. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.d.ts +13 -0
  386. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +41 -0
  387. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.d.ts +50 -0
  388. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +65 -0
  389. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.d.ts +37 -0
  390. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +65 -0
  391. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.d.ts +26 -0
  392. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +16 -0
  393. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.d.ts +37 -0
  394. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +64 -0
  395. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.d.ts +52 -0
  396. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +64 -0
  397. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.d.ts +74 -0
  398. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +66 -0
  399. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +45 -0
  400. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +89 -0
  401. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.d.ts +54 -0
  402. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +65 -0
  403. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.d.ts +43 -0
  404. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +74 -0
  405. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.d.ts +37 -0
  406. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +64 -0
  407. package/es-modules/Grid/Pro/ColumnTypes/ColumnDataType.d.ts +29 -0
  408. package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +118 -0
  409. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +270 -0
  410. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +32 -0
  411. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +63 -0
  412. package/es-modules/Grid/Pro/Credits/CreditsPro.d.ts +35 -0
  413. package/es-modules/Grid/Pro/Credits/CreditsPro.js +112 -0
  414. package/es-modules/Grid/Pro/Credits/CreditsProComposition.d.ts +28 -0
  415. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +61 -0
  416. package/es-modules/Grid/Pro/Export/Exporting.d.ts +68 -0
  417. package/es-modules/Grid/Pro/Export/Exporting.js +202 -0
  418. package/es-modules/Grid/Pro/Export/ExportingComposition.d.ts +68 -0
  419. package/es-modules/Grid/Pro/Export/ExportingComposition.js +55 -0
  420. package/es-modules/Grid/Pro/GridEvents.d.ts +119 -0
  421. package/es-modules/Grid/Pro/GridEvents.js +107 -0
  422. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +75 -0
  423. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +76 -0
  424. package/es-modules/Grid/Pro/highcharts.d.ts +7 -0
  425. package/es-modules/Grid/index.d.ts +5 -0
  426. package/es-modules/Grid/index.js +19 -0
  427. package/es-modules/Shared/BaseForm.d.ts +49 -0
  428. package/es-modules/Shared/BaseForm.js +126 -0
  429. package/es-modules/Shared/DownloadURL.d.ts +85 -0
  430. package/es-modules/Shared/DownloadURL.js +198 -0
  431. package/es-modules/Shared/LangOptionsCore.d.ts +27 -0
  432. package/es-modules/Shared/TimeBase.d.ts +353 -0
  433. package/es-modules/Shared/TimeBase.js +830 -0
  434. package/es-modules/Shared/Types.d.ts +48 -0
  435. package/es-modules/masters/grid-pro.src.d.ts +99 -0
  436. package/es-modules/masters/grid-pro.src.js +129 -0
  437. package/grid-pro.d.ts +50 -0
  438. package/grid-pro.js +12 -0
  439. package/grid-pro.js.map +1 -0
  440. package/grid-pro.src.d.ts +50 -0
  441. package/grid-pro.src.js +26623 -0
  442. package/package.json +21 -0
@@ -0,0 +1,165 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ *
12
+ * */
13
+ 'use strict';
14
+ import DataModifier from './DataModifier.js';
15
+ import FormulaParser from '../Formula/FormulaParser.js';
16
+ import FormulaProcessor from '../Formula/FormulaProcessor.js';
17
+ /* *
18
+ *
19
+ * Class
20
+ *
21
+ * */
22
+ /**
23
+ * Replaces formula strings in a table with calculated values.
24
+ *
25
+ * @class
26
+ * @name Highcharts.DataModifier.types.MathModifier
27
+ * @augments Highcharts.DataModifier
28
+ */
29
+ class MathModifier extends DataModifier {
30
+ /* *
31
+ *
32
+ * Constructor
33
+ *
34
+ * */
35
+ constructor(options) {
36
+ super();
37
+ this.options = {
38
+ ...MathModifier.defaultOptions,
39
+ ...options
40
+ };
41
+ }
42
+ /* *
43
+ *
44
+ * Functions
45
+ *
46
+ * */
47
+ modifyTable(table, eventDetail) {
48
+ const modifier = this;
49
+ modifier.emit({ type: 'modify', detail: eventDetail, table });
50
+ const alternativeSeparators = modifier.options.alternativeSeparators, formulaColumns = (modifier.options.formulaColumns ||
51
+ table.getColumnIds()), modified = table.getModified();
52
+ for (let i = 0, iEnd = formulaColumns.length, columnId; i < iEnd; ++i) {
53
+ columnId = formulaColumns[i];
54
+ if (formulaColumns.indexOf(columnId) >= 0) {
55
+ modified.setColumn(columnId, modifier.processColumn(table, columnId));
56
+ }
57
+ }
58
+ const columnFormulas = (modifier.options.columnFormulas || []);
59
+ for (let i = 0, iEnd = columnFormulas.length, columnFormula, formula; i < iEnd; ++i) {
60
+ columnFormula = columnFormulas[i];
61
+ formula = FormulaParser.parseFormula(columnFormula.formula, alternativeSeparators);
62
+ modified.setColumn(columnFormula.column, modifier.processColumnFormula(formula, table, columnFormula.rowStart, columnFormula.rowEnd));
63
+ }
64
+ modifier.emit({ type: 'afterModify', detail: eventDetail, table });
65
+ return table;
66
+ }
67
+ /**
68
+ * Process a column by replacing formula strings with calculated values.
69
+ *
70
+ * @private
71
+ *
72
+ * @param {Highcharts.DataTable} table
73
+ * Table to extract column from and use as reference.
74
+ *
75
+ * @param {string} columnId
76
+ * Id of column to process.
77
+ *
78
+ * @param {number} rowIndex
79
+ * Row index to start the replacing process from.
80
+ *
81
+ * @return {Highcharts.DataTableColumn}
82
+ * Returns the processed table column.
83
+ */
84
+ processColumn(table, columnId, rowIndex = 0) {
85
+ const alternativeSeparators = this.options.alternativeSeparators, column = (table.getColumn(columnId, true) || [])
86
+ .slice(rowIndex > 0 ? rowIndex : 0);
87
+ for (let i = 0, iEnd = column.length, cacheFormula = [], cacheString = '', cell; i < iEnd; ++i) {
88
+ cell = column[i];
89
+ if (typeof cell === 'string' &&
90
+ cell[0] === '=') {
91
+ try {
92
+ // Use cache while formula string is repetitive
93
+ cacheFormula = (cacheString === cell ?
94
+ cacheFormula :
95
+ FormulaParser.parseFormula(cell.substring(1), alternativeSeparators));
96
+ // Process parsed formula string
97
+ column[i] =
98
+ FormulaProcessor.processFormula(cacheFormula, table);
99
+ }
100
+ catch {
101
+ column[i] = NaN;
102
+ }
103
+ }
104
+ }
105
+ return column;
106
+ }
107
+ /**
108
+ * Process a column by replacing cell values with calculated values from a
109
+ * given formula.
110
+ *
111
+ * @private
112
+ *
113
+ * @param {Highcharts.Formula} formula
114
+ * Formula to use for processing.
115
+ *
116
+ * @param {Highcharts.DataTable} table
117
+ * Table to extract column from and use as reference.
118
+ *
119
+ * @param {number} rowStart
120
+ * Row index to start the replacing process from.
121
+ *
122
+ * @param {number} rowEnd
123
+ * Row index to end the replacing process.
124
+ *
125
+ * @return {Highcharts.DataTableColumn}
126
+ * Returns the processed table column.
127
+ */
128
+ processColumnFormula(formula, table, rowStart = 0, rowEnd = table.getRowCount()) {
129
+ rowStart = rowStart >= 0 ? rowStart : 0;
130
+ rowEnd = rowEnd >= 0 ? rowEnd : table.getRowCount() + rowEnd;
131
+ const column = [], modified = table.getModified();
132
+ for (let i = 0, iEnd = (rowEnd - rowStart); i < iEnd; ++i) {
133
+ try {
134
+ column[i] = FormulaProcessor.processFormula(formula, modified);
135
+ }
136
+ catch {
137
+ column[i] = NaN;
138
+ }
139
+ finally {
140
+ formula = FormulaProcessor.translateReferences(formula, 0, 1);
141
+ }
142
+ }
143
+ return column;
144
+ }
145
+ }
146
+ /* *
147
+ *
148
+ * Static Properties
149
+ *
150
+ * */
151
+ /**
152
+ * Default options of MathModifier.
153
+ * @private
154
+ */
155
+ MathModifier.defaultOptions = {
156
+ type: 'Math',
157
+ alternativeSeparators: false
158
+ };
159
+ DataModifier.registerType('Math', MathModifier);
160
+ /* *
161
+ *
162
+ * Default Export
163
+ *
164
+ * */
165
+ export default MathModifier;
@@ -0,0 +1,50 @@
1
+ import type DataModifierOptions from './DataModifierOptions';
2
+ /**
3
+ * Options to configure a formula replacing column values.
4
+ */
5
+ export interface MathModifierColumnFormulaOptions {
6
+ /**
7
+ * Column name in the DataTable to replace with values of the
8
+ * formula.
9
+ */
10
+ column: string;
11
+ /**
12
+ * Formula to use to replace column values.
13
+ */
14
+ formula: string;
15
+ /**
16
+ * Row index to end the replacing process.
17
+ */
18
+ rowEnd?: number;
19
+ /**
20
+ * Row index to start the replacing process from.
21
+ */
22
+ rowStart?: number;
23
+ }
24
+ /**
25
+ * Options to configure the MathModifier and Formula system.
26
+ */
27
+ export interface MathModifierOptions extends DataModifierOptions {
28
+ /**
29
+ * Name of the related modifier for these options.
30
+ */
31
+ type: 'Math';
32
+ /**
33
+ * Whether to expect regular or alternative separators in formulas.
34
+ * * `false` to expect `,` between arguments and `.` in decimals.
35
+ * * `true` to expect `;` between arguments and `,` in decimals.
36
+ */
37
+ alternativeSeparators: boolean;
38
+ /**
39
+ * Array of column formulas that will be used to replace the column
40
+ * values in their columns.
41
+ */
42
+ columnFormulas?: Array<MathModifierColumnFormulaOptions>;
43
+ /**
44
+ * Array of column names to replace formula strings to
45
+ * replace with calculated values. By default all columns in a table
46
+ * will be processed.
47
+ */
48
+ formulaColumns?: Array<string>;
49
+ }
50
+ export default MathModifierOptions;
@@ -0,0 +1,14 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ *
12
+ * */
13
+ 'use strict';
14
+ export {};
@@ -0,0 +1,46 @@
1
+ import type DataEvent from '../DataEvent';
2
+ import type { RangeModifierOptions } from './RangeModifierOptions';
3
+ import DataModifier from './DataModifier.js';
4
+ import DataTable from '../DataTable.js';
5
+ /**
6
+ * Slices the table rows based on the specified range.
7
+ */
8
+ declare class RangeModifier extends DataModifier {
9
+ /**
10
+ * Default options for the range modifier.
11
+ */
12
+ static readonly defaultOptions: RangeModifierOptions;
13
+ /**
14
+ * Constructs an instance of the range modifier.
15
+ *
16
+ * @param {Partial<RangeModifier.Options>} [options]
17
+ * Options to configure the range modifier.
18
+ */
19
+ constructor(options?: Partial<RangeModifierOptions>);
20
+ /**
21
+ * Options of the range modifier.
22
+ */
23
+ readonly options: RangeModifierOptions;
24
+ /**
25
+ * Replaces table rows with ranged rows. If the given table does not have
26
+ * defined a `modified` property, the filtering is applied in-place on the
27
+ * original table rather than on a `modified` copy.
28
+ *
29
+ * @param {DataTable} table
30
+ * Table to modify.
31
+ *
32
+ * @param {DataEvent.Detail} [eventDetail]
33
+ * Custom information for pending events.
34
+ *
35
+ * @return {DataTable}
36
+ * Table with `modified` property as a reference or modified table, if
37
+ * `modified` property of the original table is undefined.
38
+ */
39
+ modifyTable(table: DataTable, eventDetail?: DataEvent.Detail): DataTable;
40
+ }
41
+ declare module './DataModifierType' {
42
+ interface DataModifierTypes {
43
+ Range: typeof RangeModifier;
44
+ }
45
+ }
46
+ export default RangeModifier;
@@ -0,0 +1,96 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ * - Dawid Dragula
12
+ *
13
+ * */
14
+ 'use strict';
15
+ import DataModifier from './DataModifier.js';
16
+ import U from '../../Core/Utilities.js';
17
+ const { merge } = U;
18
+ /* *
19
+ *
20
+ * Class
21
+ *
22
+ * */
23
+ /**
24
+ * Slices the table rows based on the specified range.
25
+ */
26
+ class RangeModifier extends DataModifier {
27
+ /* *
28
+ *
29
+ * Constructor
30
+ *
31
+ * */
32
+ /**
33
+ * Constructs an instance of the range modifier.
34
+ *
35
+ * @param {Partial<RangeModifier.Options>} [options]
36
+ * Options to configure the range modifier.
37
+ */
38
+ constructor(options) {
39
+ super();
40
+ this.options = merge(RangeModifier.defaultOptions, options);
41
+ }
42
+ /* *
43
+ *
44
+ * Functions
45
+ *
46
+ * */
47
+ /**
48
+ * Replaces table rows with ranged rows. If the given table does not have
49
+ * defined a `modified` property, the filtering is applied in-place on the
50
+ * original table rather than on a `modified` copy.
51
+ *
52
+ * @param {DataTable} table
53
+ * Table to modify.
54
+ *
55
+ * @param {DataEvent.Detail} [eventDetail]
56
+ * Custom information for pending events.
57
+ *
58
+ * @return {DataTable}
59
+ * Table with `modified` property as a reference or modified table, if
60
+ * `modified` property of the original table is undefined.
61
+ */
62
+ modifyTable(table, eventDetail) {
63
+ const modifier = this;
64
+ modifier.emit({ type: 'modify', detail: eventDetail, table });
65
+ let { start, end } = modifier.options;
66
+ start = Math.max(0, start || 0);
67
+ end = Math.min(end || Infinity, table.getRowCount());
68
+ const length = Math.max(end - start, 0);
69
+ const modified = table.getModified();
70
+ modified.deleteRows();
71
+ modified.setRows(table.getRows(start, length));
72
+ modified.setOriginalRowIndexes(Array.from({ length }, (_, i) => table.getOriginalRowIndex(start + i)));
73
+ modifier.emit({ type: 'afterModify', detail: eventDetail, table });
74
+ return table;
75
+ }
76
+ }
77
+ /* *
78
+ *
79
+ * Static Properties
80
+ *
81
+ * */
82
+ /**
83
+ * Default options for the range modifier.
84
+ */
85
+ RangeModifier.defaultOptions = {
86
+ type: 'Range',
87
+ start: 0,
88
+ end: Infinity
89
+ };
90
+ DataModifier.registerType('Range', RangeModifier);
91
+ /* *
92
+ *
93
+ * Default Export
94
+ *
95
+ * */
96
+ export default RangeModifier;
@@ -0,0 +1,22 @@
1
+ import type DataModifierOptions from './DataModifierOptions';
2
+ /**
3
+ * Options to configure the modifier.
4
+ */
5
+ export interface RangeModifierOptions extends DataModifierOptions {
6
+ /**
7
+ * Name of the related modifier for these options.
8
+ */
9
+ type: 'Range';
10
+ /**
11
+ * Zero-based index at which to start the range. If not set, the range
12
+ * starts at the beginning of the table.
13
+ */
14
+ start?: number;
15
+ /**
16
+ * Zero-based index at which to end the range. The row at this index
17
+ * is not included in the range. If not set, the range ends at the end of
18
+ * the table.
19
+ */
20
+ end?: number;
21
+ }
22
+ export default RangeModifierOptions;
@@ -0,0 +1,15 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ * - Dawid Dragula
12
+ *
13
+ * */
14
+ 'use strict';
15
+ export {};
@@ -0,0 +1,54 @@
1
+ import type DataEvent from '../DataEvent';
2
+ import type SortModifierOptions from './SortModifierOptions';
3
+ import DataModifier from './DataModifier.js';
4
+ import DataTable from '../DataTable.js';
5
+ /** @private */
6
+ interface SortRowReference {
7
+ index: number;
8
+ row: DataTable.Row;
9
+ }
10
+ /**
11
+ * Sort table rows according to values of a column.
12
+ *
13
+ */
14
+ declare class SortModifier extends DataModifier {
15
+ /**
16
+ * Default options to group table rows.
17
+ */
18
+ static readonly defaultOptions: SortModifierOptions;
19
+ private static ascending;
20
+ private static descending;
21
+ private static compareFactory;
22
+ /**
23
+ * Constructs an instance of the sort modifier.
24
+ *
25
+ * @param {Partial<SortDataModifier.Options>} [options]
26
+ * Options to configure the sort modifier.
27
+ */
28
+ constructor(options?: Partial<SortModifierOptions>);
29
+ options: SortModifierOptions;
30
+ /**
31
+ * Returns index and row for sort reference.
32
+ *
33
+ * @private
34
+ *
35
+ * @param {Highcharts.DataTable} table
36
+ * Table with rows to reference.
37
+ *
38
+ * @return {Array<SortModifier.RowReference>}
39
+ * Array of row references.
40
+ */
41
+ protected getRowReferences(table: DataTable): Array<SortRowReference>;
42
+ modifyTable(table: DataTable, eventDetail?: DataEvent.Detail): DataTable;
43
+ }
44
+ /**
45
+ * Additionally provided types for modifier events and options.
46
+ */
47
+ declare namespace SortModifier {
48
+ }
49
+ declare module './DataModifierType' {
50
+ interface DataModifierTypes {
51
+ Sort: typeof SortModifier;
52
+ }
53
+ }
54
+ export default SortModifier;
@@ -0,0 +1,144 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ * - Dawid Dragula
12
+ *
13
+ * */
14
+ 'use strict';
15
+ import DataModifier from './DataModifier.js';
16
+ import U from '../../Core/Utilities.js';
17
+ const { merge } = U;
18
+ /* *
19
+ *
20
+ * Class
21
+ *
22
+ * */
23
+ /**
24
+ * Sort table rows according to values of a column.
25
+ *
26
+ */
27
+ class SortModifier extends DataModifier {
28
+ /* *
29
+ *
30
+ * Static Functions
31
+ *
32
+ * */
33
+ static ascending(a, b) {
34
+ return ((a || 0) < (b || 0) ? -1 :
35
+ (a || 0) > (b || 0) ? 1 :
36
+ 0);
37
+ }
38
+ static descending(a, b) {
39
+ return ((b || 0) < (a || 0) ? -1 :
40
+ (b || 0) > (a || 0) ? 1 :
41
+ 0);
42
+ }
43
+ static compareFactory(direction, customCompare) {
44
+ if (customCompare) {
45
+ if (direction === 'desc') {
46
+ return (a, b) => -customCompare(a, b);
47
+ }
48
+ return customCompare;
49
+ }
50
+ return (direction === 'asc' ?
51
+ SortModifier.ascending :
52
+ SortModifier.descending);
53
+ }
54
+ /* *
55
+ *
56
+ * Constructor
57
+ *
58
+ * */
59
+ /**
60
+ * Constructs an instance of the sort modifier.
61
+ *
62
+ * @param {Partial<SortDataModifier.Options>} [options]
63
+ * Options to configure the sort modifier.
64
+ */
65
+ constructor(options) {
66
+ super();
67
+ this.options = merge(SortModifier.defaultOptions, options);
68
+ }
69
+ /* *
70
+ *
71
+ * Functions
72
+ *
73
+ * */
74
+ /**
75
+ * Returns index and row for sort reference.
76
+ *
77
+ * @private
78
+ *
79
+ * @param {Highcharts.DataTable} table
80
+ * Table with rows to reference.
81
+ *
82
+ * @return {Array<SortModifier.RowReference>}
83
+ * Array of row references.
84
+ */
85
+ getRowReferences(table) {
86
+ const rows = table.getRows(), rowReferences = [];
87
+ for (let i = 0, iEnd = rows.length; i < iEnd; ++i) {
88
+ rowReferences.push({
89
+ index: i,
90
+ row: rows[i]
91
+ });
92
+ }
93
+ return rowReferences;
94
+ }
95
+ modifyTable(table, eventDetail) {
96
+ const modifier = this;
97
+ modifier.emit({ type: 'modify', detail: eventDetail, table });
98
+ const columnIds = table.getColumnIds(), rowCount = table.getRowCount(), rowReferences = this.getRowReferences(table), { direction, orderByColumn, orderInColumn, compare: customCompare } = modifier.options, compare = SortModifier.compareFactory(direction, customCompare), orderByColumnIndex = columnIds.indexOf(orderByColumn), modified = table.getModified();
99
+ if (orderByColumnIndex !== -1) {
100
+ rowReferences.sort((a, b) => compare(a.row[orderByColumnIndex], b.row[orderByColumnIndex]));
101
+ }
102
+ if (orderInColumn) {
103
+ const column = [];
104
+ for (let i = 0; i < rowCount; ++i) {
105
+ column[rowReferences[i].index] = i;
106
+ }
107
+ modified.setColumns({ [orderInColumn]: column });
108
+ }
109
+ else {
110
+ const originalIndexes = [];
111
+ const rows = [];
112
+ let rowReference;
113
+ for (let i = 0; i < rowCount; ++i) {
114
+ rowReference = rowReferences[i];
115
+ originalIndexes.push(table.getOriginalRowIndex(rowReference.index));
116
+ rows.push(rowReference.row);
117
+ }
118
+ modified.setRows(rows, 0);
119
+ modified.setOriginalRowIndexes(originalIndexes);
120
+ }
121
+ modifier.emit({ type: 'afterModify', detail: eventDetail, table });
122
+ return table;
123
+ }
124
+ }
125
+ /* *
126
+ *
127
+ * Static Properties
128
+ *
129
+ * */
130
+ /**
131
+ * Default options to group table rows.
132
+ */
133
+ SortModifier.defaultOptions = {
134
+ type: 'Sort',
135
+ direction: 'desc',
136
+ orderByColumn: 'y'
137
+ };
138
+ DataModifier.registerType('Sort', SortModifier);
139
+ /* *
140
+ *
141
+ * Default Export
142
+ *
143
+ * */
144
+ export default SortModifier;
@@ -0,0 +1,44 @@
1
+ import type DataModifierOptions from './DataModifierOptions';
2
+ import type DataTable from '../DataTable';
3
+ /**
4
+ * Options to configure the modifier.
5
+ */
6
+ export interface SortModifierOptions extends DataModifierOptions {
7
+ /**
8
+ * Name of the related modifier for these options.
9
+ */
10
+ type: 'Sort';
11
+ /**
12
+ * Direction of sorting.
13
+ *
14
+ * @default "desc"
15
+ */
16
+ direction: ('asc' | 'desc');
17
+ /**
18
+ * Custom compare function to sort the column values. It overrides the
19
+ * default sorting behavior. If not set, the default sorting behavior is
20
+ * used.
21
+ *
22
+ * @param a
23
+ * The first value to compare.
24
+ *
25
+ * @param b
26
+ * The second value to compare.
27
+ *
28
+ * @return
29
+ * A number indicating whether the first value (`a`) is less than (`-1`),
30
+ * equal to (`0`), or greater than (`1`) the second value (`b`).
31
+ */
32
+ compare?: (a: DataTable.CellType, b: DataTable.CellType) => number;
33
+ /**
34
+ * Column with values to order.
35
+ *
36
+ * @default "y"
37
+ */
38
+ orderByColumn: string;
39
+ /**
40
+ * Column to update with order index instead of change order of rows.
41
+ */
42
+ orderInColumn?: string;
43
+ }
44
+ export default SortModifierOptions;
@@ -0,0 +1,14 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ *
12
+ * */
13
+ 'use strict';
14
+ export {};