@highcharts/grid-pro 2.2.0 → 2.3.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 (266) hide show
  1. package/LICENSE.txt +6 -0
  2. package/README.md +15 -9
  3. package/css/grid-pro.css +1262 -1122
  4. package/css/modules/grid-base-variables.css +131 -0
  5. package/css/modules/grid-button-variables.css +140 -0
  6. package/css/modules/grid-caption-variables.css +11 -0
  7. package/css/modules/grid-description-variables.css +11 -0
  8. package/css/modules/grid-input-variables.css +114 -0
  9. package/css/modules/grid-link-variables.css +18 -0
  10. package/css/modules/grid-menu-variables.css +50 -0
  11. package/css/modules/grid-pagination-variables.css +12 -0
  12. package/css/modules/grid-popup-variables.css +24 -0
  13. package/css/modules/grid-pro.css +234 -0
  14. package/css/modules/grid-table-variables.css +385 -0
  15. package/css/modules/grid-theme-default.css +55 -0
  16. package/es-modules/Accessibility/A11yI18n.js +1 -2
  17. package/es-modules/Accessibility/Accessibility.js +1 -2
  18. package/es-modules/Accessibility/AccessibilityComponent.d.ts +2 -2
  19. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +5 -6
  20. package/es-modules/Accessibility/Components/LegendComponent.js +1 -2
  21. package/es-modules/Accessibility/Components/MenuComponent.js +1 -2
  22. package/es-modules/Accessibility/Components/NavigatorComponent.js +3 -4
  23. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +1 -2
  24. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +1 -2
  25. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +3 -4
  26. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -4
  27. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +1 -2
  28. package/es-modules/Accessibility/Components/ZoomComponent.js +1 -2
  29. package/es-modules/Accessibility/FocusBorder.js +1 -2
  30. package/es-modules/Accessibility/KeyboardNavigation.js +1 -2
  31. package/es-modules/Accessibility/KeyboardNavigationHandler.js +1 -2
  32. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +11 -0
  33. package/es-modules/Accessibility/Options/A11yDefaults.js +11 -0
  34. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +58 -0
  35. package/es-modules/Accessibility/Options/DeprecatedOptions.js +7 -2
  36. package/es-modules/Accessibility/Options/LangDefaults.js +9 -0
  37. package/es-modules/Accessibility/ProxyElement.js +2 -5
  38. package/es-modules/Accessibility/ProxyProvider.js +1 -2
  39. package/es-modules/Accessibility/Utils/Announcer.js +2 -3
  40. package/es-modules/Accessibility/Utils/ChartUtilities.js +1 -2
  41. package/es-modules/Accessibility/Utils/EventProvider.d.ts +2 -2
  42. package/es-modules/Accessibility/Utils/EventProvider.js +6 -2
  43. package/es-modules/Accessibility/Utils/HTMLUtilities.js +1 -2
  44. package/es-modules/Core/Animation/AnimationUtilities.js +1 -2
  45. package/es-modules/Core/Animation/Fx.js +1 -2
  46. package/es-modules/Core/Callback.d.ts +9 -2
  47. package/es-modules/Core/Chart/Chart.js +48 -41
  48. package/es-modules/Core/Chart/Chart3D.js +1 -2
  49. package/es-modules/Core/Chart/ChartDefaults.js +11 -0
  50. package/es-modules/Core/Chart/ChartOptions.d.ts +8 -0
  51. package/es-modules/Core/Chart/GanttChart.js +1 -2
  52. package/es-modules/Core/Chart/MapChart.js +1 -2
  53. package/es-modules/Core/Chart/StockChart.js +2 -3
  54. package/es-modules/Core/Color/Color.js +1 -2
  55. package/es-modules/Core/Defaults.js +36 -9
  56. package/es-modules/Core/Delaunay.d.ts +52 -0
  57. package/es-modules/Core/Delaunay.js +310 -0
  58. package/es-modules/Core/Foundation.js +1 -2
  59. package/es-modules/Core/Geometry/CircleUtilities.js +1 -2
  60. package/es-modules/Core/Globals.js +1 -1
  61. package/es-modules/Core/HttpUtilities.js +1 -2
  62. package/es-modules/Core/MSPointer.js +1 -2
  63. package/es-modules/Core/Math3D.js +1 -2
  64. package/es-modules/Core/Options.d.ts +6 -2
  65. package/es-modules/Core/Pointer.js +23 -4
  66. package/es-modules/Core/PointerEvent.d.ts +2 -0
  67. package/es-modules/Core/Renderer/HTML/AST.js +2 -2
  68. package/es-modules/Core/Renderer/HTML/HTMLElement.js +1 -2
  69. package/es-modules/Core/Renderer/RendererUtilities.js +34 -19
  70. package/es-modules/Core/Responsive.d.ts +4 -2
  71. package/es-modules/Core/Responsive.js +10 -4
  72. package/es-modules/Core/Templating.d.ts +1 -1
  73. package/es-modules/Core/Templating.js +3 -4
  74. package/es-modules/Core/Time.d.ts +8 -0
  75. package/es-modules/Core/Time.js +2 -2
  76. package/es-modules/Core/Tooltip.d.ts +4 -8
  77. package/es-modules/Core/Tooltip.js +100 -81
  78. package/es-modules/Core/TooltipOptions.d.ts +44 -1
  79. package/es-modules/Core/Utilities.d.ts +25 -665
  80. package/es-modules/Core/Utilities.js +17 -1398
  81. package/es-modules/Data/ColumnUtils.d.ts +83 -80
  82. package/es-modules/Data/ColumnUtils.js +103 -113
  83. package/es-modules/Data/Connectors/CSVConnector.d.ts +9 -14
  84. package/es-modules/Data/Connectors/CSVConnector.js +3 -4
  85. package/es-modules/Data/Connectors/DataConnector.d.ts +52 -54
  86. package/es-modules/Data/Connectors/DataConnector.js +33 -52
  87. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +40 -42
  88. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +73 -88
  89. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +4 -2
  90. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +23 -28
  91. package/es-modules/Data/Connectors/HTMLTableConnector.js +3 -4
  92. package/es-modules/Data/Connectors/JSONConnector.d.ts +9 -14
  93. package/es-modules/Data/Connectors/JSONConnector.js +3 -4
  94. package/es-modules/Data/Converters/CSVConverter.d.ts +5 -5
  95. package/es-modules/Data/Converters/CSVConverter.js +3 -4
  96. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +2 -2
  97. package/es-modules/Data/Converters/DataConverter.d.ts +76 -78
  98. package/es-modules/Data/Converters/DataConverter.js +26 -53
  99. package/es-modules/Data/Converters/DataConverterUtils.d.ts +88 -81
  100. package/es-modules/Data/Converters/DataConverterUtils.js +169 -181
  101. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +4 -4
  102. package/es-modules/Data/Converters/GoogleSheetsConverter.js +3 -3
  103. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +2 -2
  104. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +4 -4
  105. package/es-modules/Data/Converters/HTMLTableConverter.js +2 -3
  106. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +2 -2
  107. package/es-modules/Data/Converters/JSONConverter.d.ts +7 -7
  108. package/es-modules/Data/Converters/JSONConverter.js +6 -6
  109. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +2 -2
  110. package/es-modules/Data/DataCursor.d.ts +65 -70
  111. package/es-modules/Data/DataCursor.js +119 -139
  112. package/es-modules/Data/DataEvent.d.ts +55 -57
  113. package/es-modules/Data/DataPool.d.ts +10 -17
  114. package/es-modules/Data/DataPool.js +20 -9
  115. package/es-modules/Data/DataTable.d.ts +111 -113
  116. package/es-modules/Data/DataTable.js +3 -3
  117. package/es-modules/Data/DataTableCore.d.ts +9 -9
  118. package/es-modules/Data/DataTableCore.js +2 -2
  119. package/es-modules/Data/Formula/FormulaParser.js +1 -2
  120. package/es-modules/Data/Formula/FormulaProcessor.js +1 -2
  121. package/es-modules/Data/Modifiers/ChainModifier.d.ts +29 -34
  122. package/es-modules/Data/Modifiers/ChainModifier.js +7 -8
  123. package/es-modules/Data/Modifiers/DataModifier.d.ts +36 -41
  124. package/es-modules/Data/Modifiers/DataModifier.js +31 -53
  125. package/es-modules/Data/Modifiers/FilterModifier.d.ts +4 -4
  126. package/es-modules/Data/Modifiers/FilterModifier.js +3 -4
  127. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +3 -2
  128. package/es-modules/Data/Modifiers/InvertModifier.d.ts +4 -4
  129. package/es-modules/Data/Modifiers/InvertModifier.js +3 -4
  130. package/es-modules/Data/Modifiers/MathModifier.d.ts +5 -4
  131. package/es-modules/Data/Modifiers/RangeModifier.d.ts +4 -4
  132. package/es-modules/Data/Modifiers/RangeModifier.js +3 -4
  133. package/es-modules/Data/Modifiers/SortModifier.d.ts +6 -11
  134. package/es-modules/Data/Modifiers/SortModifier.js +3 -4
  135. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +3 -3
  136. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +1 -1
  137. package/es-modules/Grid/Core/Accessibility/Accessibility.js +5 -6
  138. package/es-modules/Grid/Core/Data/DataProvider.d.ts +97 -0
  139. package/es-modules/Grid/Core/Data/DataProvider.js +89 -0
  140. package/es-modules/Grid/Core/Data/DataProviderRegistry.d.ts +20 -0
  141. package/es-modules/Grid/Core/Data/DataProviderRegistry.js +52 -0
  142. package/es-modules/Grid/Core/Data/DataProviderType.d.ts +19 -0
  143. package/es-modules/Grid/Core/Data/DataProviderType.js +15 -0
  144. package/es-modules/Grid/Core/Data/LocalDataProvider.d.ts +165 -0
  145. package/es-modules/Grid/Core/Data/LocalDataProvider.js +341 -0
  146. package/es-modules/Grid/Core/Defaults.js +4 -2
  147. package/es-modules/Grid/Core/Globals.d.ts +20 -16
  148. package/es-modules/Grid/Core/Globals.js +10 -8
  149. package/es-modules/Grid/Core/Grid.d.ts +31 -22
  150. package/es-modules/Grid/Core/Grid.js +214 -136
  151. package/es-modules/Grid/Core/GridUtils.d.ts +33 -0
  152. package/es-modules/Grid/Core/GridUtils.js +50 -3
  153. package/es-modules/Grid/Core/Options.d.ts +145 -4
  154. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +3 -0
  155. package/es-modules/Grid/Core/Pagination/Pagination.js +63 -23
  156. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +4 -0
  157. package/es-modules/Grid/Core/Querying/FilteringController.js +1 -2
  158. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +2 -2
  159. package/es-modules/Grid/Core/Querying/PaginationController.js +3 -3
  160. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +1 -1
  161. package/es-modules/Grid/Core/Querying/QueryingController.js +2 -26
  162. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.d.ts +53 -0
  163. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.js +229 -0
  164. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.d.ts +58 -0
  165. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.js +15 -0
  166. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +2 -3
  167. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +1 -1
  168. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +3 -4
  169. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +1 -1
  170. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +2 -2
  171. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +17 -1
  172. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +58 -15
  173. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +1 -3
  174. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +57 -3
  175. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +397 -118
  176. package/es-modules/Grid/Core/Table/Body/CellContextMenu.d.ts +11 -0
  177. package/es-modules/Grid/Core/Table/Body/CellContextMenu.js +84 -0
  178. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +27 -13
  179. package/es-modules/Grid/Core/Table/Body/TableCell.js +74 -25
  180. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +7 -15
  181. package/es-modules/Grid/Core/Table/Body/TableRow.js +24 -19
  182. package/es-modules/Grid/Core/Table/Cell.d.ts +16 -3
  183. package/es-modules/Grid/Core/Table/Cell.js +36 -3
  184. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +3 -8
  185. package/es-modules/Grid/Core/Table/Column.d.ts +10 -4
  186. package/es-modules/Grid/Core/Table/Column.js +23 -34
  187. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +9 -8
  188. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +4 -3
  189. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +5 -0
  190. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +7 -2
  191. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +1 -2
  192. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +1 -2
  193. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +2 -3
  194. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +1 -2
  195. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +1 -2
  196. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +0 -1
  197. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +4 -14
  198. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +6 -1
  199. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +33 -13
  200. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +4 -5
  201. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +1 -1
  202. package/es-modules/Grid/Core/Table/Header/TableHeader.js +3 -3
  203. package/es-modules/Grid/Core/Table/Row.d.ts +1 -1
  204. package/es-modules/Grid/Core/Table/Row.js +2 -2
  205. package/es-modules/Grid/Core/Table/Table.d.ts +38 -12
  206. package/es-modules/Grid/Core/Table/Table.js +184 -91
  207. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +6 -7
  208. package/es-modules/Grid/Core/UI/ContextMenuButton.js +5 -3
  209. package/es-modules/Grid/Core/UI/Popup.js +7 -9
  210. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +42 -7
  211. package/es-modules/Grid/Core/UI/SvgIcons.js +206 -33
  212. package/es-modules/Grid/Core/UI/Toolbar.d.ts +5 -0
  213. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +4 -12
  214. package/es-modules/Grid/Core/UI/ToolbarButton.js +8 -26
  215. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +2 -2
  216. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +10 -10
  217. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +1 -2
  218. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +1 -1
  219. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +4 -2
  220. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +2 -2
  221. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +1 -2
  222. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +2 -2
  223. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +1 -2
  224. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +2 -2
  225. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +1 -2
  226. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +1 -2
  227. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +1 -2
  228. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +1 -2
  229. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +1 -2
  230. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +1 -2
  231. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +2 -2
  232. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +1 -2
  233. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +1 -2
  234. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +1 -2
  235. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +1 -2
  236. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +34 -32
  237. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +1 -1
  238. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +3 -4
  239. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +1 -3
  240. package/es-modules/Grid/Pro/Data/DataSourceHelper.d.ts +74 -0
  241. package/es-modules/Grid/Pro/Data/DataSourceHelper.js +246 -0
  242. package/es-modules/Grid/Pro/Data/QuerySerializer.d.ts +46 -0
  243. package/es-modules/Grid/Pro/Data/QuerySerializer.js +169 -0
  244. package/es-modules/Grid/Pro/Data/RemoteDataProvider.d.ts +187 -0
  245. package/es-modules/Grid/Pro/Data/RemoteDataProvider.js +500 -0
  246. package/es-modules/Grid/Pro/Export/Exporting.js +1 -2
  247. package/es-modules/Grid/Pro/Export/ExportingComposition.js +1 -2
  248. package/es-modules/Grid/Pro/GridEvents.js +1 -2
  249. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +0 -1
  250. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +1 -2
  251. package/es-modules/Shared/BaseForm.js +1 -2
  252. package/es-modules/Shared/DownloadURL.js +1 -2
  253. package/es-modules/Shared/TimeBase.js +3 -3
  254. package/es-modules/Shared/Types.d.ts +7 -0
  255. package/es-modules/Shared/Utilities.d.ts +576 -0
  256. package/es-modules/Shared/Utilities.js +1368 -0
  257. package/es-modules/masters/grid-pro.src.d.ts +15 -11
  258. package/es-modules/masters/grid-pro.src.js +12 -5
  259. package/grid-pro.d.ts +15 -11
  260. package/grid-pro.js +3 -3
  261. package/grid-pro.js.map +1 -1
  262. package/grid-pro.src.d.ts +15 -11
  263. package/grid-pro.src.js +10408 -8009
  264. package/package.json +1 -1
  265. package/es-modules/Grid/Core/Pagination/Icons.d.ts +0 -7
  266. package/es-modules/Grid/Core/Pagination/Icons.js +0 -7
