@provoly/dashboard 0.19.0 → 0.19.1

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 (54) hide show
  1. package/README.md +1 -1
  2. package/assets/svgs/code-box.svg +1 -0
  3. package/esm2022/filters/autocomplete/autocomplete.component.mjs +41 -0
  4. package/esm2022/filters/autocomplete/autocomplete.module.mjs +24 -0
  5. package/esm2022/filters/autocomplete/provoly-dashboard-filters-autocomplete.mjs +5 -0
  6. package/esm2022/filters/autocomplete/public-api.mjs +4 -0
  7. package/esm2022/filters/autocomplete/style/css.component.mjs +11 -0
  8. package/esm2022/lib/core/components/about/about.component.mjs +3 -3
  9. package/esm2022/lib/core/components/select/select.component.mjs +4 -8
  10. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  11. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  12. package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +1 -1
  13. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
  14. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +2 -2
  15. package/esm2022/lib/core/store/search/search.service.mjs +8 -2
  16. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +3 -2
  17. package/esm2022/lib/dashboard/store/wms.service.mjs +1 -1
  18. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +3 -1
  19. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +30 -37
  20. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +10 -1
  21. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +10 -1
  22. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +95 -115
  23. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +35 -2
  24. package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +15 -13
  25. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +75 -0
  26. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -0
  27. package/fesm2022/provoly-dashboard-toolbox.mjs +2 -0
  28. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  29. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +47 -36
  30. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  31. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +138 -125
  32. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  33. package/fesm2022/provoly-dashboard.mjs +17 -12
  34. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  35. package/filters/autocomplete/autocomplete.component.d.ts +16 -0
  36. package/filters/autocomplete/autocomplete.module.d.ts +14 -0
  37. package/filters/autocomplete/index.d.ts +5 -0
  38. package/filters/autocomplete/public-api.d.ts +3 -0
  39. package/filters/autocomplete/style/_m-autocomplete.scss +7 -0
  40. package/filters/autocomplete/style/css.component.d.ts +5 -0
  41. package/lib/core/components/select/select.component.d.ts +0 -1
  42. package/lib/core/i18n/en.translations.d.ts +1 -0
  43. package/lib/core/i18n/fr.translations.d.ts +1 -0
  44. package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +1 -1
  45. package/lib/core/model/widget-map-manifest.interface.d.ts +1 -1
  46. package/lib/core/store/search/search.service.d.ts +6 -0
  47. package/lib/dashboard/store/wms.service.d.ts +1 -1
  48. package/package.json +14 -8
  49. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +8 -6
  50. package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +9 -0
  51. package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +9 -0
  52. package/widgets/widget-map/component/widget-map.component.d.ts +5 -7
  53. package/widgets/widget-map/utils/widget-map.utils.d.ts +7 -1
  54. package/widgets/widget-map/utils/xml-utils.class.d.ts +1 -1
