@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,204 @@
1
+ import type { DataConnectorTypes } from './DataConnectorType';
2
+ import type { DataConnectorOptions, MetaColumn, Metadata } from './DataConnectorOptions';
3
+ import type DataEvent from '../DataEvent';
4
+ import type DataConverterType from '../Converters/DataConverterType';
5
+ import DataConverter from '../Converters/DataConverter.js';
6
+ import DataTable from '../DataTable.js';
7
+ /**
8
+ * Abstract class providing an interface for managing a DataConnector.
9
+ */
10
+ declare abstract class DataConnector implements DataEvent.Emitter<DataConnector.Event> {
11
+ /**
12
+ * The DataConverter responsible for handling conversion of provided data to
13
+ * a DataConnector.
14
+ */
15
+ converter?: DataConverter;
16
+ /**
17
+ * Metadata to describe the connector and the content of columns.
18
+ */
19
+ readonly metadata: Metadata;
20
+ /**
21
+ * Tables managed by this DataConnector instance.
22
+ */
23
+ readonly dataTables: Record<string, DataTable>;
24
+ /**
25
+ * The options of the connector.
26
+ */
27
+ readonly options: DataConnectorOptions;
28
+ /**
29
+ * ID of the polling timeout.
30
+ */
31
+ private _polling?;
32
+ /**
33
+ * Whether the connector is currently polling for new data.
34
+ */
35
+ get polling(): boolean;
36
+ /**
37
+ * The polling controller used to abort the request when data polling stops.
38
+ * It gets assigned when data polling starts.
39
+ */
40
+ pollingController?: AbortController;
41
+ /**
42
+ * Constructor for the connector class.
43
+ *
44
+ * @param {DataConnectorOptions} [options]
45
+ * Options to use in the connector.
46
+ */
47
+ constructor(options: DataConnectorOptions);
48
+ /**
49
+ * Returns a single data table instance based on the provided key.
50
+ * Otherwise, returns the first data table.
51
+ *
52
+ * @param {string} [key]
53
+ * The data table key.
54
+ *
55
+ * @return {DataTable}
56
+ * The data table instance.
57
+ */
58
+ getTable(key?: string): DataTable;
59
+ /**
60
+ * Method for adding metadata for a single column.
61
+ *
62
+ * @param {string} name
63
+ * The name of the column to be described.
64
+ *
65
+ * @param {DataConnector.MetaColumn} columnMeta
66
+ * The metadata to apply to the column.
67
+ */
68
+ describeColumn(name: string, columnMeta: MetaColumn): void;
69
+ /**
70
+ * Method for applying columns meta information to the whole DataConnector.
71
+ *
72
+ * @param {Highcharts.Dictionary<DataConnector.MetaColumn>} columns
73
+ * Pairs of column names and MetaColumn objects.
74
+ */
75
+ describeColumns(columns: Record<string, MetaColumn>): void;
76
+ /**
77
+ * Returns the order of columns.
78
+ *
79
+ * @return {string[] | undefined}
80
+ * Order of columns.
81
+ */
82
+ getColumnOrder(): (string[] | undefined);
83
+ /**
84
+ * Retrieves the columns of the dataTable,
85
+ * applies column order from meta.
86
+ *
87
+ * @return {Highcharts.DataTableColumnCollection}
88
+ * An object with the properties `columnIds` and `columnValues`
89
+ */
90
+ getSortedColumns(): DataTable.ColumnCollection;
91
+ /**
92
+ * Sets the index and order of columns.
93
+ *
94
+ * @param {Array<string>} columnIds
95
+ * Order of columns.
96
+ */
97
+ setColumnOrder(columnIds: Array<string>): void;
98
+ /**
99
+ * The default load method, which fires the `afterLoad` event
100
+ *
101
+ * @return {Promise<DataConnector>}
102
+ * The loaded connector.
103
+ *
104
+ * @emits DataConnector#afterLoad
105
+ */
106
+ load(): Promise<this>;
107
+ /**
108
+ * Applies the data modifiers to the data tables according to the
109
+ * connector data tables options.
110
+ */
111
+ applyTableModifiers(): Promise<this>;
112
+ /**
113
+ * Starts polling new data after the specific time span in milliseconds.
114
+ *
115
+ * @param {number} refreshTime
116
+ * Refresh time in milliseconds between polls.
117
+ */
118
+ startPolling(refreshTime?: number): void;
119
+ /**
120
+ * Stops polling data. Shouldn't be performed if polling is already stopped.
121
+ */
122
+ stopPolling(): void;
123
+ /**
124
+ * Emits an event on the connector to all registered callbacks of this
125
+ * event.
126
+ *
127
+ * @param {DataConnector.Event} e
128
+ * Event object containing additional event information.
129
+ */
130
+ emit(e: DataConnector.Event): void;
131
+ /**
132
+ * Registers a callback for a specific connector event.
133
+ *
134
+ * @param type
135
+ * Event type.
136
+ *
137
+ * @param callback
138
+ * Function to register for the connector callback.
139
+ *
140
+ * @return {Function}
141
+ * Function to unregister callback from the connector event.
142
+ */
143
+ on<T extends DataConnector.Event['type']>(type: T, callback: DataEvent.Callback<this, Extract<DataConnector.Event, {
144
+ type: T;
145
+ }>>): Function;
146
+ /**
147
+ * Iterates over the dataTables and initiates the corresponding converters.
148
+ * Updates the dataTables and assigns the first converter.
149
+ *
150
+ * @param {T}[data]
151
+ * Data specific to the corresponding converter.
152
+ *
153
+ * @param {DataConnector.CreateConverterFunction}[createConverter]
154
+ * Creates a specific converter combining the dataTable options.
155
+ *
156
+ * @param {DataConnector.ParseDataFunction<T>}[parseData]
157
+ * Runs the converter parse method with the specific data type.
158
+ */
159
+ initConverters<T>(data: T, createConverter: DataConnector.CreateConverterFunction, parseData: DataConnector.ParseDataFunction<T>): void;
160
+ }
161
+ declare namespace DataConnector {
162
+ /**
163
+ * The event type that is provided on events within DataConnector.
164
+ */
165
+ interface Event extends DataEvent {
166
+ readonly type: 'loadError' | 'load' | 'afterLoad';
167
+ readonly error?: string | Error;
168
+ }
169
+ /**
170
+ * Creates a specific converter combining the dataTable options.
171
+ */
172
+ interface CreateConverterFunction {
173
+ (key: string): DataConverterType;
174
+ }
175
+ /**
176
+ * Runs the converter parse method with the specific data type.
177
+ */
178
+ interface ParseDataFunction<T> {
179
+ (converter: DataConverterType, data: T): DataTable.ColumnCollection;
180
+ }
181
+ /**
182
+ * Registry as a record object with connector names and their class.
183
+ */
184
+ const types: DataConnectorTypes;
185
+ /**
186
+ * Adds a connector class to the registry. The connector has to provide the
187
+ * `DataConnector.options` property and the `DataConnector.load` method to
188
+ * modify the table.
189
+ *
190
+ * @private
191
+ *
192
+ * @param {string} key
193
+ * Registry key of the connector class.
194
+ *
195
+ * @param {DataConnectorType} DataConnectorClass
196
+ * Connector class (aka class constructor) to register.
197
+ *
198
+ * @return {boolean}
199
+ * Returns true, if the registration was successful. False is returned, if
200
+ * their is already a connector registered with this key.
201
+ */
202
+ function registerType<T extends keyof DataConnectorTypes>(key: T, DataConnectorClass: DataConnectorTypes[T]): boolean;
203
+ }
204
+ export default DataConnector;
@@ -0,0 +1,345 @@
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
+ * - Wojciech Chmiel
12
+ * - Gøran Slettemark
13
+ * - Dawid Dragula
14
+ * - Kamil Kubik
15
+ *
16
+ * */
17
+ 'use strict';
18
+ import DataModifier from '../Modifiers/DataModifier.js';
19
+ import DataTable from '../DataTable.js';
20
+ import U from '../../Core/Utilities.js';
21
+ const { addEvent, fireEvent, merge, pick } = U;
22
+ /* *
23
+ *
24
+ * Class
25
+ *
26
+ * */
27
+ /**
28
+ * Abstract class providing an interface for managing a DataConnector.
29
+ */
30
+ class DataConnector {
31
+ /**
32
+ * Whether the connector is currently polling for new data.
33
+ */
34
+ get polling() {
35
+ return !!this._polling;
36
+ }
37
+ /* *
38
+ *
39
+ * Constructor
40
+ *
41
+ * */
42
+ /**
43
+ * Constructor for the connector class.
44
+ *
45
+ * @param {DataConnectorOptions} [options]
46
+ * Options to use in the connector.
47
+ */
48
+ constructor(options) {
49
+ /**
50
+ * Tables managed by this DataConnector instance.
51
+ */
52
+ this.dataTables = {};
53
+ /**
54
+ * Helper flag for detecting whether the data connector is loaded.
55
+ * @internal
56
+ */
57
+ this.loaded = false;
58
+ this.metadata = options.metadata || { columns: {} };
59
+ this.options = options;
60
+ // Create a data table for each defined in the dataTables user options.
61
+ const dataTables = options?.dataTables;
62
+ let dataTableIndex = 0;
63
+ if (options.options) {
64
+ // eslint-disable-next-line no-console
65
+ console.error('The `DataConnectorOptions.options` property was removed in Dashboards v4.0.0. Check how to upgrade your connector to use the new options structure here: https://api.highcharts.com/dashboards/#interfaces/Data_DataTableOptions.DataTableOptions-1');
66
+ }
67
+ if (dataTables && dataTables?.length > 0) {
68
+ for (let i = 0, iEnd = dataTables.length; i < iEnd; ++i) {
69
+ const dataTable = dataTables[i];
70
+ const key = dataTable?.key;
71
+ this.dataTables[key ?? dataTableIndex] =
72
+ new DataTable(dataTable);
73
+ if (!key) {
74
+ dataTableIndex++;
75
+ }
76
+ }
77
+ // If user options dataTables is not defined, generate a default table.
78
+ }
79
+ else {
80
+ this.dataTables[0] = new DataTable({
81
+ id: options.id // Required by DataTableCore
82
+ });
83
+ }
84
+ }
85
+ /* *
86
+ *
87
+ * Methods
88
+ *
89
+ * */
90
+ /**
91
+ * Returns a single data table instance based on the provided key.
92
+ * Otherwise, returns the first data table.
93
+ *
94
+ * @param {string} [key]
95
+ * The data table key.
96
+ *
97
+ * @return {DataTable}
98
+ * The data table instance.
99
+ */
100
+ getTable(key) {
101
+ if (key) {
102
+ return this.dataTables[key];
103
+ }
104
+ return Object.values(this.dataTables)[0];
105
+ }
106
+ /**
107
+ * Method for adding metadata for a single column.
108
+ *
109
+ * @param {string} name
110
+ * The name of the column to be described.
111
+ *
112
+ * @param {DataConnector.MetaColumn} columnMeta
113
+ * The metadata to apply to the column.
114
+ */
115
+ describeColumn(name, columnMeta) {
116
+ const connector = this;
117
+ const columns = connector.metadata.columns;
118
+ columns[name] = merge(columns[name] || {}, columnMeta);
119
+ }
120
+ /**
121
+ * Method for applying columns meta information to the whole DataConnector.
122
+ *
123
+ * @param {Highcharts.Dictionary<DataConnector.MetaColumn>} columns
124
+ * Pairs of column names and MetaColumn objects.
125
+ */
126
+ describeColumns(columns) {
127
+ const connector = this;
128
+ const columnIds = Object.keys(columns);
129
+ let columnId;
130
+ while (typeof (columnId = columnIds.pop()) === 'string') {
131
+ connector.describeColumn(columnId, columns[columnId]);
132
+ }
133
+ }
134
+ /**
135
+ * Returns the order of columns.
136
+ *
137
+ * @return {string[] | undefined}
138
+ * Order of columns.
139
+ */
140
+ getColumnOrder() {
141
+ const connector = this, columns = connector.metadata.columns, names = Object.keys(columns || {});
142
+ if (names.length) {
143
+ return names.sort((a, b) => (pick(columns[a].index, 0) - pick(columns[b].index, 0)));
144
+ }
145
+ }
146
+ /**
147
+ * Retrieves the columns of the dataTable,
148
+ * applies column order from meta.
149
+ *
150
+ * @return {Highcharts.DataTableColumnCollection}
151
+ * An object with the properties `columnIds` and `columnValues`
152
+ */
153
+ getSortedColumns() {
154
+ return this.getTable().getColumns(this.getColumnOrder());
155
+ }
156
+ /**
157
+ * Sets the index and order of columns.
158
+ *
159
+ * @param {Array<string>} columnIds
160
+ * Order of columns.
161
+ */
162
+ setColumnOrder(columnIds) {
163
+ const connector = this;
164
+ for (let i = 0, iEnd = columnIds.length; i < iEnd; ++i) {
165
+ connector.describeColumn(columnIds[i], { index: i });
166
+ }
167
+ }
168
+ /**
169
+ * The default load method, which fires the `afterLoad` event
170
+ *
171
+ * @return {Promise<DataConnector>}
172
+ * The loaded connector.
173
+ *
174
+ * @emits DataConnector#afterLoad
175
+ */
176
+ load() {
177
+ this.emit({ type: 'afterLoad' });
178
+ return Promise.resolve(this);
179
+ }
180
+ /**
181
+ * Applies the data modifiers to the data tables according to the
182
+ * connector data tables options.
183
+ */
184
+ async applyTableModifiers() {
185
+ const tableOptionsArray = this.options?.dataTables;
186
+ for (const [key, table] of Object.entries(this.dataTables)) {
187
+ // Take data modifier options from the corresponsing data table
188
+ // options, otherwise take the data modifier options from the
189
+ // connector options.
190
+ const dataModifierOptions = tableOptionsArray?.find((dataTable) => dataTable.key === key)?.dataModifier ?? this.options?.dataModifier;
191
+ const ModifierClass = (dataModifierOptions &&
192
+ DataModifier.types[dataModifierOptions.type]);
193
+ await table.setModifier(ModifierClass ?
194
+ new ModifierClass(dataModifierOptions) :
195
+ void 0);
196
+ }
197
+ return this;
198
+ }
199
+ /**
200
+ * Starts polling new data after the specific time span in milliseconds.
201
+ *
202
+ * @param {number} refreshTime
203
+ * Refresh time in milliseconds between polls.
204
+ */
205
+ startPolling(refreshTime = 1000) {
206
+ const connector = this;
207
+ // Assign a new abort controller.
208
+ this.pollingController = new AbortController();
209
+ // Clear the polling timeout.
210
+ window.clearTimeout(connector._polling);
211
+ connector._polling = window.setTimeout(() => connector
212
+ .load()['catch']((error) => connector.emit({
213
+ type: 'loadError',
214
+ error
215
+ }))
216
+ .then(() => {
217
+ if (connector._polling) {
218
+ connector.startPolling(refreshTime);
219
+ }
220
+ }), refreshTime);
221
+ }
222
+ /**
223
+ * Stops polling data. Shouldn't be performed if polling is already stopped.
224
+ */
225
+ stopPolling() {
226
+ const connector = this;
227
+ if (!connector.polling) {
228
+ return;
229
+ }
230
+ // Abort the existing request.
231
+ connector?.pollingController?.abort();
232
+ // Clear the polling timeout.
233
+ window.clearTimeout(connector._polling);
234
+ delete connector._polling;
235
+ }
236
+ /**
237
+ * Emits an event on the connector to all registered callbacks of this
238
+ * event.
239
+ *
240
+ * @param {DataConnector.Event} e
241
+ * Event object containing additional event information.
242
+ */
243
+ emit(e) {
244
+ fireEvent(this, e.type, e);
245
+ }
246
+ /**
247
+ * Registers a callback for a specific connector event.
248
+ *
249
+ * @param type
250
+ * Event type.
251
+ *
252
+ * @param callback
253
+ * Function to register for the connector callback.
254
+ *
255
+ * @return {Function}
256
+ * Function to unregister callback from the connector event.
257
+ */
258
+ on(type, callback) {
259
+ return addEvent(this, type, callback);
260
+ }
261
+ /**
262
+ * Iterates over the dataTables and initiates the corresponding converters.
263
+ * Updates the dataTables and assigns the first converter.
264
+ *
265
+ * @param {T}[data]
266
+ * Data specific to the corresponding converter.
267
+ *
268
+ * @param {DataConnector.CreateConverterFunction}[createConverter]
269
+ * Creates a specific converter combining the dataTable options.
270
+ *
271
+ * @param {DataConnector.ParseDataFunction<T>}[parseData]
272
+ * Runs the converter parse method with the specific data type.
273
+ */
274
+ initConverters(data, createConverter, parseData) {
275
+ let index = 0;
276
+ for (const [key, table] of Object.entries(this.dataTables)) {
277
+ // Create a proper converter and parse its data.
278
+ const converter = createConverter(key);
279
+ const columns = parseData(converter, data);
280
+ // Update the dataTable.
281
+ table.deleteColumns();
282
+ table.setColumns(columns);
283
+ // Assign the first converter.
284
+ if (index === 0) {
285
+ this.converter = converter;
286
+ }
287
+ index++;
288
+ }
289
+ }
290
+ }
291
+ /* *
292
+ *
293
+ * Class Namespace
294
+ *
295
+ * */
296
+ (function (DataConnector) {
297
+ /* *
298
+ *
299
+ * Declarations
300
+ *
301
+ * */
302
+ /* *
303
+ *
304
+ * Constants
305
+ *
306
+ * */
307
+ /**
308
+ * Registry as a record object with connector names and their class.
309
+ */
310
+ DataConnector.types = {};
311
+ /* *
312
+ *
313
+ * Functions
314
+ *
315
+ * */
316
+ /**
317
+ * Adds a connector class to the registry. The connector has to provide the
318
+ * `DataConnector.options` property and the `DataConnector.load` method to
319
+ * modify the table.
320
+ *
321
+ * @private
322
+ *
323
+ * @param {string} key
324
+ * Registry key of the connector class.
325
+ *
326
+ * @param {DataConnectorType} DataConnectorClass
327
+ * Connector class (aka class constructor) to register.
328
+ *
329
+ * @return {boolean}
330
+ * Returns true, if the registration was successful. False is returned, if
331
+ * their is already a connector registered with this key.
332
+ */
333
+ function registerType(key, DataConnectorClass) {
334
+ return (!!key &&
335
+ !DataConnector.types[key] &&
336
+ !!(DataConnector.types[key] = DataConnectorClass));
337
+ }
338
+ DataConnector.registerType = registerType;
339
+ })(DataConnector || (DataConnector = {}));
340
+ /* *
341
+ *
342
+ * Default Export
343
+ *
344
+ * */
345
+ export default DataConnector;
@@ -0,0 +1,87 @@
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
+ * - Karol Kolodziej
12
+ * - Dawid Dragula
13
+ * - Kamil Kubik
14
+ *
15
+ * */
16
+
17
+ /* *
18
+ *
19
+ * Imports
20
+ *
21
+ * */
22
+
23
+ import type { DataTableValue } from '../DataTableOptions';
24
+ import type { DataModifierTypeOptions } from '../Modifiers/DataModifierType';
25
+
26
+ /* *
27
+ *
28
+ * Declarations
29
+ *
30
+ * */
31
+
32
+ /**
33
+ * Option of the DataConnector.
34
+ */
35
+ export interface DataConnectorOptions {
36
+ id: string;
37
+ type: string;
38
+ dataTables?: DataTableConnectorOptions[];
39
+ dataModifier?: DataModifierTypeOptions;
40
+ metadata?: Metadata;
41
+
42
+ /**
43
+ * @internal
44
+ * @private
45
+ * @deprecated
46
+ * Removed in Dashboards v4.0.0
47
+ *
48
+ * {@link https://api.highcharts.com/dashboards/#interfaces/Data_Connectors_DataConnectorOptions.DataConnectorOptions-1 | Check how to upgrade your connector to use the new options structure}
49
+ */
50
+ options?: never;
51
+ }
52
+
53
+ export interface DataTableConnectorOptions {
54
+ key?: string;
55
+ dataModifier?: DataModifierTypeOptions;
56
+ firstRowAsNames?: boolean;
57
+ metadata?: Record<string, DataTableValue>;
58
+ }
59
+
60
+ /**
61
+ * Contains custom metadata related to the connector source, for example the
62
+ * column order on the source side.
63
+ */
64
+ export interface Metadata {
65
+ /**
66
+ * Metadata entry containing the name of the column and a metadata object.
67
+ */
68
+ columns: Record<string, MetaColumn>;
69
+ }
70
+
71
+ /**
72
+ * Metadata for a specific column in the connector source.
73
+ */
74
+ export interface MetaColumn {
75
+ dataType?: string;
76
+ defaultValue?: boolean | null | number | string;
77
+ index?: number;
78
+ title?: string;
79
+ }
80
+
81
+ /* *
82
+ *
83
+ * Default Export
84
+ *
85
+ * */
86
+
87
+ export default DataConnectorOptions;
@@ -0,0 +1,45 @@
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
+
14
+ /* *
15
+ *
16
+ * Declarations
17
+ *
18
+ * */
19
+
20
+ /**
21
+ * Describes the connector registry as a record object with key and
22
+ * class constructor.
23
+ */
24
+ export interface DataConnectorTypes {
25
+ // Nothing here yet
26
+ }
27
+
28
+ /**
29
+ * Contains all possible connector types.
30
+ */
31
+ export type DataConnectorType =
32
+ DataConnectorTypes[keyof DataConnectorTypes]['prototype'];
33
+
34
+ /**
35
+ * Options for specific data connector type.
36
+ */
37
+ export type DataConnectorTypeOptions = DataConnectorType['options'];
38
+
39
+ /* *
40
+ *
41
+ * Default Export
42
+ *
43
+ * */
44
+
45
+ export default DataConnectorType;