@@ -17,8 +17,7 @@
17
17
  'use strict';
18
18
  import DataModifier from '../Modifiers/DataModifier.js';
19
19
  import DataTable from '../DataTable.js';
20
- import U from '../../Core/Utilities.js';
21
- const { addEvent, fireEvent, merge, pick } = U;
20
+ import { addEvent, fireEvent, merge, pick } from '../../Shared/Utilities.js';
22
21
  /* *
23
22
  *
24
23
  * Class
@@ -28,6 +27,28 @@ const { addEvent, fireEvent, merge, pick } = U;
28
27
  * Abstract class providing an interface for managing a DataConnector.
29
28
  */
30
29
  class DataConnector {
30
+ /**
31
+ * Adds a connector class to the registry. The connector has to provide the
32
+ * `DataConnector.options` property and the `DataConnector.load` method to
33
+ * modify the table.
34
+ *
35
+ * @private
36
+ *
37
+ * @param {string} key
38
+ * Registry key of the connector class.
39
+ *
40
+ * @param {DataConnectorType} DataConnectorClass
41
+ * Connector class (aka class constructor) to register.
42
+ *
43
+ * @return {boolean}
44
+ * Returns true, if the registration was successful. False is returned, if
45
+ * their is already a connector registered with this key.
46
+ */
47
+ static registerType(key, DataConnectorClass) {
48
+ return (!!key &&
49
+ !DataConnector.types[key] &&
50
+ !!(DataConnector.types[key] = DataConnectorClass));
51
+ }
31
52
  /**
32
53
  * Whether the connector is currently polling for new data.
33
54
  */
@@ -110,7 +131,7 @@ class DataConnector {
110
131
  * @param {string} name
111
132
  * The name of the column to be described.
112
133
  *
113
- * @param {DataConnector.MetaColumn} columnMeta
134
+ * @param {MetaColumn} columnMeta
114
135
  * The metadata to apply to the column.
115
136
  */
116
137
  describeColumn(name, columnMeta) {
@@ -121,7 +142,7 @@ class DataConnector {
121
142
  /**
122
143
  * Method for applying columns meta information to the whole DataConnector.
123
144
  *
124
- * @param {Highcharts.Dictionary<DataConnector.MetaColumn>} columns
145
+ * @param {Record<string, MetaColumn>} columns
125
146
  * Pairs of column names and MetaColumn objects.
126
147
  */
127
148
  describeColumns(columns) {
@@ -268,7 +289,7 @@ class DataConnector {
268
289
  * Emits an event on the connector to all registered callbacks of this
269
290
  * event.
270
291
  *
271
- * @param {DataConnector.Event} e
292
+ * @param {Event} e
272
293
  * Event object containing additional event information.
273
294
  */
274
295
  emit(e) {
@@ -296,10 +317,10 @@ class DataConnector {
296
317
  * @param {T}[data]
297
318
  * Data specific to the corresponding converter.
298
319
  *
299
- * @param {DataConnector.CreateConverterFunction}[createConverter]
320
+ * @param {CreateConverterFunction}[createConverter]
300
321
  * Creates a specific converter combining the dataTable options.
301
322
  *
302
- * @param {DataConnector.ParseDataFunction<T>}[parseData]
323
+ * @param {ParseDataFunction<T>}[parseData]
303
324
  * Runs the converter parse method with the specific data type.
304
325
  */
305
326
  initConverters(data, createConverter, parseData) {
@@ -321,53 +342,13 @@ class DataConnector {
321
342
  }
322
343
  /* *
323
344
  *
324
- * Class Namespace
345
+ * Static Properties
325
346
  *
326
347
  * */
327
- (function (DataConnector) {
328
- /* *
329
- *
330
- * Declarations
331
- *
332
- * */
333
- /* *
334
- *
335
- * Constants
336
- *
337
- * */
338
- /**
339
- * Registry as a record object with connector names and their class.
340
- */
341
- DataConnector.types = {};
342
- /* *
343
- *
344
- * Functions
345
- *
346
- * */
347
- /**
348
- * Adds a connector class to the registry. The connector has to provide the
349
- * `DataConnector.options` property and the `DataConnector.load` method to
350
- * modify the table.
351
- *
352
- * @private
353
- *
354
- * @param {string} key
355
- * Registry key of the connector class.
356
- *
357
- * @param {DataConnectorType} DataConnectorClass
358
- * Connector class (aka class constructor) to register.
359
- *
360
- * @return {boolean}
361
- * Returns true, if the registration was successful. False is returned, if
362
- * their is already a connector registered with this key.
363
- */
364
- function registerType(key, DataConnectorClass) {
365
- return (!!key &&
366
- !DataConnector.types[key] &&
367
- !!(DataConnector.types[key] = DataConnectorClass));
368
- }
369
- DataConnector.registerType = registerType;
370
- })(DataConnector || (DataConnector = {}));
348
+ /**
349
+ * Registry as a record object with connector names and their class.
350
+ */
351
+ DataConnector.types = {};
371
352
  /* *
372
353
  *
373
354
  * Default Export
@@ -1,6 +1,6 @@
1
- import type DataEvent from '../DataEvent';
1
+ import type { DataEventDetail } from '../DataEvent';
2
2
  import type GoogleSheetsConnectorOptions from './GoogleSheetsConnectorOptions';
3
- import DataConnector from './DataConnector.js';
3
+ import DataConnector, { type Event as DataConnectorEvent } from './DataConnector.js';
4
4
  import GoogleSheetsConverter from '../Converters/GoogleSheetsConverter.js';
5
5
  /**
6
6
  * @private
@@ -9,54 +9,52 @@ import GoogleSheetsConverter from '../Converters/GoogleSheetsConverter.js';
9
9
  declare class GoogleSheetsConnector extends DataConnector {
10
10
  protected static readonly defaultOptions: GoogleSheetsConnectorOptions;
11
11
  /**
12
- * Constructs an instance of GoogleSheetsConnector
13
- *
14
- * @param {Partial<GoogleSheetsConnectorOptions>} [options]
15
- * Options for the connector and converter.
16
- */
12
+ * Constructs an instance of GoogleSheetsConnector
13
+ *
14
+ * @param {Partial<GoogleSheetsConnectorOptions>} [options]
15
+ * Options for the connector and converter.
16
+ */
17
17
  constructor(options: Partial<GoogleSheetsConnectorOptions>);
18
18
  readonly options: GoogleSheetsConnectorOptions;
19
19
  /**
20
- * The attached converter, which can be replaced in the constructor
21
- */
20
+ * The attached converter, which can be replaced in the constructor
21
+ */
22
22
  converter?: GoogleSheetsConverter;
23
23
  /**
24
- * Overrides the DataConnector method. Emits an event on the connector to
25
- * all registered callbacks of this event.
26
- *
27
- * @param {GoogleSheetsConnector.Event} e
28
- * Event object containing additional event information.
29
- */
30
- emit(e: GoogleSheetsConnector.Event): void;
24
+ * Overrides the DataConnector method. Emits an event on the connector to
25
+ * all registered callbacks of this event.
26
+ *
27
+ * @param {Event} e
28
+ * Event object containing additional event information.
29
+ */
30
+ emit(e: Event): void;
31
31
  /**
32
- * Loads data from a Google Spreadsheet.
33
- *
34
- * @param {DataEvent.Detail} [eventDetail]
35
- * Custom information for pending events.
36
- *
37
- * @return {Promise<this>}
38
- * Same connector instance with modified table.
39
- */
40
- load(eventDetail?: DataEvent.Detail): Promise<this>;
32
+ * Loads data from a Google Spreadsheet.
33
+ *
34
+ * @param {DataEventDetail} [eventDetail]
35
+ * Custom information for pending events.
36
+ *
37
+ * @return {Promise<this>}
38
+ * Same connector instance with modified table.
39
+ */
40
+ load(eventDetail?: DataEventDetail): Promise<this>;
41
41
  }
42
- declare namespace GoogleSheetsConnector {
43
- interface Event extends DataConnector.Event {
44
- readonly url?: string;
45
- }
46
- interface FetchURLOptions {
47
- onlyColumnIds?: boolean;
48
- }
49
- /**
50
- * Creates GoogleSheets API v4 URL.
51
- * @private
52
- */
53
- function buildFetchURL(apiKey: string, sheetKey: string, options?: Partial<(FetchURLOptions & GoogleSheetsConnectorOptions)>): string;
54
- /**
55
- * Creates sheets range.
56
- * @private
57
- */
58
- function buildQueryRange(options?: Partial<GoogleSheetsConnectorOptions>): string;
42
+ export interface Event extends DataConnectorEvent {
43
+ readonly url?: string;
59
44
  }
45
+ export interface FetchURLOptions {
46
+ onlyColumnIds?: boolean;
47
+ }
48
+ /**
49
+ * Creates GoogleSheets API v4 URL.
50
+ * @private
51
+ */
52
+ export declare function buildFetchURL(apiKey: string, sheetKey: string, options?: Partial<(FetchURLOptions & GoogleSheetsConnectorOptions)>): string;
53
+ /**
54
+ * Creates sheets range.
55
+ * @private
56
+ */
57
+ export declare function buildQueryRange(options?: Partial<GoogleSheetsConnectorOptions>): string;
60
58
  declare module './DataConnectorType' {
61
59
  interface DataConnectorTypes {
62
60
  GoogleSheets: typeof GoogleSheetsConnector;
@@ -18,8 +18,7 @@
18
18
  'use strict';
19
19
  import DataConnector from './DataConnector.js';
20
20
  import GoogleSheetsConverter from '../Converters/GoogleSheetsConverter.js';
21
- import U from '../../Core/Utilities.js';
22
- const { merge, pick, fireEvent } = U;
21
+ import { fireEvent, merge, pick } from '../../Shared/Utilities.js';
23
22
  /* *
24
23
  *
25
24
  * Functions
@@ -47,50 +46,50 @@ function isGoogleError(json) {
47
46
  */
48
47
  class GoogleSheetsConnector extends DataConnector {
49
48
  /* *
50
- *
51
- * Constructor
52
- *
53
- * */
49
+ *
50
+ * Constructor
51
+ *
52
+ * */
54
53
  /**
55
- * Constructs an instance of GoogleSheetsConnector
56
- *
57
- * @param {Partial<GoogleSheetsConnectorOptions>} [options]
58
- * Options for the connector and converter.
59
- */
54
+ * Constructs an instance of GoogleSheetsConnector
55
+ *
56
+ * @param {Partial<GoogleSheetsConnectorOptions>} [options]
57
+ * Options for the connector and converter.
58
+ */
60
59
  constructor(options) {
61
60
  const mergedOptions = merge(GoogleSheetsConnector.defaultOptions, options);
62
61
  super(mergedOptions);
63
62
  this.options = mergedOptions;
64
63
  }
65
64
  /* *
66
- *
67
- * Functions
68
- *
69
- * */
65
+ *
66
+ * Functions
67
+ *
68
+ * */
70
69
  /**
71
- * Overrides the DataConnector method. Emits an event on the connector to
72
- * all registered callbacks of this event.
73
- *
74
- * @param {GoogleSheetsConnector.Event} e
75
- * Event object containing additional event information.
76
- */
70
+ * Overrides the DataConnector method. Emits an event on the connector to
71
+ * all registered callbacks of this event.
72
+ *
73
+ * @param {Event} e
74
+ * Event object containing additional event information.
75
+ */
77
76
  emit(e) {
78
77
  fireEvent(this, e.type, e);
79
78
  }
80
79
  /**
81
- * Loads data from a Google Spreadsheet.
82
- *
83
- * @param {DataEvent.Detail} [eventDetail]
84
- * Custom information for pending events.
85
- *
86
- * @return {Promise<this>}
87
- * Same connector instance with modified table.
88
- */
80
+ * Loads data from a Google Spreadsheet.
81
+ *
82
+ * @param {DataEventDetail} [eventDetail]
83
+ * Custom information for pending events.
84
+ *
85
+ * @return {Promise<this>}
86
+ * Same connector instance with modified table.
87
+ */
89
88
  load(eventDetail) {
90
89
  const connector = this;
91
90
  const options = connector.options;
92
91
  const { dataRefreshRate, enablePolling, googleAPIKey, googleSpreadsheetKey, dataTables } = options;
93
- const url = GoogleSheetsConnector.buildFetchURL(googleAPIKey, googleSpreadsheetKey, options);
92
+ const url = buildFetchURL(googleAPIKey, googleSpreadsheetKey, options);
94
93
  connector.emit({
95
94
  type: 'load',
96
95
  detail: eventDetail,
@@ -140,10 +139,10 @@ class GoogleSheetsConnector extends DataConnector {
140
139
  }
141
140
  }
142
141
  /* *
143
- *
144
- * Static Properties
145
- *
146
- * */
142
+ *
143
+ * Static Properties
144
+ *
145
+ * */
147
146
  GoogleSheetsConnector.defaultOptions = {
148
147
  id: 'google-sheets-connector',
149
148
  type: 'GoogleSheets',
@@ -155,63 +154,49 @@ GoogleSheetsConnector.defaultOptions = {
155
154
  };
156
155
  /* *
157
156
  *
158
- * Class Namespace
157
+ * Constants
159
158
  *
160
159
  * */
161
- (function (GoogleSheetsConnector) {
162
- /* *
163
- *
164
- * Declarations
165
- *
166
- * */
167
- /* *
168
- *
169
- * Constants
170
- *
171
- * */
172
- const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
173
- /* *
174
- *
175
- * Functions
176
- *
177
- * */
178
- /**
179
- * Creates GoogleSheets API v4 URL.
180
- * @private
181
- */
182
- function buildFetchURL(apiKey, sheetKey, options = {}) {
183
- const url = new URL(`https://sheets.googleapis.com/v4/spreadsheets/${sheetKey}/values/`);
184
- const range = options.onlyColumnIds ?
185
- 'A1:Z1' : buildQueryRange(options);
186
- url.pathname += range;
187
- const searchParams = url.searchParams;
188
- searchParams.set('alt', 'json');
189
- if (!options.onlyColumnIds) {
190
- searchParams.set('dateTimeRenderOption', 'FORMATTED_STRING');
191
- searchParams.set('majorDimension', 'COLUMNS');
192
- searchParams.set('valueRenderOption', 'UNFORMATTED_VALUE');
193
- }
194
- searchParams.set('prettyPrint', 'false');
195
- searchParams.set('key', apiKey);
196
- return url.href;
197
- }
198
- GoogleSheetsConnector.buildFetchURL = buildFetchURL;
199
- /**
200
- * Creates sheets range.
201
- * @private
202
- */
203
- function buildQueryRange(options = {}) {
204
- const { endColumn, endRow, googleSpreadsheetRange, startColumn, startRow } = options;
205
- return googleSpreadsheetRange || ((alphabet[startColumn || 0] || 'A') +
206
- (Math.max((startRow || 0), 0) + 1) +
207
- ':' +
208
- (alphabet[pick(endColumn, 25)] || 'Z') +
209
- (endRow ?
210
- Math.max(endRow, 0) :
211
- 'Z'));
160
+ const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
161
+ /* *
162
+ *
163
+ * Functions
164
+ *
165
+ * */
166
+ /**
167
+ * Creates GoogleSheets API v4 URL.
168
+ * @private
169
+ */
170
+ export function buildFetchURL(apiKey, sheetKey, options = {}) {
171
+ const url = new URL(`https://sheets.googleapis.com/v4/spreadsheets/${sheetKey}/values/`);
172
+ const range = options.onlyColumnIds ?
173
+ 'A1:Z1' : buildQueryRange(options);
174
+ url.pathname += range;
175
+ const searchParams = url.searchParams;
176
+ searchParams.set('alt', 'json');
177
+ if (!options.onlyColumnIds) {
178
+ searchParams.set('dateTimeRenderOption', 'FORMATTED_STRING');
179
+ searchParams.set('majorDimension', 'COLUMNS');
180
+ searchParams.set('valueRenderOption', 'UNFORMATTED_VALUE');
212
181
  }
213
- GoogleSheetsConnector.buildQueryRange = buildQueryRange;
214
- })(GoogleSheetsConnector || (GoogleSheetsConnector = {}));
182
+ searchParams.set('prettyPrint', 'false');
183
+ searchParams.set('key', apiKey);
184
+ return url.href;
185
+ }
186
+ /**
187
+ * Creates sheets range.
188
+ * @private
189
+ */
190
+ export function buildQueryRange(options = {}) {
191
+ const { endColumn, endRow, googleSpreadsheetRange, startColumn, startRow } = options;
192
+ return googleSpreadsheetRange || ((alphabet[startColumn || 0] || 'A') +
193
+ (Math.max((startRow || 0), 0) + 1) +
194
+ ':' +
195
+ (alphabet[pick(endColumn, 25)] || 'Z') +
196
+ (endRow ?
197
+ Math.max(endRow, 0) :
198
+ 'Z'));
199
+ }
215
200
  /* *
216
201
  *
217
202
  * Registry
@@ -19,7 +19,9 @@
19
19
  * */
20
20
 
21
21
  import type DataConnectorOptions from './DataConnectorOptions';
22
- import type DataTable from '../DataTable';
22
+ import type {
23
+ BasicColumn as DataTableBasicColumn
24
+ } from '../DataTable';
23
25
  import type { DataTableConnectorOptions } from './DataConnectorOptions';
24
26
 
25
27
  /* *
@@ -155,7 +157,7 @@ export interface GoogleSheetsDataTableConnectorOptions extends DataTableConnecto
155
157
  *
156
158
  */
157
159
  export interface GoogleSheetsBeforeParseCallbackFunction {
158
- (data: DataTable.BasicColumn[]): DataTable.BasicColumn[];
160
+ (data: DataTableBasicColumn[]): DataTableBasicColumn[];
159
161
  }
160
162
 
161
163
  /* *
@@ -1,7 +1,7 @@
1
- import type DataEvent from '../DataEvent';
1
+ import type { DataEventDetail } from '../DataEvent';
2
2
  import type HTMLTableConnectorOptions from './HTMLTableConnectorOptions';
3
3
  import type HTMLTableConverterOptions from '../Converters/HTMLTableConverterOptions';
4
- import DataConnector from './DataConnector.js';
4
+ import DataConnector, { type Event as DataConnectorEvent } from './DataConnector.js';
5
5
  import HTMLTableConverter from '../Converters/HTMLTableConverter.js';
6
6
  /**
7
7
  * Class that handles creating a data connector from an HTML table.
@@ -13,10 +13,10 @@ declare class HTMLTableConnector extends DataConnector {
13
13
  /**
14
14
  * Constructs an instance of HTMLTableConnector.
15
15
  *
16
- * @param {HTMLTableConnector.CombinedHTMLTableConnectorOptions} [options]
16
+ * @param {CombinedHTMLTableConnectorOptions} [options]
17
17
  * Options for the connector and converter.
18
18
  */
19
- constructor(options?: HTMLTableConnector.CombinedHTMLTableConnectorOptions);
19
+ constructor(options?: CombinedHTMLTableConnectorOptions);
20
20
  /**
21
21
  * Options for the HTMLTable dataconnector
22
22
  * @todo this should not include parsing options
@@ -35,40 +35,35 @@ declare class HTMLTableConnector extends DataConnector {
35
35
  /**
36
36
  * Initiates creating the dataconnector from the HTML table
37
37
  *
38
- * @param {DataEvent.Detail} [eventDetail]
38
+ * @param {DataEventDetail} [eventDetail]
39
39
  * Custom information for pending events.
40
40
  *
41
41
  * @emits HTMLTableConnector#load
42
42
  * @emits HTMLTableConnector#afterLoad
43
43
  * @emits HTMLTableConnector#loadError
44
44
  */
45
- load(eventDetail?: DataEvent.Detail): Promise<this>;
45
+ load(eventDetail?: DataEventDetail): Promise<this>;
46
46
  }
47
47
  /**
48
- * Types for class-specific options and events
48
+ * Type for event object fired from HTMLTableConnector
49
49
  */
50
- declare namespace HTMLTableConnector {
51
- /**
52
- * Type for event object fired from HTMLTableConnector
53
- */
54
- interface Event extends DataConnector.Event {
55
- }
56
- /**
57
- * Options for exporting the connector as an HTML table
58
- */
59
- interface ExportOptions {
60
- decimalPoint?: string | null;
61
- exportIDColumn?: boolean;
62
- tableCaption?: string;
63
- useLocalDecimalPoint?: boolean;
64
- useMultiLevelHeaders?: boolean;
65
- useRowspanHeaders?: boolean;
66
- }
67
- /**
68
- * Options of the HTMLTable connector and converter.
69
- */
70
- type CombinedHTMLTableConnectorOptions = Partial<HTMLTableConnectorOptions> & HTMLTableConverterOptions;
50
+ export interface Event extends DataConnectorEvent {
51
+ }
52
+ /**
53
+ * Options for exporting the connector as an HTML table
54
+ */
55
+ export interface ExportOptions {
56
+ decimalPoint?: string | null;
57
+ exportIDColumn?: boolean;
58
+ tableCaption?: string;
59
+ useLocalDecimalPoint?: boolean;
60
+ useMultiLevelHeaders?: boolean;
61
+ useRowspanHeaders?: boolean;
71
62
  }
63
+ /**
64
+ * Options of the HTMLTable connector and converter.
65
+ */
66
+ export type CombinedHTMLTableConnectorOptions = Partial<HTMLTableConnectorOptions> & HTMLTableConverterOptions;
72
67
  declare module './DataConnectorType' {
73
68
  interface DataConnectorTypes {
74
69
  HTMLTable: typeof HTMLTableConnector;
@@ -18,9 +18,8 @@
18
18
  import DataConnector from './DataConnector.js';
19
19
  import HTMLTableConverter from '../Converters/HTMLTableConverter.js';
20
20
  import H from '../../Core/Globals.js';
21
+ import { merge } from '../../Shared/Utilities.js';
21
22
  const { win } = H;
22
- import U from '../../Core/Utilities.js';
23
- const { merge } = U;
24
23
  /* *
25
24
  *
26
25
  * Class
@@ -40,7 +39,7 @@ class HTMLTableConnector extends DataConnector {
40
39
  /**
41
40
  * Constructs an instance of HTMLTableConnector.
42
41
  *
43
- * @param {HTMLTableConnector.CombinedHTMLTableConnectorOptions} [options]
42
+ * @param {CombinedHTMLTableConnectorOptions} [options]
44
43
  * Options for the connector and converter.
45
44
  */
46
45
  constructor(options) {
@@ -52,7 +51,7 @@ class HTMLTableConnector extends DataConnector {
52
51
  /**
53
52
  * Initiates creating the dataconnector from the HTML table
54
53
  *
55
- * @param {DataEvent.Detail} [eventDetail]
54
+ * @param {DataEventDetail} [eventDetail]
56
55
  * Custom information for pending events.
57
56
  *
58
57
  * @emits HTMLTableConnector#load
@@ -1,7 +1,7 @@
1
- import type DataEvent from '../DataEvent';
1
+ import type { DataEventDetail } from '../DataEvent';
2
2
  import type JSONConnectorOptions from './JSONConnectorOptions';
3
3
  import type { JSONData } from '../Converters/JSONConverterOptions';
4
- import DataConnector from './DataConnector.js';
4
+ import DataConnector, { type Event as DataConnectorEvent } from './DataConnector.js';
5
5
  import JSONConverter from '../Converters/JSONConverter.js';
6
6
  /**
7
7
  * Class that handles creating a DataConnector from JSON structure
@@ -30,31 +30,26 @@ declare class JSONConnector extends DataConnector {
30
30
  * Overrides the DataConnector method. Emits an event on the connector to
31
31
  * all registered callbacks of this event.
32
32
  *
33
- * @param {JSONConnector.Event} e
33
+ * @param {Event} e
34
34
  * Event object containing additional event information.
35
35
  */
36
- emit(e: JSONConnector.Event): void;
36
+ emit(e: Event): void;
37
37
  /**
38
38
  * Initiates the loading of the JSON source to the connector
39
39
  *
40
- * @param {DataEvent.Detail} [eventDetail]
40
+ * @param {DataEventDetail} [eventDetail]
41
41
  * Custom information for pending events.
42
42
  *
43
43
  * @emits JSONConnector#load
44
44
  * @emits JSONConnector#afterLoad
45
45
  */
46
- load(eventDetail?: DataEvent.Detail): Promise<this>;
46
+ load(eventDetail?: DataEventDetail): Promise<this>;
47
47
  }
48
48
  /**
49
- * Types for class-specific options and events.
49
+ * Event objects fired from JSONConnector events.
50
50
  */
51
- declare namespace JSONConnector {
52
- /**
53
- * Event objects fired from JSONConnector events.
54
- */
55
- interface Event extends DataConnector.Event {
56
- readonly data?: JSONData;
57
- }
51
+ export interface Event extends DataConnectorEvent {
52
+ readonly data?: JSONData;
58
53
  }
59
54
  declare module './DataConnectorType' {
60
55
  interface DataConnectorTypes {
@@ -14,8 +14,7 @@
14
14
  'use strict';
15
15
  import DataConnector from './DataConnector.js';
16
16
  import JSONConverter from '../Converters/JSONConverter.js';
17
- import U from '../../Core/Utilities.js';
18
- const { merge, fireEvent } = U;
17
+ import { fireEvent, merge } from '../../Shared/Utilities.js';
19
18
  /* *
20
19
  *
21
20
  * Class
@@ -55,7 +54,7 @@ class JSONConnector extends DataConnector {
55
54
  * Overrides the DataConnector method. Emits an event on the connector to
56
55
  * all registered callbacks of this event.
57
56
  *
58
- * @param {JSONConnector.Event} e
57
+ * @param {Event} e
59
58
  * Event object containing additional event information.
60
59
  */
61
60
  emit(e) {
@@ -64,7 +63,7 @@ class JSONConnector extends DataConnector {
64
63
  /**
65
64
  * Initiates the loading of the JSON source to the connector
66
65
  *
67
- * @param {DataEvent.Detail} [eventDetail]
66
+ * @param {DataEventDetail} [eventDetail]
68
67
  * Custom information for pending events.
69
68
  *
70
69
  * @emits JSONConnector#load