@@ -0,0 +1,16 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { Store } from '@ngrx/store';
3
+ import { BaseFilterComponent, SearchService } from '@provoly/dashboard';
4
+ import { BehaviorSubject, Observable } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ export declare class AutocompleteComponent extends BaseFilterComponent implements OnInit, OnDestroy {
7
+ private searchService;
8
+ search$: BehaviorSubject<string>;
9
+ autocomplete$?: Observable<string[]>;
10
+ constructor(store: Store, searchService: SearchService);
11
+ ngOnInit(): void;
12
+ setFilter(value: string): void;
13
+ updateSearch($event?: Event): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "pry-autocomplete", never, {}, {}, never, never, false, never>;
16
+ }
@@ -0,0 +1,14 @@
1
+ import { Type } from '@angular/core';
2
+ import { BaseFilterComponent, BaseFilterModule } from '@provoly/dashboard';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./autocomplete.component";
5
+ import * as i2 from "./style/css.component";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "@provoly/dashboard";
9
+ export declare class PryAutocompleteModule extends BaseFilterModule {
10
+ getComponent(): Type<BaseFilterComponent>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<PryAutocompleteModule, never>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PryAutocompleteModule, [typeof i1.AutocompleteComponent, typeof i2.PryAutocompleteCssComponent], [typeof i3.CommonModule, typeof i4.ReactiveFormsModule, typeof i4.FormsModule, typeof i5.PrySelectModule], [typeof i1.AutocompleteComponent]>;
13
+ static ɵinj: i0.ɵɵInjectorDeclaration<PryAutocompleteModule>;
14
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@provoly/dashboard/filters/autocomplete" />
5
+ export * from './public-api';
@@ -0,0 +1,3 @@
1
+ export * from './autocomplete.module';
2
+ export * from './autocomplete.component';
3
+ export * from './style/css.component';
@@ -0,0 +1,7 @@
1
+ @use '../../../styles/abstracts/index' as *;
2
+
3
+ .m-form-label-field {
4
+ &.-list {
5
+ margin-bottom: 0;
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PryAutocompleteCssComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<PryAutocompleteCssComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<PryAutocompleteCssComponent, "pry-autocomplete-css", never, {}, {}, never, never, false, never>;
5
+ }
@@ -37,7 +37,6 @@ export declare class PrySelectComponent implements ControlValueAccessor {
37
37
  registerOnTouched(fn: any): void;
38
38
  setDisabledState(isDisabled: boolean): void;
39
39
  writeValue(obj: any): void;
40
- customSearchFn(term: string, item: any): boolean;
41
40
  static ɵfac: i0.ɵɵFactoryDeclaration<PrySelectComponent, never>;
42
41
  static ɵcmp: i0.ɵɵComponentDeclaration<PrySelectComponent, "pry-select", never, { "labelTranslate": { "alias": "labelTranslate"; "required": false; }; "baseTranslate": { "alias": "baseTranslate"; "required": false; }; "translationFn": { "alias": "translationFn"; "required": false; }; "translationFnArgs": { "alias": "translationFnArgs"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "multipleClearRight": { "alias": "multipleClearRight"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "isForm": { "alias": "isForm"; "required": false; }; "required": { "alias": "required"; "required": false; }; "name": { "alias": "name"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "items": { "alias": "items"; "required": false; }; "itemsAsOption": { "alias": "itemsAsOption"; "required": false; }; "bindData": { "alias": "bindData"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindIcon": { "alias": "bindIcon"; "required": false; }; "iconSize": { "alias": "iconSize"; "required": false; }; "templateLabel": { "alias": "templateLabel"; "required": false; }; "templateOption": { "alias": "templateOption"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; }, {}, never, never, false, never>;
43
42
  }
@@ -343,6 +343,7 @@ export declare const enTranslations: {
343
343
  date: string;
344
344
  list: string;
345
345
  number: string;
346
+ autocomplete: string;
346
347
  };
347
348
  };
348
349
  };
@@ -343,6 +343,7 @@ export declare const frTranslations: {
343
343
  date: string;
344
344
  list: string;
345
345
  number: string;
346
+ autocomplete: string;
346
347
  };
347
348
  };
348
349
  };
@@ -33,7 +33,7 @@ export interface TimeLimit {
33
33
  isTimeLimit: true;
34
34
  }
35
35
  export interface Sort {
36
- attribute: string;
36
+ value: 'key' | 'value';
37
37
  direction: 'asc' | 'desc';
38
38
  }
39
39
  export interface ChartAggregatedWidgetOptions {
@@ -15,7 +15,6 @@ export interface MapWidgetOptions {
15
15
  singleLayer?: boolean;
16
16
  ignoreAutoLayer?: string[];
17
17
  automaticLayers?: boolean;
18
- ignoreGetCapabilitiesExtent?: boolean;
19
18
  }
20
19
  export type MapWidgetLayerOptions = MapWidgetHeatMapLayerOptions | MapWidgetMarkerLayerOptions | MapWidgetBubbleLayerOptions | MapWidgetRelationLayerOptions | MapWMSLayerLayerOptions | MapFeatureLayerOptions | MapVectorTileLayerOptions | MapRasterTileLayerOptions | MapGeoServerLayerOptions | MapAutoLayerOptions | MapWMTSLayerLayerOptions | MapWidgetGeometryLayerOptions;
21
20
  export interface BaseWidgetMapLayerOptions {
@@ -27,6 +26,7 @@ export interface BaseWidgetMapLayerOptions {
27
26
  opacity?: number;
28
27
  order?: number;
29
28
  background?: boolean;
29
+ fit?: boolean;
30
30
  }
31
31
  export interface MapWidgetHeatMapLayerOptions extends BaseWidgetMapLayerOptions {
32
32
  type: 'heatmap';
@@ -45,6 +45,12 @@ export declare class SearchService {
45
45
  * @param rs
46
46
  */
47
47
  applyTransformations(id: string, rs: ResultSet): ResultSet;
48
+ autocomplete(attributes: {
49
+ id: string;
50
+ name: string;
51
+ label: string;
52
+ datasource: string;
53
+ }[] | undefined, search: string): Observable<string[]>;
48
54
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchService, never>;
49
55
  static ɵprov: i0.ɵɵInjectableDeclaration<SearchService>;
50
56
  }
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export type GetCapabilitiesResponse = {
5
5
  url: string;
6
- doc: Document;
6
+ doc?: Document;
7
7
  };
8
8
  export declare class WmsService {
9
9
  private httpClient;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@provoly/dashboard",
3
- "version": "0.19.0",
3
+ "version": "0.19.1",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "@angular/cdk": "14.x || 15.x || 16.x",
@@ -8,7 +8,7 @@
8
8
  "@angular/core": "15.x || 16.x",
9
9
  "@angular/platform-browser": "15.x || 16.x",
10
10
  "@angular/router": "15.x || 16.x",
11
- "@ng-select/ng-select": "9.x || 10.x || 11.x",
11
+ "@ng-select/ng-select": "11.2.0",
12
12
  "@ngrx/effects": "16.x",
13
13
  "@ngrx/entity": "16.x",
14
14
  "@ngrx/store": "16.x",
@@ -115,18 +115,18 @@
115
115
  "esm": "./esm2022/presentation/provoly-dashboard-presentation.mjs",
116
116
  "default": "./fesm2022/provoly-dashboard-presentation.mjs"
117
117
  },
118
- "./restitution": {
119
- "types": "./restitution/index.d.ts",
120
- "esm2022": "./esm2022/restitution/provoly-dashboard-restitution.mjs",
121
- "esm": "./esm2022/restitution/provoly-dashboard-restitution.mjs",
122
- "default": "./fesm2022/provoly-dashboard-restitution.mjs"
123
- },
124
118
  "./search": {
125
119
  "types": "./search/index.d.ts",
126
120
  "esm2022": "./esm2022/search/provoly-dashboard-search.mjs",
127
121
  "esm": "./esm2022/search/provoly-dashboard-search.mjs",
128
122
  "default": "./fesm2022/provoly-dashboard-search.mjs"
129
123
  },
124
+ "./restitution": {
125
+ "types": "./restitution/index.d.ts",
126
+ "esm2022": "./esm2022/restitution/provoly-dashboard-restitution.mjs",
127
+ "esm": "./esm2022/restitution/provoly-dashboard-restitution.mjs",
128
+ "default": "./fesm2022/provoly-dashboard-restitution.mjs"
129
+ },
130
130
  "./supervision": {
131
131
  "types": "./supervision/index.d.ts",
132
132
  "esm2022": "./esm2022/supervision/provoly-dashboard-supervision.mjs",
@@ -139,6 +139,12 @@
139
139
  "esm": "./esm2022/toolbox/provoly-dashboard-toolbox.mjs",
140
140
  "default": "./fesm2022/provoly-dashboard-toolbox.mjs"
141
141
  },
142
+ "./filters/autocomplete": {
143
+ "types": "./filters/autocomplete/index.d.ts",
144
+ "esm2022": "./esm2022/filters/autocomplete/provoly-dashboard-filters-autocomplete.mjs",
145
+ "esm": "./esm2022/filters/autocomplete/provoly-dashboard-filters-autocomplete.mjs",
146
+ "default": "./fesm2022/provoly-dashboard-filters-autocomplete.mjs"
147
+ },
142
148
  "./filters/date": {
143
149
  "types": "./filters/date/index.d.ts",
144
150
  "esm2022": "./esm2022/filters/date/provoly-dashboard-filters-date.mjs",
@@ -61,9 +61,11 @@ export declare class WidgetAggregatedChartComponent extends DataWidgetComponent
61
61
  noData$: Observable<boolean>;
62
62
  sortActive?: string | undefined;
63
63
  sortDirection?: string | undefined;
64
- sortAttributes$: Observable<{
65
- id?: string;
64
+ sortValues$: Observable<{
65
+ value: 'key' | 'value';
66
+ attrId?: string;
66
67
  label?: string;
68
+ isDisplayed: boolean;
67
69
  }[]>;
68
70
  sortDirections: {
69
71
  value: string;
@@ -78,9 +80,9 @@ export declare class WidgetAggregatedChartComponent extends DataWidgetComponent
78
80
  static minTick(type: FieldType): {
79
81
  tickMinStep: number;
80
82
  } | {};
81
- getSort(abscissa: string, sort?: Sort, ordinate?: string): {
83
+ getSort(abscissa: string, sort?: Sort): {
82
84
  sort: {
83
- field: string;
85
+ field: "key" | "value";
84
86
  order: string;
85
87
  };
86
88
  } | {
@@ -118,8 +120,8 @@ export declare class WidgetAggregatedChartComponent extends DataWidgetComponent
118
120
  };
119
121
  toggleStacked($event: any): void;
120
122
  toggleSort($event: any): void;
121
- changeSortAttribute($event: any): void;
122
- changeSortDirection($event: any): void;
123
+ changeSortValue($event: 'key' | 'value'): void;
124
+ changeSortDirection($event: 'asc' | 'desc'): void;
123
125
  toImage(): Promise<string>;
124
126
  changeCircleColorScheme($event: any): void;
125
127
  changeBaseColor($event: any): void;
@@ -98,6 +98,8 @@ export declare const enTranslations: {
98
98
  color: string;
99
99
  sort: {
100
100
  title: string;
101
+ attribute: string;
102
+ direction: string;
101
103
  asc: {
102
104
  quantitative: string;
103
105
  nominal: string;
@@ -110,6 +112,13 @@ export declare const enTranslations: {
110
112
  ordinal: string;
111
113
  temporal: string;
112
114
  };
115
+ by: {
116
+ operation: {
117
+ none: string;
118
+ count: string;
119
+ cardinality: string;
120
+ };
121
+ };
113
122
  };
114
123
  };
115
124
  };
@@ -97,6 +97,8 @@ export declare const frTranslations: {
97
97
  color: string;
98
98
  sort: {
99
99
  title: string;
100
+ attribute: string;
101
+ direction: string;
100
102
  asc: {
101
103
  quantitative: string;
102
104
  ordinal: string;
@@ -109,6 +111,13 @@ export declare const frTranslations: {
109
111
  nominal: string;
110
112
  temporal: string;
111
113
  };
114
+ by: {
115
+ operation: {
116
+ none: string;
117
+ count: string;
118
+ cardinality: string;
119
+ };
120
+ };
112
121
  };
113
122
  };
114
123
  };
@@ -16,6 +16,7 @@ import { InteractionManager } from '../interaction/interaction-manager.class';
16
16
  import { WidgetMapLayerService } from './widget-map-layer.service';
17
17
  import * as i0 from "@angular/core";
18
18
  export declare const TOOLTIP_PADDING = 15;
19
+ export declare const NON_MANDATORY_FIT_LAYER_TYPES: string[];
19
20
  export declare class WidgetMapComponent extends DataWidgetComponent implements AfterViewInit, OnDestroy {
20
21
  translateService: PryI18nService;
21
22
  private tooltipFactoryService;
@@ -74,8 +75,6 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
74
75
  } | undefined;
75
76
  center?: number[] | undefined;
76
77
  }>;
77
- fitOption$: Observable<boolean>;
78
- ignoreGetCapabilitiesExtent$: Observable<boolean>;
79
78
  mapStyleUrl$: Observable<string | null>;
80
79
  interactionManager: InteractionManager;
81
80
  mapStyleLayer$: Observable<VectorTileLayer[]>;
@@ -87,12 +86,13 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
87
86
  [p: string]: GetCapabilitiesResponse | null;
88
87
  } | undefined>;
89
88
  autoDatasetLayers$: Observable<MapAutoLayerOptions[]>;
90
- aggregatedExtents$: Observable<{
89
+ fitExtents$: Observable<{
91
90
  datasource: string;
92
91
  extent: Coordinate[];
93
92
  }[]>;
94
93
  datasourceFilters$: Observable<any>;
95
94
  usedClasses$: Observable<any>;
95
+ NON_MANDATORY_FIT_LAYER_TYPES: string[];
96
96
  constructor(store: Store<any>, translateService: PryI18nService, tooltipFactoryService: TooltipFactoryService, symbolService: SymbolService, injector: Injector, widgetMapLayerService: WidgetMapLayerService, pryAggregationService: PryAggregationService, el: ElementRef, geoAuthService: PryGeoAuthService);
97
97
  initInteractionManager(): InteractionManager;
98
98
  ngAfterViewInit(): void;
@@ -105,9 +105,7 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
105
105
  setDefaultLayerTitle(layer: MapWidgetLayerOptions, capabilities: {
106
106
  [p: string]: GetCapabilitiesResponse | null;
107
107
  } | undefined): void;
108
- fitMapForObjects(fit: boolean, ignoreGetCapabilitiesExtent?: boolean, wmsCapabilities?: {
109
- [p: string]: GetCapabilitiesResponse | null;
110
- }, selectedIds?: string[], extents?: {
108
+ fitMapForObjects(selectedIds?: string[], extents?: {
111
109
  datasource: string;
112
110
  extent: Coordinate[];
113
111
  }[], filters?: {
@@ -118,7 +116,7 @@ export declare class WidgetMapComponent extends DataWidgetComponent implements A
118
116
  private getLocationAttribute;
119
117
  changeStyle($event: any): void;
120
118
  changeStyleURL($event: Event): void;
121
- changeFit($event: boolean): void;
119
+ changeFit($event: boolean, layer: MapWidgetLayerOptions): void;
122
120
  changeAttributions($event: boolean): void;
123
121
  addLayer(): void;
124
122
  changeLayerType($event: any, i: number): void;
@@ -1,4 +1,4 @@
1
- import { Attribute, AttributeSimpleValue, Class, Field, Item, MapWidgetLayerOptions, Relation, ResultSet } from '@provoly/dashboard';
1
+ import { AggregationResult, Attribute, AttributeSimpleValue, Class, Field, GetCapabilitiesResponse, Item, MapGeoServerLayerOptions, MapWidgetLayerOptions, Relation, ResultSet } from '@provoly/dashboard';
2
2
  import { Feature, Map } from 'ol';
3
3
  import { Circle, LineString, Point } from 'ol/geom';
4
4
  import { Style } from 'ol/style';
@@ -16,6 +16,12 @@ export declare class WidgetMapUtils {
16
16
  static assignLayersOrder(_layers: MapWidgetLayerOptions[]): MapWidgetLayerOptions[];
17
17
  static readGeometry<T extends 'point' | 'line' | 'multi-line' | 'polygon' | 'multi-polygon'>(projection: ProjectionLike, item: Item, type: T, attribute: Attribute | undefined): Geometry | null | undefined;
18
18
  static extractGeometries(value: AttributeSimpleValue, points: any[], type: 'point' | 'line' | 'polygon'): void;
19
+ static projectExtentAggregationResponse(field: Field, extentResponse: AggregationResult, layer: MapGeoServerLayerOptions, wmsCapabilities: {
20
+ [p: string]: GetCapabilitiesResponse | null;
21
+ } | undefined, map: Map): {
22
+ datasource: string;
23
+ extent: import("ol/coordinate").Coordinate[];
24
+ };
19
25
  static DEFAULT_HEATMAP_RADIUS: number;
20
26
  static DEFAULT_RADIUS_INTENSITY_FACTOR: number;
21
27
  static DEFAULT_ZOOM_MIN: number;
@@ -3,6 +3,6 @@ export declare class XMLUtils {
3
3
  static find(childs: NodeListOf<ChildNode>, name: string): ChildNode | null;
4
4
  static findAll(childs: NodeListOf<ChildNode>, name: string): ChildNode[];
5
5
  static findWith(childs: NodeListOf<ChildNode>, attribute: string, value: string): ChildNode | null;
6
- static getMatchingLayer(paramLayer: string, doc: Document): ChildNode | null;
6
+ static getMatchingLayer(paramLayer: string, doc?: Document): ChildNode | null;
7
7
  static getLayerExtent(paramLayer: string, map: Map, doc?: Document): import("ol/coordinate").Coordinate[] | null;
8
8
  }