@igo2/geo 18.0.1-next.2 → 19.0.0-next.10
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/fesm2022/igo2-geo.mjs +1502 -1109
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +10 -16
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -0
- package/lib/datasource/shared/capabilities.service.d.ts +2 -1
- package/lib/datasource/shared/datasources/datasource.d.ts +19 -1
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +5 -0
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +12 -2
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +1 -0
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +3 -2
- package/lib/datasource/shared/options/options-api.service.d.ts +1 -0
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +4 -2
- package/lib/directions/shared/directions.service.d.ts +0 -1
- package/lib/feature/feature-details/feature-details.component.d.ts +3 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -0
- package/lib/filter/shared/date.utils.d.ts +9 -0
- package/lib/filter/shared/filter.utils.d.ts +26 -0
- package/lib/filter/shared/ogc-filter.d.ts +0 -7
- package/lib/filter/shared/ogc-filter.interface.d.ts +9 -2
- package/lib/filter/shared/ogc-filter.service.d.ts +1 -0
- package/lib/filter/shared/time-filter.interface.d.ts +2 -2
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +10 -5
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -0
- package/lib/layer/shared/layers/linked/linked-layer.d.ts +1 -0
- package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +2 -1
- package/lib/layer/shared/layers/vector-layer.d.ts +13 -12
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +2 -4
- package/lib/workspace/shared/index.d.ts +1 -0
- package/lib/workspace/shared/workspace.interface.d.ts +4 -0
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +3 -0
- package/locale/en.geo.json +4 -2
- package/locale/fr.geo.json +4 -2
- package/package.json +6 -6
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
|
3
2
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
4
3
|
import { EntityStore } from '@igo2/common/entity';
|
|
4
|
+
import { Form, FormService } from '@igo2/common/form';
|
|
5
5
|
import { ConfigService } from '@igo2/core/config';
|
|
6
6
|
import { LanguageService } from '@igo2/core/language';
|
|
7
7
|
import { BehaviorSubject } from 'rxjs';
|
|
8
8
|
import { Catalog } from '../shared/catalog.abstract';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare class AddCatalogDialogComponent implements OnInit, OnDestroy {
|
|
11
|
-
private formBuilder;
|
|
12
11
|
languageService: LanguageService;
|
|
13
12
|
private configService;
|
|
13
|
+
private formService;
|
|
14
14
|
dialogRef: MatDialogRef<AddCatalogDialogComponent>;
|
|
15
15
|
data: {
|
|
16
16
|
predefinedCatalogs: Catalog[];
|
|
@@ -18,29 +18,23 @@ export declare class AddCatalogDialogComponent implements OnInit, OnDestroy {
|
|
|
18
18
|
error: boolean;
|
|
19
19
|
addedCatalog: Catalog;
|
|
20
20
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
typeCapabilities: string[];
|
|
26
|
-
predefinedCatalogs: Catalog[];
|
|
27
|
-
store: EntityStore<Catalog>;
|
|
28
|
-
error: boolean;
|
|
29
|
-
addedCatalog: Catalog;
|
|
21
|
+
predefinedForm$: BehaviorSubject<Form>;
|
|
22
|
+
customForm$: BehaviorSubject<Form>;
|
|
23
|
+
data$: BehaviorSubject<Catalog>;
|
|
24
|
+
customData$: BehaviorSubject<Catalog>;
|
|
30
25
|
emailAddress: string;
|
|
31
26
|
private storeViewAll$$;
|
|
32
|
-
constructor(
|
|
27
|
+
constructor(languageService: LanguageService, configService: ConfigService, formService: FormService, dialogRef: MatDialogRef<AddCatalogDialogComponent>, data: {
|
|
33
28
|
predefinedCatalogs: Catalog[];
|
|
34
29
|
store: EntityStore<Catalog>;
|
|
35
30
|
error: boolean;
|
|
36
31
|
addedCatalog: Catalog;
|
|
37
32
|
});
|
|
38
33
|
ngOnInit(): void;
|
|
34
|
+
onPredefinedSubmit(data: Catalog): void;
|
|
35
|
+
onCustomSubmit(catalog: Catalog): void;
|
|
39
36
|
ngOnDestroy(): void;
|
|
40
|
-
|
|
41
|
-
computePredefinedCatalogList(): void;
|
|
42
|
-
addCatalog(addedCatalog: Catalog): void;
|
|
43
|
-
cancel(): void;
|
|
37
|
+
checkFieldsValidity(form$: BehaviorSubject<Form>): boolean;
|
|
44
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<AddCatalogDialogComponent, [null, null, null, null, { optional: true; }]>;
|
|
45
39
|
static ɵcmp: i0.ɵɵComponentDeclaration<AddCatalogDialogComponent, "igo-add-catalog-dialog", never, {}, {}, never, never, true, never>;
|
|
46
40
|
}
|
|
@@ -60,6 +60,7 @@ export declare class CatalogLibaryComponent implements OnInit, OnDestroy {
|
|
|
60
60
|
private unsubscribeAddingCatalog;
|
|
61
61
|
addCatalog(addedCatalog: Catalog): void;
|
|
62
62
|
ngOnDestroy(): void;
|
|
63
|
+
private handleAddCatalogToStore;
|
|
63
64
|
onCatalogRemove(catalog: any): void;
|
|
64
65
|
addCatalogDialog(error?: any, addedCatalog?: Catalog): void;
|
|
65
66
|
static ɵfac: i0.ɵɵFactoryDeclaration<CatalogLibaryComponent, never>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
+
import { TimeFilterOptions } from '../../filter/shared/time-filter.interface';
|
|
3
4
|
import type { LegendOptions } from '../../layer/shared/layers/legend.interface';
|
|
4
5
|
import { MapService } from '../../map/shared/map.service';
|
|
5
6
|
import { TypeCapabilitiesStrings } from './capabilities.interface';
|
|
@@ -28,7 +29,7 @@ export declare class CapabilitiesService {
|
|
|
28
29
|
private parseArcgisOptions;
|
|
29
30
|
private parseTileOrImageArcgisOptions;
|
|
30
31
|
private findDataSourceInCapabilities;
|
|
31
|
-
getTimeFilter(layer: any):
|
|
32
|
+
getTimeFilter(layer: any): TimeFilterOptions;
|
|
32
33
|
getStyle(Style: any): LegendOptions;
|
|
33
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<CapabilitiesService, never>;
|
|
34
35
|
static ɵprov: i0.ɵɵInjectableDeclaration<CapabilitiesService>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import olClusterSource from 'ol/source/Cluster';
|
|
2
2
|
import olSource from 'ol/source/Source';
|
|
3
3
|
import olVectorSource from 'ol/source/Vector';
|
|
4
|
+
import { Subscription } from 'rxjs';
|
|
4
5
|
import { LegendOptions } from '../../../layer/shared/layers/legend.interface';
|
|
5
6
|
import { DataService } from './data.service';
|
|
6
|
-
import { DataSourceOptions, Legend } from './datasource.interface';
|
|
7
|
+
import { DataSourceOptions, DatasourceEvent, Legend } from './datasource.interface';
|
|
7
8
|
export declare abstract class DataSource {
|
|
8
9
|
options: DataSourceOptions;
|
|
9
10
|
protected dataService?: DataService;
|
|
@@ -11,10 +12,27 @@ export declare abstract class DataSource {
|
|
|
11
12
|
ol: olSource | olVectorSource | olClusterSource;
|
|
12
13
|
private legend;
|
|
13
14
|
get saveableOptions(): Partial<DataSourceOptions>;
|
|
15
|
+
protected events: Map<"refresh", Subscription>;
|
|
16
|
+
properties: DatasourceProperties;
|
|
14
17
|
constructor(options?: DataSourceOptions, dataService?: DataService);
|
|
15
18
|
protected abstract createOlSource(): olSource;
|
|
16
19
|
protected generateId(): string;
|
|
17
20
|
getLegend(): Legend[];
|
|
18
21
|
setLegend(options: LegendOptions): Legend[];
|
|
22
|
+
refresh(): void;
|
|
23
|
+
addEvents(events?: DatasourceEvent[]): void;
|
|
24
|
+
removeEvents(): void;
|
|
25
|
+
private addEvent;
|
|
26
|
+
destroy(): void;
|
|
19
27
|
protected abstract onUnwatch(): any;
|
|
20
28
|
}
|
|
29
|
+
declare class DatasourceProperties {
|
|
30
|
+
/** General object to store general properties */
|
|
31
|
+
private properties;
|
|
32
|
+
get(key: string): unknown;
|
|
33
|
+
getAll(): Record<string, unknown>;
|
|
34
|
+
set(key: string, value: unknown): void;
|
|
35
|
+
setMany(object: Record<string, unknown>): void;
|
|
36
|
+
delete(key: string): void;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Type } from 'ol/geom/Geometry';
|
|
2
2
|
import { Encoders, Preset, Tokenizer } from 'flexsearch';
|
|
3
|
+
import type { Observable } from 'rxjs';
|
|
3
4
|
import { DownloadOptions } from '../../../download/shared/download.interface';
|
|
4
5
|
import { OgcFilterOperatorType } from '../../../filter/shared/ogc-filter.enum';
|
|
5
6
|
export interface DataSourceOptions {
|
|
@@ -102,3 +103,7 @@ export interface TileGridOptions {
|
|
|
102
103
|
tileSize?: [number, number];
|
|
103
104
|
tileSizes?: [number, number][];
|
|
104
105
|
}
|
|
106
|
+
export type AnyEventName = EventRefresh;
|
|
107
|
+
export declare const EventRefresh: "refresh";
|
|
108
|
+
export type EventRefresh = typeof EventRefresh;
|
|
109
|
+
export type DatasourceEvent = [AnyEventName, Observable<unknown>];
|
|
@@ -27,6 +27,7 @@ export declare class WFSDataSource extends DataSource {
|
|
|
27
27
|
protected createOlSource(): olSourceVector;
|
|
28
28
|
setOgcFilters(ogcFilters: OgcFiltersOptions, triggerEvent?: boolean): void;
|
|
29
29
|
onUnwatch(): void;
|
|
30
|
+
refresh(): void;
|
|
30
31
|
fetchFeatures({ extent, projection, httpClient }: FetchFeatureOptions): Observable<OlFeature<OlGeometry>[]>;
|
|
31
32
|
private _fetchFeatures;
|
|
32
33
|
private _parseXmlFeatures;
|
|
@@ -19,6 +19,7 @@ export declare class WMSDataSource extends DataSource {
|
|
|
19
19
|
protected wfsService: WFSService;
|
|
20
20
|
ol: olSourceImageWMS;
|
|
21
21
|
get params(): any;
|
|
22
|
+
set stylesParams(value: string);
|
|
22
23
|
get queryTitle(): string;
|
|
23
24
|
get mapLabel(): string;
|
|
24
25
|
get queryHtmlTarget(): string;
|
|
@@ -28,14 +29,23 @@ export declare class WMSDataSource extends DataSource {
|
|
|
28
29
|
get timeFilter(): TimeFilterOptions;
|
|
29
30
|
readonly timeFilter$: BehaviorSubject<TimeFilterOptions>;
|
|
30
31
|
get saveableOptions(): Partial<WMSDataSourceOptions>;
|
|
32
|
+
/**
|
|
33
|
+
* @workaround
|
|
34
|
+
* We need a external way to desactive the refresh of a linked layer for the workspace
|
|
35
|
+
* The workspace services create all workspace layer on init and the refresh
|
|
36
|
+
* is enable by default even if the workspace is not use the layer will still be refreshed.
|
|
37
|
+
*/
|
|
38
|
+
enableRefresh: boolean;
|
|
31
39
|
constructor(options: WMSDataSourceOptions, wfsService: WFSService);
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
private dateFormat;
|
|
41
|
+
addEvents(): void;
|
|
34
42
|
protected createOlSource(): olSourceImageWMS;
|
|
35
43
|
setOgcFilters(ogcFilters: OgcFiltersOptions, triggerEvent?: boolean): void;
|
|
36
44
|
setTimeFilter(timeFilter: TimeFilterOptions, triggerEvent?: boolean): void;
|
|
37
45
|
getLegend(style?: string, view?: LegendMapViewOptions): Legend[];
|
|
38
46
|
onUnwatch(): void;
|
|
47
|
+
private addRefreshInterval;
|
|
48
|
+
private buildDynamicDownloadUrlFromParamsWFS;
|
|
39
49
|
}
|
|
40
50
|
export interface TimeFilterableDataSource extends WMSDataSource {
|
|
41
51
|
options: TimeFilterableDataSourceOptions;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Extent } from 'ol/extent';
|
|
2
2
|
import olProjection from 'ol/proj/Projection';
|
|
3
|
-
import { OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
|
|
3
|
+
import { IOgcFiltersOption, OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
|
|
4
4
|
import { WFSDataSourceOptions } from './wfs-datasource.interface';
|
|
5
5
|
import { WMSDataSourceOptions } from './wms-datasource.interface';
|
|
6
6
|
export declare const defaultEpsg = "EPSG:3857";
|
|
@@ -17,7 +17,7 @@ export declare const jsonRegex: RegExp;
|
|
|
17
17
|
* @param ogcFilters OgcFiltersOptions
|
|
18
18
|
* @returns A string representing the datasource options, based on filter and views
|
|
19
19
|
*/
|
|
20
|
-
export declare function buildUrl(options: WFSDataSourceOptions, extent: Extent, proj: olProjection,
|
|
20
|
+
export declare function buildUrl(options: WFSDataSourceOptions, extent: Extent, proj: olProjection, randomParam?: boolean): string;
|
|
21
21
|
/**
|
|
22
22
|
* This method build/standardize WFS call query params based on the layer property.
|
|
23
23
|
* @param wfsDataSourceOptions WFSDataSourceOptions The common wfs datasource options interface
|
|
@@ -40,3 +40,4 @@ export declare function formatWFSQueryString(dataSourceOptions: WFSDataSourceOpt
|
|
|
40
40
|
*/
|
|
41
41
|
export declare function checkWfsParams(wfsDataSourceOptions: any, srcType?: string): any;
|
|
42
42
|
export declare function getFormatFromOptions(options: WFSDataSourceOptions | WMSDataSourceOptions): any;
|
|
43
|
+
export declare function getSaveableOgcParams(options: OgcFiltersOptions): IOgcFiltersOption;
|
|
@@ -11,6 +11,7 @@ export declare class OptionsApiService extends OptionsService {
|
|
|
11
11
|
constructor(http: HttpClient, options?: OptionsApiOptions);
|
|
12
12
|
getWMSOptions(baseOptions: WMSDataSourceOptions, detailedContextUri?: string): Observable<WMSDataSourceOptions>;
|
|
13
13
|
getArcgisRestOptions(baseOptions: ArcGISRestDataSourceOptions | ArcGISRestImageDataSourceOptions | TileArcGISRestDataSourceOptions, detailedContextUri?: string): Observable<ArcGISRestDataSourceOptions | ArcGISRestImageDataSourceOptions | TileArcGISRestDataSourceOptions>;
|
|
14
|
+
private handleSourceOptions;
|
|
14
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<OptionsApiService, never>;
|
|
15
16
|
static ɵprov: i0.ɵɵInjectableDeclaration<OptionsApiService>;
|
|
16
17
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Clipboard } from '@angular/cdk/clipboard';
|
|
1
2
|
import { LanguageService } from '@igo2/core/language';
|
|
2
3
|
import { MessageService } from '@igo2/core/message';
|
|
3
4
|
import { RouteService } from '@igo2/core/route';
|
|
@@ -7,6 +8,7 @@ import { FeatureWithDirections } from '../shared/directions.interface';
|
|
|
7
8
|
import { RoutesFeatureStore, StepsFeatureStore, StopsStore } from '../shared/store';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export declare class DirectionsButtonsComponent {
|
|
11
|
+
private clipboard;
|
|
10
12
|
private languageService;
|
|
11
13
|
private messageService;
|
|
12
14
|
private routeService;
|
|
@@ -17,7 +19,7 @@ export declare class DirectionsButtonsComponent {
|
|
|
17
19
|
routesFeatureStore: RoutesFeatureStore;
|
|
18
20
|
stepsFeatureStore: StepsFeatureStore;
|
|
19
21
|
downloadDirectionsBtnDisabled: boolean;
|
|
20
|
-
constructor(languageService: LanguageService, messageService: MessageService, routeService: RouteService, directionsService: DirectionsService);
|
|
22
|
+
constructor(clipboard: Clipboard, languageService: LanguageService, messageService: MessageService, routeService: RouteService, directionsService: DirectionsService);
|
|
21
23
|
/**
|
|
22
24
|
* Returns the active route from the routesFeatureStore.
|
|
23
25
|
*
|
|
@@ -69,6 +71,6 @@ export declare class DirectionsButtonsComponent {
|
|
|
69
71
|
* @return {string | undefined} The generated link, or undefined if the route service is not available.
|
|
70
72
|
*/
|
|
71
73
|
private getLink;
|
|
72
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DirectionsButtonsComponent, [null, null, { optional: true; }, null]>;
|
|
74
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DirectionsButtonsComponent, [null, null, null, { optional: true; }, null]>;
|
|
73
75
|
static ɵcmp: i0.ɵɵComponentDeclaration<DirectionsButtonsComponent, "igo-directions-buttons", never, { "contextUri": { "alias": "contextUri"; "required": true; }; "zoomOnActiveRoute$": { "alias": "zoomOnActiveRoute$"; "required": true; }; "stopsStore": { "alias": "stopsStore"; "required": true; }; "routesFeatureStore": { "alias": "routesFeatureStore"; "required": true; }; "stepsFeatureStore": { "alias": "stepsFeatureStore"; "required": true; }; }, {}, never, never, true, never>;
|
|
74
76
|
}
|
|
@@ -3,7 +3,6 @@ import { ConfigService } from '@igo2/core/config';
|
|
|
3
3
|
import { LanguageService } from '@igo2/core/language';
|
|
4
4
|
import { SubjectStatus } from '@igo2/utils';
|
|
5
5
|
import { Position } from 'geojson';
|
|
6
|
-
import 'jspdf-autotable';
|
|
7
6
|
import { Observable } from 'rxjs';
|
|
8
7
|
import { IgoMap } from '../../map/shared/map';
|
|
9
8
|
import { PrintService } from '../../print/shared/print.service';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Clipboard } from '@angular/cdk/clipboard';
|
|
1
2
|
import { HttpClient } from '@angular/common/http';
|
|
2
3
|
import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
3
4
|
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
|
|
@@ -10,6 +11,7 @@ import { SearchSource } from '../../search/shared/sources/source';
|
|
|
10
11
|
import { Feature } from '../shared';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export declare class FeatureDetailsComponent implements OnInit, OnDestroy {
|
|
14
|
+
private clipboard;
|
|
13
15
|
private http;
|
|
14
16
|
private cdRef;
|
|
15
17
|
private sanitizer;
|
|
@@ -38,7 +40,7 @@ export declare class FeatureDetailsComponent implements OnInit, OnDestroy {
|
|
|
38
40
|
* @internal
|
|
39
41
|
*/
|
|
40
42
|
get icon(): string;
|
|
41
|
-
constructor(http: HttpClient, cdRef: ChangeDetectorRef, sanitizer: DomSanitizer, networkService: NetworkService, messageService: MessageService, configService: ConfigService);
|
|
43
|
+
constructor(clipboard: Clipboard, http: HttpClient, cdRef: ChangeDetectorRef, sanitizer: DomSanitizer, networkService: NetworkService, messageService: MessageService, configService: ConfigService);
|
|
42
44
|
ngOnInit(): void;
|
|
43
45
|
ngOnDestroy(): void;
|
|
44
46
|
urlSanitizer(value: any): SafeResourceUrl;
|
|
@@ -82,6 +82,7 @@ export declare class OgcFilterTimeComponent implements OnInit {
|
|
|
82
82
|
getDateFromStringWithoutTime(stringDate: string): Date;
|
|
83
83
|
resetFilter(): void;
|
|
84
84
|
toggleFilterState(): void;
|
|
85
|
+
private isValidDate;
|
|
85
86
|
static ɵfac: i0.ɵɵFactoryDeclaration<OgcFilterTimeComponent, never>;
|
|
86
87
|
static ɵcmp: i0.ɵɵComponentDeclaration<OgcFilterTimeComponent, "igo-ogc-filter-time", never, { "datasource": { "alias": "datasource"; "required": false; }; "currentFilter": { "alias": "currentFilter"; "required": false; }; }, { "changeProperty": "changeProperty"; }, never, never, true, never>;
|
|
87
88
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param date: string
|
|
3
|
+
* @example date = <[2014-08-25, 2018-08-25]>
|
|
4
|
+
* @example date = 2014-08-25, 2018-08-25
|
|
5
|
+
* @example date = 2014-08-25/ 2018-08-25
|
|
6
|
+
* @example date = 2014-08-25
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseDateString(date: string | [min: string, max: string]): Date | [min: Date, max: Date] | undefined;
|
|
9
|
+
export declare function isDateOrRangeInRange(dateOrRange: Date | [min: Date, max: Date], [min, max]: [min: Date, max: Date]): boolean;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AnyBaseOgcFilterOptions, IgoLogicalArrayOptions, OgcFilterConditionsArrayOptions, OgcFilterSpatialOptions } from './ogc-filter.interface';
|
|
2
|
+
export declare const TimeFrame: readonly ["now", "today"];
|
|
3
|
+
export type TimeFrame = (typeof TimeFrame)[number];
|
|
4
|
+
export declare const TimeUnit: readonly ["years", "months", "weeks", "days", "hours", "seconds"];
|
|
5
|
+
export type TimeUnit = (typeof TimeUnit)[number];
|
|
6
|
+
export declare const ArithmeticSymbol: readonly ["+", "-"];
|
|
7
|
+
export type ArithmeticSymbol = (typeof ArithmeticSymbol)[number];
|
|
8
|
+
/**
|
|
9
|
+
* this function to parse date with specific format
|
|
10
|
+
* exemple 'today' or 'today + 1 days' or 'now + 1 years'
|
|
11
|
+
* @param value string date
|
|
12
|
+
* @returns date
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseDateOperation(dateOperation: string): string;
|
|
15
|
+
export declare function isIgoLogicalArray(filters: IgoLogicalArrayOptions | AnyBaseOgcFilterOptions): filters is IgoLogicalArrayOptions;
|
|
16
|
+
export declare function isFilterAttributeOptions(filters: AnyBaseOgcFilterOptions): filters is Exclude<AnyBaseOgcFilterOptions & {
|
|
17
|
+
filterid?: string;
|
|
18
|
+
}, OgcFilterConditionsArrayOptions | OgcFilterSpatialOptions>;
|
|
19
|
+
/**
|
|
20
|
+
* Recursive
|
|
21
|
+
* Search inside filters of OgcFiltersOptions
|
|
22
|
+
*/
|
|
23
|
+
export declare function searchFilter(filters: IgoLogicalArrayOptions | AnyBaseOgcFilterOptions, key: 'propertyName' | 'filterid', value: string): ((IgoLogicalArrayOptions | AnyBaseOgcFilterOptions) & {
|
|
24
|
+
filterid?: string;
|
|
25
|
+
}) | undefined;
|
|
26
|
+
export declare function isTimeFrame(value: string): boolean;
|
|
@@ -27,11 +27,4 @@ export declare class OgcFilterWriter {
|
|
|
27
27
|
formatGroupAndFilter(ogcFilters: OgcFiltersOptions, selectors: any): any[];
|
|
28
28
|
formatProcessedOgcFilter(processedFilter: string, layersOrTypenames: string): string;
|
|
29
29
|
parseFilterOptionDate(value: string, defaultValue?: string): string;
|
|
30
|
-
/**
|
|
31
|
-
* this function to parse date with specific format
|
|
32
|
-
* exemple 'today + 1 days' or 'now + 1 years'
|
|
33
|
-
* @param value string date
|
|
34
|
-
* @returns date
|
|
35
|
-
*/
|
|
36
|
-
private parseDateOperation;
|
|
37
30
|
}
|
|
@@ -28,7 +28,9 @@ export type IgoOgcFilterObject = IgoLogicalArrayOptions | AnyBaseOgcFilterOption
|
|
|
28
28
|
export interface OgcFiltersOptions {
|
|
29
29
|
enabled?: boolean;
|
|
30
30
|
editable?: boolean;
|
|
31
|
-
filters?: IgoLogicalArrayOptions | AnyBaseOgcFilterOptions
|
|
31
|
+
filters?: (IgoLogicalArrayOptions | AnyBaseOgcFilterOptions) & {
|
|
32
|
+
filterid?: string;
|
|
33
|
+
};
|
|
32
34
|
pushButtons?: IgoOgcSelector;
|
|
33
35
|
checkboxes?: IgoOgcSelector;
|
|
34
36
|
radioButtons?: IgoOgcSelector;
|
|
@@ -46,6 +48,7 @@ export interface IgoOgcSelector {
|
|
|
46
48
|
selectorType: 'pushButton' | 'checkbox' | 'radioButton' | 'select' | 'autocomplete';
|
|
47
49
|
order?: number;
|
|
48
50
|
}
|
|
51
|
+
export declare const OgcSelectorFields: readonly ["pushButtons", "checkboxes", "radioButtons", "select", "autocomplete"];
|
|
49
52
|
export interface SelectorGroup {
|
|
50
53
|
enabled?: boolean;
|
|
51
54
|
title?: string;
|
|
@@ -168,7 +171,7 @@ export interface OgcInterfaceFilterOptions {
|
|
|
168
171
|
end?: string;
|
|
169
172
|
step?: string;
|
|
170
173
|
restrictToStep?: boolean;
|
|
171
|
-
sliderOptions
|
|
174
|
+
sliderOptions?: SliderOptionsInterface;
|
|
172
175
|
displayFormat?: string;
|
|
173
176
|
escapeChar?: string;
|
|
174
177
|
expression?: string | number;
|
|
@@ -196,3 +199,7 @@ export interface SliderOptionsInterface extends OgcFilterDuringOptions {
|
|
|
196
199
|
displayFormat?: string;
|
|
197
200
|
enabled?: boolean;
|
|
198
201
|
}
|
|
202
|
+
export interface IOgcFiltersOption extends Omit<OgcFiltersOptions, 'interfaceOgcFilters'> {
|
|
203
|
+
interfaceOgcFilters: IOgcInterfaceFilterOptions[];
|
|
204
|
+
}
|
|
205
|
+
export type IOgcInterfaceFilterOptions = Pick<OgcInterfaceFilterOptions, 'propertyName' | 'begin' | 'end' | 'active' | 'operator' | 'expression'>;
|
|
@@ -5,6 +5,7 @@ export declare class OGCFilterService {
|
|
|
5
5
|
filterByOgc(wmsDatasource: WMSDataSource, filterString: string): void;
|
|
6
6
|
setOgcWFSFiltersOptions(wfsDatasource: OgcFilterableDataSource): void;
|
|
7
7
|
setOgcWMSFiltersOptions(wmsDatasource: OgcFilterableDataSource): void;
|
|
8
|
+
private mergeInterfaceFilters;
|
|
8
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<OGCFilterService, never>;
|
|
9
10
|
static ɵprov: i0.ɵɵInjectableDeclaration<OGCFilterService>;
|
|
10
11
|
}
|
|
@@ -3,8 +3,8 @@ export interface TimeFilterOptions {
|
|
|
3
3
|
min?: string;
|
|
4
4
|
max?: string;
|
|
5
5
|
range?: boolean;
|
|
6
|
-
value?: string;
|
|
7
|
-
|
|
6
|
+
value?: string | [string, string];
|
|
7
|
+
default?: string | [string, string];
|
|
8
8
|
type?: TimeFilterType;
|
|
9
9
|
format?: string;
|
|
10
10
|
style?: TimeFilterStyle;
|
|
@@ -24,7 +24,7 @@ export declare class TimeFilterFormComponent implements OnInit {
|
|
|
24
24
|
layer: Layer;
|
|
25
25
|
options: TimeFilterOptions;
|
|
26
26
|
set currentValue(value: string);
|
|
27
|
-
|
|
27
|
+
dateChange: EventEmitter<Date | [Date, Date]>;
|
|
28
28
|
yearChange: EventEmitter<string | [string, string]>;
|
|
29
29
|
mySlider: any;
|
|
30
30
|
get type(): TimeFilterType;
|
|
@@ -35,14 +35,19 @@ export declare class TimeFilterFormComponent implements OnInit {
|
|
|
35
35
|
get min(): Date;
|
|
36
36
|
get max(): Date;
|
|
37
37
|
get is(): boolean;
|
|
38
|
+
get allYearsInterval(): string[];
|
|
38
39
|
constructor(dateAdapter: DateAdapter<Date>);
|
|
39
40
|
ngOnInit(): void;
|
|
40
41
|
storeCurrentFilterValue(): void;
|
|
41
|
-
|
|
42
|
+
private processSliderValue;
|
|
43
|
+
private processCalendarYearType;
|
|
44
|
+
private processCalendarDateType;
|
|
45
|
+
private getDateValue;
|
|
46
|
+
private checkCalendarValue;
|
|
47
|
+
private checkFilterValue;
|
|
42
48
|
handleDateChange(): void;
|
|
43
49
|
handleYearChange(): void;
|
|
44
|
-
|
|
45
|
-
handleListYearStartChange(): void;
|
|
50
|
+
private setUpYearsInterval;
|
|
46
51
|
dateToNumber(date: Date): number;
|
|
47
52
|
setSliderThumbLabel(label: string): void;
|
|
48
53
|
findThumbLabel(test: any[]): any;
|
|
@@ -73,5 +78,5 @@ export declare class TimeFilterFormComponent implements OnInit {
|
|
|
73
78
|
*/
|
|
74
79
|
getStepDefinition(step: any): number;
|
|
75
80
|
static ɵfac: i0.ɵɵFactoryDeclaration<TimeFilterFormComponent, never>;
|
|
76
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TimeFilterFormComponent, "igo-time-filter-form", never, { "layer": { "alias": "layer"; "required": false; }; "options": { "alias": "options"; "required": false; }; "currentValue": { "alias": "currentValue"; "required": false; }; }, { "
|
|
81
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TimeFilterFormComponent, "igo-time-filter-form", never, { "layer": { "alias": "layer"; "required": false; }; "options": { "alias": "options"; "required": false; }; "currentValue": { "alias": "currentValue"; "required": false; }; }, { "dateChange": "dateChange"; "yearChange": "yearChange"; }, never, never, true, never>;
|
|
77
82
|
}
|
|
@@ -19,6 +19,7 @@ export declare class TimeFilterItemComponent implements OnInit, OnDestroy {
|
|
|
19
19
|
ngOnDestroy(): void;
|
|
20
20
|
handleYearChange(year: string | [string, string]): void;
|
|
21
21
|
handleDateChange(date: Date | [Date, Date]): void;
|
|
22
|
+
private reformDate;
|
|
22
23
|
private toggleLegend;
|
|
23
24
|
toggleLegendOnClick(): void;
|
|
24
25
|
setVisible(): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AuthInterceptor } from '@igo2/auth';
|
|
2
2
|
import { MessageService } from '@igo2/core/message';
|
|
3
|
-
import
|
|
3
|
+
import OlFeature from 'ol/Feature';
|
|
4
4
|
import { Extent } from 'ol/extent';
|
|
5
5
|
import olLayerVector from 'ol/layer/Vector';
|
|
6
6
|
import olProjection from 'ol/proj/Projection';
|
|
@@ -11,8 +11,7 @@ import { FeatureDataSource } from '../../../datasource/shared/datasources/featur
|
|
|
11
11
|
import { WebSocketDataSource } from '../../../datasource/shared/datasources/websocket-datasource';
|
|
12
12
|
import { WFSDataSource } from '../../../datasource/shared/datasources/wfs-datasource';
|
|
13
13
|
import { WFSDataSourceOptions } from '../../../datasource/shared/datasources/wfs-datasource.interface';
|
|
14
|
-
import type { MapBase } from '../../../map/shared
|
|
15
|
-
import { MapExtent } from '../../../map/shared/map.interface';
|
|
14
|
+
import type { MapBase, MapExtent } from '../../../map/shared';
|
|
16
15
|
import { GeoDBService } from '../../../offline/geoDB/geoDB.service';
|
|
17
16
|
import { LayerDBService } from '../../../offline/layerDB/layerDB.service';
|
|
18
17
|
import { GeoNetworkService } from '../../../offline/shared/geo-network.service';
|
|
@@ -26,10 +25,8 @@ export declare class VectorLayer extends Layer {
|
|
|
26
25
|
geoDBService?: GeoDBService;
|
|
27
26
|
layerDBService?: LayerDBService;
|
|
28
27
|
type: LayerType;
|
|
29
|
-
private
|
|
30
|
-
private
|
|
31
|
-
private previousOgcFilters;
|
|
32
|
-
private xhrAccumulator;
|
|
28
|
+
private lastRequest;
|
|
29
|
+
private ongoingRequests;
|
|
33
30
|
dataSource: FeatureDataSource | WFSDataSource | ArcGISRestDataSource | WebSocketDataSource | ClusterDataSource;
|
|
34
31
|
options: VectorLayerOptions;
|
|
35
32
|
ol: olLayerVector<olSourceVector>;
|
|
@@ -43,21 +40,22 @@ export declare class VectorLayer extends Layer {
|
|
|
43
40
|
private removeLayerFromIDB;
|
|
44
41
|
private maintainOptionsInIdb;
|
|
45
42
|
private maintainFeaturesInIdb;
|
|
46
|
-
protected flash(feature:
|
|
43
|
+
protected flash(feature: OlFeature): void;
|
|
47
44
|
init(map: MapBase | undefined): void;
|
|
48
45
|
setExtent(extent: MapExtent): void;
|
|
49
46
|
onUnwatch(): void;
|
|
50
47
|
stopAnimation(): void;
|
|
51
48
|
enableTrackFeature(id: string | number): void;
|
|
52
49
|
centerMapOnFeature(id: string | number): void;
|
|
53
|
-
trackFeature(id:
|
|
50
|
+
trackFeature(id: string | number, feat: {
|
|
51
|
+
feature: OlFeature;
|
|
52
|
+
}): void;
|
|
54
53
|
disableTrackFeature(): void;
|
|
55
54
|
/**
|
|
56
55
|
* Custom loader for a WFS datasource
|
|
57
56
|
* @internal
|
|
58
57
|
* @param vectorSource the vector source to be created
|
|
59
58
|
* @param options olOptions from source
|
|
60
|
-
* @param interceptor the interceptor of the data
|
|
61
59
|
* @param extent the extent of the requested data
|
|
62
60
|
* @param resolution the current resolution
|
|
63
61
|
* @param proj the projection to retrieve the data
|
|
@@ -65,7 +63,10 @@ export declare class VectorLayer extends Layer {
|
|
|
65
63
|
* @param failure failure callback
|
|
66
64
|
* @param randomParam random parameter to ensure cache is not causing problems in retrieving new data
|
|
67
65
|
*/
|
|
68
|
-
customWFSLoader(vectorSource: olSourceVector, options: WFSDataSourceOptions,
|
|
66
|
+
customWFSLoader(vectorSource: olSourceVector, options: WFSDataSourceOptions, extent: Extent, resolution: number, proj: olProjection, success: (features: OlFeature[]) => void, failure: () => void, randomParam?: boolean): void;
|
|
67
|
+
private abortRequests;
|
|
68
|
+
private getProjection;
|
|
69
|
+
private batchGetFeatures;
|
|
69
70
|
/**
|
|
70
71
|
* Custom loader to get feature from a WFS datasource
|
|
71
72
|
* @internal
|
|
@@ -78,13 +79,13 @@ export declare class VectorLayer extends Layer {
|
|
|
78
79
|
* @param failure failure callback
|
|
79
80
|
*/
|
|
80
81
|
private getFeatures;
|
|
82
|
+
private removeRequest;
|
|
81
83
|
/**
|
|
82
84
|
* Custom loader for vector layer.
|
|
83
85
|
* @internal
|
|
84
86
|
* @param vectorSource the vector source to be created
|
|
85
87
|
* @param url the url string or function to retrieve the data
|
|
86
88
|
* @param extent the extent of the requested data
|
|
87
|
-
* @param resolution the current resolution
|
|
88
89
|
* @param projection the projection to retrieve the data
|
|
89
90
|
*/
|
|
90
91
|
private customLoader;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AfterViewInit, ApplicationRef
|
|
1
|
+
import { AfterViewInit, ApplicationRef } from '@angular/core';
|
|
2
2
|
import { Layer } from '../../layer/shared';
|
|
3
3
|
import { LayerService } from '../../layer/shared/layer.service';
|
|
4
4
|
import { IgoMap } from '../shared/map';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class MiniBaseMapComponent implements AfterViewInit
|
|
6
|
+
export declare class MiniBaseMapComponent implements AfterViewInit {
|
|
7
7
|
private layerService;
|
|
8
8
|
private appRef;
|
|
9
9
|
map: IgoMap;
|
|
@@ -18,9 +18,7 @@ export declare class MiniBaseMapComponent implements AfterViewInit, OnDestroy {
|
|
|
18
18
|
basemap: IgoMap;
|
|
19
19
|
constructor(layerService: LayerService, appRef: ApplicationRef);
|
|
20
20
|
ngAfterViewInit(): void;
|
|
21
|
-
ngOnDestroy(): void;
|
|
22
21
|
changeBaseLayer(baseLayer: Layer): void;
|
|
23
|
-
private handleMainMapViewChange;
|
|
24
22
|
private handleBaseLayerChanged;
|
|
25
23
|
private handleLinkedBaseLayer;
|
|
26
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<MiniBaseMapComponent, never>;
|
|
@@ -27,6 +27,9 @@ export declare class WorkspaceSelectorDirective implements OnInit, OnDestroy {
|
|
|
27
27
|
private onLayersChange;
|
|
28
28
|
private getOrCreateWorkspace;
|
|
29
29
|
private layerIsEditable;
|
|
30
|
+
private updateActiveWorkspaceRefreshState;
|
|
31
|
+
private enableLayerRefreshForWorkspace;
|
|
32
|
+
private disableAllLayerRefresh;
|
|
30
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<WorkspaceSelectorDirective, never>;
|
|
31
34
|
static ɵdir: i0.ɵɵDirectiveDeclaration<WorkspaceSelectorDirective, "[igoWorkspaceSelector]", never, { "map": { "alias": "map"; "required": false; }; }, { "changeWorkspace": "changeWorkspace"; "disableSwitch": "disableSwitch"; "relationLayers": "relationLayers"; "rowsInMapExtentCheckCondition": "rowsInMapExtentCheckCondition"; }, never, never, true, never>;
|
|
32
35
|
}
|
package/locale/en.geo.json
CHANGED
|
@@ -19,14 +19,16 @@
|
|
|
19
19
|
"layer": "This layer comes from an external organization.",
|
|
20
20
|
"unavailableWithEmail": "The catalog '{{value}}' is unavailable at the moment. To add an external service to the predefined list, please contact us at {{emailAddress}}. Delays can apply if problems occurs with the provider."
|
|
21
21
|
},
|
|
22
|
+
"library.predefined.select": "Select a catalog",
|
|
23
|
+
"library.custom.title": "Title",
|
|
22
24
|
"library.add": "Add this catalog to the list",
|
|
23
|
-
"library.
|
|
25
|
+
"library.predefined": "Predefined list",
|
|
26
|
+
"library.custom": "Advanced configuration",
|
|
24
27
|
"library.remove": "Remove this catalog from the list",
|
|
25
28
|
"library.inlist": {
|
|
26
29
|
"title": "Catalog already contained",
|
|
27
30
|
"message": "The catalog is already contained in the list."
|
|
28
31
|
},
|
|
29
|
-
"library.addTitle": "Adding a catalog",
|
|
30
32
|
"library.addBtn": "Add a catalog"
|
|
31
33
|
},
|
|
32
34
|
"clickOnMap": {
|