@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.
- package/LICENSE.txt +6 -0
- package/README.md +15 -9
- package/css/grid-pro.css +1262 -1122
- package/css/modules/grid-base-variables.css +131 -0
- package/css/modules/grid-button-variables.css +140 -0
- package/css/modules/grid-caption-variables.css +11 -0
- package/css/modules/grid-description-variables.css +11 -0
- package/css/modules/grid-input-variables.css +114 -0
- package/css/modules/grid-link-variables.css +18 -0
- package/css/modules/grid-menu-variables.css +50 -0
- package/css/modules/grid-pagination-variables.css +12 -0
- package/css/modules/grid-popup-variables.css +24 -0
- package/css/modules/grid-pro.css +234 -0
- package/css/modules/grid-table-variables.css +385 -0
- package/css/modules/grid-theme-default.css +55 -0
- package/es-modules/Accessibility/A11yI18n.js +1 -2
- package/es-modules/Accessibility/Accessibility.js +1 -2
- package/es-modules/Accessibility/AccessibilityComponent.d.ts +2 -2
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +5 -6
- package/es-modules/Accessibility/Components/LegendComponent.js +1 -2
- package/es-modules/Accessibility/Components/MenuComponent.js +1 -2
- package/es-modules/Accessibility/Components/NavigatorComponent.js +3 -4
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +1 -2
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +1 -2
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +3 -4
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -4
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +1 -2
- package/es-modules/Accessibility/Components/ZoomComponent.js +1 -2
- package/es-modules/Accessibility/FocusBorder.js +1 -2
- package/es-modules/Accessibility/KeyboardNavigation.js +1 -2
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +1 -2
- package/es-modules/Accessibility/Options/A11yDefaults.d.ts +11 -0
- package/es-modules/Accessibility/Options/A11yDefaults.js +11 -0
- package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +58 -0
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +7 -2
- package/es-modules/Accessibility/Options/LangDefaults.js +9 -0
- package/es-modules/Accessibility/ProxyElement.js +2 -5
- package/es-modules/Accessibility/ProxyProvider.js +1 -2
- package/es-modules/Accessibility/Utils/Announcer.js +2 -3
- package/es-modules/Accessibility/Utils/ChartUtilities.js +1 -2
- package/es-modules/Accessibility/Utils/EventProvider.d.ts +2 -2
- package/es-modules/Accessibility/Utils/EventProvider.js +6 -2
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +1 -2
- package/es-modules/Core/Animation/AnimationUtilities.js +1 -2
- package/es-modules/Core/Animation/Fx.js +1 -2
- package/es-modules/Core/Callback.d.ts +9 -2
- package/es-modules/Core/Chart/Chart.js +48 -41
- package/es-modules/Core/Chart/Chart3D.js +1 -2
- package/es-modules/Core/Chart/ChartDefaults.js +11 -0
- package/es-modules/Core/Chart/ChartOptions.d.ts +8 -0
- package/es-modules/Core/Chart/GanttChart.js +1 -2
- package/es-modules/Core/Chart/MapChart.js +1 -2
- package/es-modules/Core/Chart/StockChart.js +2 -3
- package/es-modules/Core/Color/Color.js +1 -2
- package/es-modules/Core/Defaults.js +36 -9
- package/es-modules/Core/Delaunay.d.ts +52 -0
- package/es-modules/Core/Delaunay.js +310 -0
- package/es-modules/Core/Foundation.js +1 -2
- package/es-modules/Core/Geometry/CircleUtilities.js +1 -2
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/HttpUtilities.js +1 -2
- package/es-modules/Core/MSPointer.js +1 -2
- package/es-modules/Core/Math3D.js +1 -2
- package/es-modules/Core/Options.d.ts +6 -2
- package/es-modules/Core/Pointer.js +23 -4
- package/es-modules/Core/PointerEvent.d.ts +2 -0
- package/es-modules/Core/Renderer/HTML/AST.js +2 -2
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +1 -2
- package/es-modules/Core/Renderer/RendererUtilities.js +34 -19
- package/es-modules/Core/Responsive.d.ts +4 -2
- package/es-modules/Core/Responsive.js +10 -4
- package/es-modules/Core/Templating.d.ts +1 -1
- package/es-modules/Core/Templating.js +3 -4
- package/es-modules/Core/Time.d.ts +8 -0
- package/es-modules/Core/Time.js +2 -2
- package/es-modules/Core/Tooltip.d.ts +4 -8
- package/es-modules/Core/Tooltip.js +100 -81
- package/es-modules/Core/TooltipOptions.d.ts +44 -1
- package/es-modules/Core/Utilities.d.ts +25 -665
- package/es-modules/Core/Utilities.js +17 -1398
- package/es-modules/Data/ColumnUtils.d.ts +83 -80
- package/es-modules/Data/ColumnUtils.js +103 -113
- package/es-modules/Data/Connectors/CSVConnector.d.ts +9 -14
- package/es-modules/Data/Connectors/CSVConnector.js +3 -4
- package/es-modules/Data/Connectors/DataConnector.d.ts +52 -54
- package/es-modules/Data/Connectors/DataConnector.js +33 -52
- package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +40 -42
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +73 -88
- package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +4 -2
- package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +23 -28
- package/es-modules/Data/Connectors/HTMLTableConnector.js +3 -4
- package/es-modules/Data/Connectors/JSONConnector.d.ts +9 -14
- package/es-modules/Data/Connectors/JSONConnector.js +3 -4
- package/es-modules/Data/Converters/CSVConverter.d.ts +5 -5
- package/es-modules/Data/Converters/CSVConverter.js +3 -4
- package/es-modules/Data/Converters/CSVConverterOptions.d.ts +2 -2
- package/es-modules/Data/Converters/DataConverter.d.ts +76 -78
- package/es-modules/Data/Converters/DataConverter.js +26 -53
- package/es-modules/Data/Converters/DataConverterUtils.d.ts +88 -81
- package/es-modules/Data/Converters/DataConverterUtils.js +169 -181
- package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +4 -4
- package/es-modules/Data/Converters/GoogleSheetsConverter.js +3 -3
- package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +2 -2
- package/es-modules/Data/Converters/HTMLTableConverter.d.ts +4 -4
- package/es-modules/Data/Converters/HTMLTableConverter.js +2 -3
- package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +2 -2
- package/es-modules/Data/Converters/JSONConverter.d.ts +7 -7
- package/es-modules/Data/Converters/JSONConverter.js +6 -6
- package/es-modules/Data/Converters/JSONConverterOptions.d.ts +2 -2
- package/es-modules/Data/DataCursor.d.ts +65 -70
- package/es-modules/Data/DataCursor.js +119 -139
- package/es-modules/Data/DataEvent.d.ts +55 -57
- package/es-modules/Data/DataPool.d.ts +10 -17
- package/es-modules/Data/DataPool.js +20 -9
- package/es-modules/Data/DataTable.d.ts +111 -113
- package/es-modules/Data/DataTable.js +3 -3
- package/es-modules/Data/DataTableCore.d.ts +9 -9
- package/es-modules/Data/DataTableCore.js +2 -2
- package/es-modules/Data/Formula/FormulaParser.js +1 -2
- package/es-modules/Data/Formula/FormulaProcessor.js +1 -2
- package/es-modules/Data/Modifiers/ChainModifier.d.ts +29 -34
- package/es-modules/Data/Modifiers/ChainModifier.js +7 -8
- package/es-modules/Data/Modifiers/DataModifier.d.ts +36 -41
- package/es-modules/Data/Modifiers/DataModifier.js +31 -53
- package/es-modules/Data/Modifiers/FilterModifier.d.ts +4 -4
- package/es-modules/Data/Modifiers/FilterModifier.js +3 -4
- package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +3 -2
- package/es-modules/Data/Modifiers/InvertModifier.d.ts +4 -4
- package/es-modules/Data/Modifiers/InvertModifier.js +3 -4
- package/es-modules/Data/Modifiers/MathModifier.d.ts +5 -4
- package/es-modules/Data/Modifiers/RangeModifier.d.ts +4 -4
- package/es-modules/Data/Modifiers/RangeModifier.js +3 -4
- package/es-modules/Data/Modifiers/SortModifier.d.ts +6 -11
- package/es-modules/Data/Modifiers/SortModifier.js +3 -4
- package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +3 -3
- package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +1 -1
- package/es-modules/Grid/Core/Accessibility/Accessibility.js +5 -6
- package/es-modules/Grid/Core/Data/DataProvider.d.ts +97 -0
- package/es-modules/Grid/Core/Data/DataProvider.js +89 -0
- package/es-modules/Grid/Core/Data/DataProviderRegistry.d.ts +20 -0
- package/es-modules/Grid/Core/Data/DataProviderRegistry.js +52 -0
- package/es-modules/Grid/Core/Data/DataProviderType.d.ts +19 -0
- package/es-modules/Grid/Core/Data/DataProviderType.js +15 -0
- package/es-modules/Grid/Core/Data/LocalDataProvider.d.ts +165 -0
- package/es-modules/Grid/Core/Data/LocalDataProvider.js +341 -0
- package/es-modules/Grid/Core/Defaults.js +4 -2
- package/es-modules/Grid/Core/Globals.d.ts +20 -16
- package/es-modules/Grid/Core/Globals.js +10 -8
- package/es-modules/Grid/Core/Grid.d.ts +31 -22
- package/es-modules/Grid/Core/Grid.js +214 -136
- package/es-modules/Grid/Core/GridUtils.d.ts +33 -0
- package/es-modules/Grid/Core/GridUtils.js +50 -3
- package/es-modules/Grid/Core/Options.d.ts +145 -4
- package/es-modules/Grid/Core/Pagination/Pagination.d.ts +3 -0
- package/es-modules/Grid/Core/Pagination/Pagination.js +63 -23
- package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +4 -0
- package/es-modules/Grid/Core/Querying/FilteringController.js +1 -2
- package/es-modules/Grid/Core/Querying/PaginationController.d.ts +2 -2
- package/es-modules/Grid/Core/Querying/PaginationController.js +3 -3
- package/es-modules/Grid/Core/Querying/QueryingController.d.ts +1 -1
- package/es-modules/Grid/Core/Querying/QueryingController.js +2 -26
- package/es-modules/Grid/Core/Responsive/ResponsiveComposition.d.ts +53 -0
- package/es-modules/Grid/Core/Responsive/ResponsiveComposition.js +229 -0
- package/es-modules/Grid/Core/Responsive/ResponsiveOptions.d.ts +58 -0
- package/es-modules/Grid/Core/Responsive/ResponsiveOptions.js +15 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +2 -3
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +1 -1
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +3 -4
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +1 -1
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +2 -2
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +17 -1
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +58 -15
- package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +1 -3
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +57 -3
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +397 -118
- package/es-modules/Grid/Core/Table/Body/CellContextMenu.d.ts +11 -0
- package/es-modules/Grid/Core/Table/Body/CellContextMenu.js +84 -0
- package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +27 -13
- package/es-modules/Grid/Core/Table/Body/TableCell.js +74 -25
- package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +7 -15
- package/es-modules/Grid/Core/Table/Body/TableRow.js +24 -19
- package/es-modules/Grid/Core/Table/Cell.d.ts +16 -3
- package/es-modules/Grid/Core/Table/Cell.js +36 -3
- package/es-modules/Grid/Core/Table/CellContent/TextContent.js +3 -8
- package/es-modules/Grid/Core/Table/Column.d.ts +10 -4
- package/es-modules/Grid/Core/Table/Column.js +23 -34
- package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +9 -8
- package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +4 -3
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +5 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +7 -2
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +1 -2
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +1 -2
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +2 -3
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +1 -2
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +1 -2
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +0 -1
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +4 -14
- package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +6 -1
- package/es-modules/Grid/Core/Table/Header/HeaderCell.js +33 -13
- package/es-modules/Grid/Core/Table/Header/HeaderRow.js +4 -5
- package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +1 -1
- package/es-modules/Grid/Core/Table/Header/TableHeader.js +3 -3
- package/es-modules/Grid/Core/Table/Row.d.ts +1 -1
- package/es-modules/Grid/Core/Table/Row.js +2 -2
- package/es-modules/Grid/Core/Table/Table.d.ts +38 -12
- package/es-modules/Grid/Core/Table/Table.js +184 -91
- package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +6 -7
- package/es-modules/Grid/Core/UI/ContextMenuButton.js +5 -3
- package/es-modules/Grid/Core/UI/Popup.js +7 -9
- package/es-modules/Grid/Core/UI/SvgIcons.d.ts +42 -7
- package/es-modules/Grid/Core/UI/SvgIcons.js +206 -33
- package/es-modules/Grid/Core/UI/Toolbar.d.ts +5 -0
- package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +4 -12
- package/es-modules/Grid/Core/UI/ToolbarButton.js +8 -26
- package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +2 -2
- package/es-modules/Grid/Pro/CellEditing/CellEditing.js +10 -10
- package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +1 -1
- package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +4 -2
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +2 -2
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +2 -2
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +2 -2
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +2 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +1 -2
- package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +1 -2
- package/es-modules/Grid/Pro/ColumnTypes/Validator.js +34 -32
- package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +1 -1
- package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +3 -4
- package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +1 -3
- package/es-modules/Grid/Pro/Data/DataSourceHelper.d.ts +74 -0
- package/es-modules/Grid/Pro/Data/DataSourceHelper.js +246 -0
- package/es-modules/Grid/Pro/Data/QuerySerializer.d.ts +46 -0
- package/es-modules/Grid/Pro/Data/QuerySerializer.js +169 -0
- package/es-modules/Grid/Pro/Data/RemoteDataProvider.d.ts +187 -0
- package/es-modules/Grid/Pro/Data/RemoteDataProvider.js +500 -0
- package/es-modules/Grid/Pro/Export/Exporting.js +1 -2
- package/es-modules/Grid/Pro/Export/ExportingComposition.js +1 -2
- package/es-modules/Grid/Pro/GridEvents.js +1 -2
- package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +0 -1
- package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +1 -2
- package/es-modules/Shared/BaseForm.js +1 -2
- package/es-modules/Shared/DownloadURL.js +1 -2
- package/es-modules/Shared/TimeBase.js +3 -3
- package/es-modules/Shared/Types.d.ts +7 -0
- package/es-modules/Shared/Utilities.d.ts +576 -0
- package/es-modules/Shared/Utilities.js +1368 -0
- package/es-modules/masters/grid-pro.src.d.ts +15 -11
- package/es-modules/masters/grid-pro.src.js +12 -5
- package/grid-pro.d.ts +15 -11
- package/grid-pro.js +3 -3
- package/grid-pro.js.map +1 -1
- package/grid-pro.src.d.ts +15 -11
- package/grid-pro.src.js +10408 -8009
- package/package.json +1 -1
- package/es-modules/Grid/Core/Pagination/Icons.d.ts +0 -7
- 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
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
320
|
+
* @param {CreateConverterFunction}[createConverter]
|
|
300
321
|
* Creates a specific converter combining the dataTable options.
|
|
301
322
|
*
|
|
302
|
-
* @param {
|
|
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
|
-
*
|
|
345
|
+
* Static Properties
|
|
325
346
|
*
|
|
326
347
|
* */
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
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
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
21
|
-
|
|
20
|
+
* The attached converter, which can be replaced in the constructor
|
|
21
|
+
*/
|
|
22
22
|
converter?: GoogleSheetsConverter;
|
|
23
23
|
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
emit(e:
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
load(eventDetail?:
|
|
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
|
-
|
|
43
|
-
|
|
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
|
|
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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
*
|
|
50
|
+
* Constructor
|
|
51
|
+
*
|
|
52
|
+
* */
|
|
54
53
|
/**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
*
|
|
66
|
+
* Functions
|
|
67
|
+
*
|
|
68
|
+
* */
|
|
70
69
|
/**
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
*
|
|
157
|
+
* Constants
|
|
159
158
|
*
|
|
160
159
|
* */
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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
|
-
|
|
214
|
-
|
|
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
|
|
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:
|
|
160
|
+
(data: DataTableBasicColumn[]): DataTableBasicColumn[];
|
|
159
161
|
}
|
|
160
162
|
|
|
161
163
|
/* *
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
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 {
|
|
16
|
+
* @param {CombinedHTMLTableConnectorOptions} [options]
|
|
17
17
|
* Options for the connector and converter.
|
|
18
18
|
*/
|
|
19
|
-
constructor(options?:
|
|
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 {
|
|
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?:
|
|
45
|
+
load(eventDetail?: DataEventDetail): Promise<this>;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* Type for event object fired from HTMLTableConnector
|
|
49
49
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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 {
|
|
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 {
|
|
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
|
|
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 {
|
|
33
|
+
* @param {Event} e
|
|
34
34
|
* Event object containing additional event information.
|
|
35
35
|
*/
|
|
36
|
-
emit(e:
|
|
36
|
+
emit(e: Event): void;
|
|
37
37
|
/**
|
|
38
38
|
* Initiates the loading of the JSON source to the connector
|
|
39
39
|
*
|
|
40
|
-
* @param {
|
|
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?:
|
|
46
|
+
load(eventDetail?: DataEventDetail): Promise<this>;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* Event objects fired from JSONConnector events.
|
|
50
50
|
*/
|
|
51
|
-
|
|
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
|
|
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 {
|
|
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 {
|
|
66
|
+
* @param {DataEventDetail} [eventDetail]
|
|
68
67
|
* Custom information for pending events.
|
|
69
68
|
*
|
|
70
69
|
* @emits JSONConnector#load
|