@igo2/geo 19.0.0-next.8 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/igo2-geo.mjs +2636 -2062
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +3 -3
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +3 -3
- package/lib/catalog/catalog-library/catalog-library.module.d.ts +4 -4
- package/lib/catalog/catalog.module.d.ts +2 -2
- package/lib/datasource/shared/datasource.service.d.ts +5 -2
- package/lib/datasource/shared/datasources/datasource.d.ts +21 -3
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +5 -0
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +4 -1
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +1 -1
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +14 -4
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +2 -2
- package/lib/datasource/shared/options/options-api.service.d.ts +1 -0
- package/lib/feature/shared/feature.interfaces.d.ts +4 -5
- package/lib/feature/shared/feature.utils.d.ts +1 -1
- package/lib/filter/shared/ogc-filter.interface.d.ts +1 -1
- package/lib/filter/shared/ogc-filter.service.d.ts +3 -2
- package/lib/geometry/shared/geometry.utils.d.ts +5 -0
- package/lib/import-export/shared/export.service.d.ts +1 -1
- package/lib/layer/shared/layer.service.d.ts +2 -4
- package/lib/layer/shared/layers/image-layer.d.ts +2 -2
- package/lib/layer/shared/layers/layer-group.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 +4 -15
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +3 -2
- package/lib/layer/utils/image-watcher.d.ts +2 -2
- package/lib/layer/utils/index.d.ts +1 -0
- package/lib/layer/utils/layer-options.utils.d.ts +12 -0
- package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +2 -4
- package/lib/offline/geoDB/geoDB.d.ts +36 -0
- package/lib/offline/geoDB/index.d.ts +1 -1
- package/lib/offline/layerDB/index.d.ts +1 -1
- package/lib/offline/layerDB/{layerDB.service.d.ts → layerDB.d.ts} +9 -11
- package/lib/offline/offline.provider.d.ts +2 -0
- package/lib/offline/shared/geo-network.service.d.ts +2 -4
- package/lib/offline/shared/indexed-db.interface.d.ts +16 -0
- package/lib/offline/shared/indexed-db.utils.d.ts +4 -0
- package/lib/query/shared/query-search-source.d.ts +1 -1
- package/lib/search/search-bar/search-bar.component.d.ts +2 -1
- package/lib/search/search-settings/search-settings.component.d.ts +8 -2
- package/lib/search/shared/sources/cadastre.d.ts +1 -1
- package/lib/search/shared/sources/coordinates.d.ts +1 -1
- package/lib/search/shared/sources/icherche.d.ts +4 -2
- package/lib/search/shared/sources/ilayer.d.ts +1 -1
- package/lib/search/shared/sources/nominatim.d.ts +1 -1
- package/lib/search/shared/sources/source.d.ts +3 -1
- package/lib/search/shared/sources/storedqueries.d.ts +2 -2
- package/lib/search/shared/sources/workspace.d.ts +1 -1
- package/lib/workspace/shared/edition-workspace.service.d.ts +2 -1
- package/lib/workspace/shared/index.d.ts +1 -0
- package/lib/workspace/shared/workspace.interface.d.ts +4 -0
- package/lib/workspace/widgets/interactive-selection/interactive-selection.component.d.ts +58 -0
- package/lib/workspace/widgets/widgets.d.ts +7 -0
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +3 -0
- package/locale/en.geo.json +29 -2
- package/locale/fr.geo.json +28 -1
- package/package.json +23 -20
- package/src/geo.theme.scss +15 -0
- package/src/lib/catalog/catalog-browser/catalog-browser.theming.scss +1 -1
- package/src/lib/directions/directions-inputs/directions-inputs.theming.scss +2 -2
- package/src/lib/directions/directions.theming.scss +2 -5
- package/src/lib/draw/draw.theming.scss +2 -17
- package/src/lib/layer/layer-legend/layer-legend.theme.scss +1 -10
- package/src/lib/layer/layer-list-tool/layer-list-tool.theming.scss +1 -13
- package/src/lib/layer/layer.theming.scss +1 -13
- package/src/lib/map/map-browser/map-browser.theming.scss +2 -28
- package/src/lib/map/map.theming.scss +2 -6
- package/src/lib/search/search-bar/search-bar.theming.scss +0 -24
- package/src/lib/search/search.theming.scss +1 -3
- package/style/style.css +4 -0
- package/lib/offline/geoDB/geoDB.service.d.ts +0 -36
- package/src/geo-theme.scss +0 -23
- package/src/lib/directions/directions-results/directions-results.theming.scss +0 -10
- package/src/lib/feature/feature-details/feature-details.theming.scss +0 -16
- package/src/lib/feature/feature.theming.scss +0 -4
- package/src/lib/filter/filter.theming.scss +0 -13
- package/src/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +0 -18
- package/src/lib/filter/time-filter-form/time-filter-form.theming.scss +0 -5
- package/src/lib/layer/layer-group/layer-group.theme.scss +0 -28
- package/src/lib/layer/layer-item/layer-item.theme.scss +0 -36
- package/src/lib/layer/layer-list/layer-list.theme.scss +0 -51
- package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +0 -19
- package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +0 -16
- package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +0 -27
- package/src/lib/map/menu-button/menu-button.theming.scss +0 -20
- package/src/lib/map/zoom-button/zoom-button.theming.scss +0 -32
- package/src/lib/measure/measure.theming.scss +0 -5
- package/src/lib/measure/measurer/measurer.theming.scss +0 -26
- package/src/lib/search/search-results/search-results-item.theme.scss +0 -20
- package/src/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +0 -14
- package/src/lib/workspace/workspace.theming.scss +0 -6
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { NgxIndexedDBService } from 'ngx-indexed-db';
|
|
2
1
|
import { Observable } from 'rxjs';
|
|
3
2
|
import { LayerDBData } from './layerDB.interface';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
readonly dbName: string;
|
|
8
|
-
constructor(ngxIndexedDBService: NgxIndexedDBService);
|
|
3
|
+
export declare class LayerDB {
|
|
4
|
+
private db$;
|
|
5
|
+
constructor();
|
|
9
6
|
/**
|
|
10
7
|
* This method allow to update the stored layer into the indexeddb (layerData)
|
|
11
8
|
* @param layerDBData
|
|
12
9
|
* @returns
|
|
13
10
|
*/
|
|
14
|
-
update(layerDBData: LayerDBData): Observable<
|
|
11
|
+
update(layerDBData: LayerDBData): Observable<LayerDBData>;
|
|
15
12
|
private customUpdate;
|
|
13
|
+
add(layerDBData: LayerDBData): Observable<LayerDBData>;
|
|
16
14
|
/**
|
|
17
15
|
* This method retrieve an idb layer definition
|
|
18
16
|
* @param layerId
|
|
@@ -21,16 +19,16 @@ export declare class LayerDBService {
|
|
|
21
19
|
getByID(layerId: string): Observable<LayerDBData>;
|
|
22
20
|
/**
|
|
23
21
|
* This method delete an idb layer definition
|
|
24
|
-
* @param
|
|
22
|
+
* @param key
|
|
25
23
|
* @returns
|
|
26
24
|
*/
|
|
27
|
-
|
|
25
|
+
delete(key: string): Observable<object>;
|
|
26
|
+
/** @deprecated Use delete method instead*/
|
|
27
|
+
deleteByKey(key: string): Observable<object>;
|
|
28
28
|
/**
|
|
29
29
|
* This method retrive all idb layer definition
|
|
30
30
|
* @param layerId
|
|
31
31
|
* @returns
|
|
32
32
|
*/
|
|
33
33
|
getAll(): Observable<LayerDBData[]>;
|
|
34
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LayerDBService, [{ optional: true; }]>;
|
|
35
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<LayerDBService>;
|
|
36
34
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { EnvironmentProviders } from '@angular/core';
|
|
2
2
|
import { IOfflineOptions } from './offline.interface';
|
|
3
|
+
/** Ensure to create the indexDB on app initialisation and provide
|
|
4
|
+
* GeoNetworkService, ConfigFileToGeoDBService */
|
|
3
5
|
export declare function provideOffline(options: IOfflineOptions): EnvironmentProviders;
|
|
@@ -2,7 +2,6 @@ import { HttpClient } from '@angular/common/http';
|
|
|
2
2
|
import { NetworkService } from '@igo2/core/network';
|
|
3
3
|
import { Type } from 'ol/format/Feature';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
|
-
import { GeoDBService } from '../geoDB/geoDB.service';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export declare enum ResponseType {
|
|
8
7
|
Arraybuffer = "arraybuffer",
|
|
@@ -17,13 +16,12 @@ export interface SimpleGetOptions {
|
|
|
17
16
|
export declare class GeoNetworkService {
|
|
18
17
|
private http;
|
|
19
18
|
private networkService;
|
|
20
|
-
geoDBService?: GeoDBService;
|
|
21
19
|
private networkOnline;
|
|
22
|
-
constructor(http: HttpClient, networkService: NetworkService
|
|
20
|
+
constructor(http: HttpClient, networkService: NetworkService);
|
|
23
21
|
get(url: string, simpleGetOptions: SimpleGetOptions): Observable<any>;
|
|
24
22
|
private getOnline;
|
|
25
23
|
private getOffline;
|
|
26
24
|
isOnline(): boolean;
|
|
27
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GeoNetworkService,
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoNetworkService, never>;
|
|
28
26
|
static ɵprov: i0.ɵɵInjectableDeclaration<GeoNetworkService>;
|
|
29
27
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DBSchema } from 'idb';
|
|
2
|
+
import { GeoDBData } from '../geoDB/geoDB.interface';
|
|
3
|
+
import { LayerDBData } from '../layerDB/layerDB.interface';
|
|
4
|
+
export interface IgoDBSchema extends DBSchema {
|
|
5
|
+
geoData: {
|
|
6
|
+
value: GeoDBData;
|
|
7
|
+
key: string;
|
|
8
|
+
indexes: {
|
|
9
|
+
'regionID-idx': string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
layerData: {
|
|
13
|
+
value: LayerDBData;
|
|
14
|
+
key: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -11,7 +11,7 @@ export declare class QuerySearchSource extends SearchSource {
|
|
|
11
11
|
constructor(options: SearchSourceOptions);
|
|
12
12
|
getId(): string;
|
|
13
13
|
getType(): string;
|
|
14
|
-
protected
|
|
14
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
15
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<QuerySearchSource, never>;
|
|
16
16
|
static ɵprov: i0.ɵɵInjectableDeclaration<QuerySearchSource>;
|
|
17
17
|
}
|
|
@@ -79,6 +79,7 @@ export declare class SearchBarComponent implements OnInit, OnDestroy {
|
|
|
79
79
|
get disabled(): boolean;
|
|
80
80
|
readonly disabled$: BehaviorSubject<boolean>;
|
|
81
81
|
pointerSummaryEnabled: boolean;
|
|
82
|
+
allowResetSearchSourcesOptions: boolean;
|
|
82
83
|
searchResultsGeometryEnabled: boolean;
|
|
83
84
|
/**
|
|
84
85
|
* When reverse coordinates status change
|
|
@@ -228,5 +229,5 @@ export declare class SearchBarComponent implements OnInit, OnDestroy {
|
|
|
228
229
|
*/
|
|
229
230
|
private onResearchCompleted;
|
|
230
231
|
static ɵfac: i0.ɵɵFactoryDeclaration<SearchBarComponent, never>;
|
|
231
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SearchBarComponent, "igo-search-bar", never, { "searchTypes": { "alias": "searchTypes"; "required": false; }; "withDivider": { "alias": "withDivider"; "required": false; }; "searchType": { "alias": "searchType"; "required": false; }; "term": { "alias": "term"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "pointerSummaryEnabled": { "alias": "pointerSummaryEnabled"; "required": false; }; "searchResultsGeometryEnabled": { "alias": "searchResultsGeometryEnabled"; "required": false; }; "reverseSearchCoordsFormatEnabled": { "alias": "reverseSearchCoordsFormatEnabled"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "label": { "alias": "label"; "required": false; }; "color": { "alias": "color"; "required": false; }; "termSplitter": { "alias": "termSplitter"; "required": false; }; "debounce": { "alias": "debounce"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "searchSelector": { "alias": "searchSelector"; "required": false; }; "searchSettings": { "alias": "searchSettings"; "required": false; }; "forceNA": { "alias": "forceNA"; "required": false; }; "store": { "alias": "store"; "required": false; }; }, { "pointerSummaryStatus": "pointerSummaryStatus"; "searchResultsGeometryStatus": "searchResultsGeometryStatus"; "reverseSearchCoordsFormatStatus": "reverseSearchCoordsFormatStatus"; "searchTermChange": "searchTermChange"; "search": "search"; "searchTypeChange": "searchTypeChange"; "clearFeature": "clearFeature"; "searchSettingsChange": "searchSettingsChange"; }, never, never, true, never>;
|
|
232
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SearchBarComponent, "igo-search-bar", never, { "searchTypes": { "alias": "searchTypes"; "required": false; }; "withDivider": { "alias": "withDivider"; "required": false; }; "searchType": { "alias": "searchType"; "required": false; }; "term": { "alias": "term"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "pointerSummaryEnabled": { "alias": "pointerSummaryEnabled"; "required": false; }; "allowResetSearchSourcesOptions": { "alias": "allowResetSearchSourcesOptions"; "required": false; }; "searchResultsGeometryEnabled": { "alias": "searchResultsGeometryEnabled"; "required": false; }; "reverseSearchCoordsFormatEnabled": { "alias": "reverseSearchCoordsFormatEnabled"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "label": { "alias": "label"; "required": false; }; "color": { "alias": "color"; "required": false; }; "termSplitter": { "alias": "termSplitter"; "required": false; }; "debounce": { "alias": "debounce"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "searchSelector": { "alias": "searchSelector"; "required": false; }; "searchSettings": { "alias": "searchSettings"; "required": false; }; "forceNA": { "alias": "forceNA"; "required": false; }; "store": { "alias": "store"; "required": false; }; }, { "pointerSummaryStatus": "pointerSummaryStatus"; "searchResultsGeometryStatus": "searchResultsGeometryStatus"; "reverseSearchCoordsFormatStatus": "reverseSearchCoordsFormatStatus"; "searchTermChange": "searchTermChange"; "search": "search"; "searchTypeChange": "searchTypeChange"; "clearFeature": "clearFeature"; "searchSettingsChange": "searchSettingsChange"; }, never, never, true, never>;
|
|
232
233
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
2
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
3
3
|
import { MatRadioChange } from '@angular/material/radio';
|
|
4
|
+
import { FormDialogService } from '@igo2/common/form';
|
|
4
5
|
import { MediaService } from '@igo2/core/media';
|
|
6
|
+
import { MessageService } from '@igo2/core/message';
|
|
5
7
|
import { StorageService } from '@igo2/core/storage';
|
|
6
8
|
import { SearchSourceService } from '../shared/search-source.service';
|
|
7
9
|
import { SearchSource } from '../shared/sources/source';
|
|
@@ -16,6 +18,8 @@ import * as i0 from "@angular/core";
|
|
|
16
18
|
* more than one search source enabled.
|
|
17
19
|
*/
|
|
18
20
|
export declare class SearchSettingsComponent implements OnInit {
|
|
21
|
+
private formDialogService;
|
|
22
|
+
private messageService;
|
|
19
23
|
private searchSourceService;
|
|
20
24
|
private mediaService;
|
|
21
25
|
private storageService;
|
|
@@ -28,6 +32,7 @@ export declare class SearchSettingsComponent implements OnInit {
|
|
|
28
32
|
pointerSummaryEnabled: boolean;
|
|
29
33
|
searchResultsGeometryEnabled: boolean;
|
|
30
34
|
reverseSearchCoordsFormatEnabled: boolean;
|
|
35
|
+
allowResetSearchSourcesOptions: boolean;
|
|
31
36
|
/**
|
|
32
37
|
* Event emitted when the enabled search source changes
|
|
33
38
|
*/
|
|
@@ -45,7 +50,7 @@ export declare class SearchSettingsComponent implements OnInit {
|
|
|
45
50
|
*/
|
|
46
51
|
reverseSearchCoordsFormatStatus: EventEmitter<boolean>;
|
|
47
52
|
handleKeyboardEvent(event: KeyboardEvent): void;
|
|
48
|
-
constructor(searchSourceService: SearchSourceService, mediaService: MediaService, storageService: StorageService);
|
|
53
|
+
constructor(formDialogService: FormDialogService, messageService: MessageService, searchSourceService: SearchSourceService, mediaService: MediaService, storageService: StorageService);
|
|
49
54
|
ngOnInit(): void;
|
|
50
55
|
/**
|
|
51
56
|
* Get all search sources
|
|
@@ -76,6 +81,7 @@ export declare class SearchSettingsComponent implements OnInit {
|
|
|
76
81
|
* @internal
|
|
77
82
|
*/
|
|
78
83
|
computeSourcesCheckAllBehavior(sources: SearchSource[]): void;
|
|
84
|
+
resetSourceOptions(event: any): void;
|
|
79
85
|
/**
|
|
80
86
|
* Triggered when the check all / uncheck all type is clicked,
|
|
81
87
|
* @internal
|
|
@@ -99,5 +105,5 @@ export declare class SearchSettingsComponent implements OnInit {
|
|
|
99
105
|
changeSearchResultsGeometry(event: any): void;
|
|
100
106
|
reverseSearchCoordsFormat(event: any): void;
|
|
101
107
|
static ɵfac: i0.ɵɵFactoryDeclaration<SearchSettingsComponent, never>;
|
|
102
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SearchSettingsComponent, "igo-search-settings", never, { "pointerSummaryEnabled": { "alias": "pointerSummaryEnabled"; "required": false; }; "searchResultsGeometryEnabled": { "alias": "searchResultsGeometryEnabled"; "required": false; }; "reverseSearchCoordsFormatEnabled": { "alias": "reverseSearchCoordsFormatEnabled"; "required": false; }; }, { "searchSourceChange": "searchSourceChange"; "pointerSummaryStatus": "pointerSummaryStatus"; "searchResultsGeometryStatus": "searchResultsGeometryStatus"; "reverseSearchCoordsFormatStatus": "reverseSearchCoordsFormatStatus"; }, never, never, true, never>;
|
|
108
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SearchSettingsComponent, "igo-search-settings", never, { "pointerSummaryEnabled": { "alias": "pointerSummaryEnabled"; "required": false; }; "searchResultsGeometryEnabled": { "alias": "searchResultsGeometryEnabled"; "required": false; }; "reverseSearchCoordsFormatEnabled": { "alias": "reverseSearchCoordsFormatEnabled"; "required": false; }; "allowResetSearchSourcesOptions": { "alias": "allowResetSearchSourcesOptions"; "required": false; }; }, { "searchSourceChange": "searchSourceChange"; "pointerSummaryStatus": "pointerSummaryStatus"; "searchResultsGeometryStatus": "searchResultsGeometryStatus"; "reverseSearchCoordsFormatStatus": "reverseSearchCoordsFormatStatus"; }, never, never, true, never>;
|
|
103
109
|
}
|
|
@@ -18,7 +18,7 @@ export declare class CadastreSearchSource extends SearchSource implements TextSe
|
|
|
18
18
|
constructor(http: HttpClient, languageService: LanguageService, storageService: StorageService, options: SearchSourceOptions);
|
|
19
19
|
getId(): string;
|
|
20
20
|
getType(): string;
|
|
21
|
-
protected
|
|
21
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
22
22
|
/**
|
|
23
23
|
* Search a place by name
|
|
24
24
|
* @param term Place name
|
|
@@ -27,7 +27,7 @@ export declare class CoordinatesReverseSearchSource extends SearchSource impleme
|
|
|
27
27
|
constructor(options: SearchSourceOptions, languageService: LanguageService, storageService: StorageService, projections: Projection[]);
|
|
28
28
|
getId(): string;
|
|
29
29
|
getType(): string;
|
|
30
|
-
protected
|
|
30
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
31
31
|
/**
|
|
32
32
|
* Search a location by coordinates
|
|
33
33
|
* @param lonLat Location coordinates
|
|
@@ -32,12 +32,13 @@ export declare class IChercheSearchSource extends SearchSource implements TextSe
|
|
|
32
32
|
static type: string;
|
|
33
33
|
static propertiesBlacklist: string[];
|
|
34
34
|
title$: BehaviorSubject<string>;
|
|
35
|
+
static defaultIchercheTypes: string[];
|
|
35
36
|
private hashtagsLieuxToKeep;
|
|
36
37
|
get title(): string;
|
|
37
38
|
constructor(http: HttpClient, languageService: LanguageService, storageService: StorageService, options: SearchSourceOptions, formatter: IChercheSearchResultFormatter, injector: Injector);
|
|
38
39
|
getId(): string;
|
|
39
40
|
getType(): string;
|
|
40
|
-
protected
|
|
41
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
41
42
|
/**
|
|
42
43
|
* Search a location by name or keyword
|
|
43
44
|
* @param term Location name or keyword
|
|
@@ -73,12 +74,13 @@ export declare class IChercheReverseSearchSource extends SearchSource implements
|
|
|
73
74
|
static id: string;
|
|
74
75
|
static type: string;
|
|
75
76
|
static propertiesBlacklist: string[];
|
|
77
|
+
static defaultIchercheTypes: string[];
|
|
76
78
|
title$: BehaviorSubject<string>;
|
|
77
79
|
get title(): string;
|
|
78
80
|
constructor(http: HttpClient, languageService: LanguageService, storageService: StorageService, options: SearchSourceOptions, injector: Injector);
|
|
79
81
|
getId(): string;
|
|
80
82
|
getType(): string;
|
|
81
|
-
protected
|
|
83
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
82
84
|
/**
|
|
83
85
|
* Search a location by coordinates
|
|
84
86
|
* @param lonLat Location coordinates
|
|
@@ -28,7 +28,7 @@ export declare class ILayerSearchSource extends SearchSource implements TextSear
|
|
|
28
28
|
constructor(http: HttpClient, languageService: LanguageService, storageService: StorageService, options: ILayerSearchSourceOptions, formatter: ILayerSearchResultFormatter);
|
|
29
29
|
getId(): string;
|
|
30
30
|
getType(): string;
|
|
31
|
-
protected
|
|
31
|
+
protected getEffectiveOptions(): ILayerSearchSourceOptions;
|
|
32
32
|
/**
|
|
33
33
|
* Search a layer by name or keyword
|
|
34
34
|
* @param term Layer name or keyword
|
|
@@ -16,7 +16,7 @@ export declare class NominatimSearchSource extends SearchSource implements TextS
|
|
|
16
16
|
constructor(http: HttpClient, options: SearchSourceOptions, storageService: StorageService);
|
|
17
17
|
getId(): string;
|
|
18
18
|
getType(): string;
|
|
19
|
-
protected
|
|
19
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
20
20
|
/**
|
|
21
21
|
* Search a place by name
|
|
22
22
|
* @param term Place name
|
|
@@ -22,6 +22,7 @@ export declare class SearchSource {
|
|
|
22
22
|
* @internal
|
|
23
23
|
*/
|
|
24
24
|
protected options: SearchSourceOptions;
|
|
25
|
+
protected defaultOptions: SearchSourceOptions;
|
|
25
26
|
/**
|
|
26
27
|
* Get search source's id
|
|
27
28
|
* @returns Search source's id
|
|
@@ -36,7 +37,7 @@ export declare class SearchSource {
|
|
|
36
37
|
* Get search source's default options
|
|
37
38
|
* @returns Search source default options
|
|
38
39
|
*/
|
|
39
|
-
protected
|
|
40
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
40
41
|
/**
|
|
41
42
|
* Search source's title
|
|
42
43
|
*/
|
|
@@ -67,6 +68,7 @@ export declare class SearchSource {
|
|
|
67
68
|
set featureStoresWithIndex(storesWithIndex: FeatureStore[]);
|
|
68
69
|
get featureStoresWithIndex(): FeatureStore[];
|
|
69
70
|
private _featureStoresWithIndex;
|
|
71
|
+
resetSourceOptions(): void;
|
|
70
72
|
setWorkspaces(workspaces: Workspace[]): void;
|
|
71
73
|
/**
|
|
72
74
|
* Set params from selected settings
|
|
@@ -23,7 +23,7 @@ export declare class StoredQueriesSearchSource extends SearchSource implements T
|
|
|
23
23
|
constructor(http: HttpClient, languageService: LanguageService, storageService: StorageService, options: SearchSourceOptions);
|
|
24
24
|
getId(): string;
|
|
25
25
|
getType(): string;
|
|
26
|
-
protected
|
|
26
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
27
27
|
/**
|
|
28
28
|
* Search a location by name or keyword
|
|
29
29
|
* @param term Location name or keyword
|
|
@@ -56,7 +56,7 @@ export declare class StoredQueriesReverseSearchSource extends SearchSource imple
|
|
|
56
56
|
constructor(http: HttpClient, languageService: LanguageService, storageService: StorageService, options: SearchSourceOptions);
|
|
57
57
|
getId(): string;
|
|
58
58
|
getType(): string;
|
|
59
|
-
protected
|
|
59
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
60
60
|
/**
|
|
61
61
|
* Search a location by coordinates
|
|
62
62
|
* @param lonLat Location coordinates
|
|
@@ -18,7 +18,7 @@ export declare class WorkspaceSearchSource extends SearchSource implements TextS
|
|
|
18
18
|
constructor(languageService: LanguageService, storageService: StorageService, options: SearchSourceOptions);
|
|
19
19
|
getId(): string;
|
|
20
20
|
getType(): string;
|
|
21
|
-
protected
|
|
21
|
+
protected getEffectiveOptions(): SearchSourceOptions;
|
|
22
22
|
/**
|
|
23
23
|
* Search a location by name or keyword
|
|
24
24
|
* @param term Location name or keyword
|
|
@@ -7,6 +7,7 @@ import { StorageService } from '@igo2/core/storage';
|
|
|
7
7
|
import olFeature from 'ol/Feature';
|
|
8
8
|
import GeoJSON from 'ol/format/GeoJSON';
|
|
9
9
|
import WKT from 'ol/format/WKT';
|
|
10
|
+
import type { default as OlGeometry } from 'ol/geom/Geometry';
|
|
10
11
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
11
12
|
import { RelationOptions } from '../../datasource/shared/datasources';
|
|
12
13
|
import { ImageLayer, LayerService, VectorLayer } from '../../layer/shared';
|
|
@@ -29,7 +30,7 @@ export declare class EditionWorkspaceService {
|
|
|
29
30
|
rowsInMapExtentCheckCondition$: BehaviorSubject<boolean>;
|
|
30
31
|
loading: boolean;
|
|
31
32
|
wktFormat: WKT;
|
|
32
|
-
geoJsonFormat: GeoJSON<
|
|
33
|
+
geoJsonFormat: GeoJSON<olFeature<OlGeometry>>;
|
|
33
34
|
get zoomAuto(): boolean;
|
|
34
35
|
constructor(layerService: LayerService, storageService: StorageService, configService: ConfigService, messageService: MessageService, http: HttpClient, dialog: MatDialog, styleService: StyleService, authInterceptor?: AuthInterceptor);
|
|
35
36
|
createWorkspace(layer: ImageLayer, map: IgoMap): EditionWorkspace;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { OnUpdateInputs } from '@igo2/common/dynamic-component';
|
|
3
|
+
import { Form, FormService } from '@igo2/common/form';
|
|
4
|
+
import { WidgetComponent } from '@igo2/common/widget';
|
|
5
|
+
import { LanguageService } from '@igo2/core/language';
|
|
6
|
+
import { BehaviorSubject } from 'rxjs';
|
|
7
|
+
import { FeatureGeometry } from '../../../feature/shared/feature.interfaces';
|
|
8
|
+
import { IgoMap } from '../../../map/shared/map';
|
|
9
|
+
import { FeatureWorkspace } from '../../shared/feature-workspace';
|
|
10
|
+
import { WfsWorkspace } from '../../shared/wfs-workspace';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
interface DataSelectionData {
|
|
13
|
+
geometry?: FeatureGeometry;
|
|
14
|
+
action?: SelectionAction;
|
|
15
|
+
buffer?: string;
|
|
16
|
+
}
|
|
17
|
+
declare enum SelectionAction {
|
|
18
|
+
New = "new",
|
|
19
|
+
Add = "add",
|
|
20
|
+
Remove = "remove"
|
|
21
|
+
}
|
|
22
|
+
export declare class InteractiveSelectionFormComponent implements OnInit, OnDestroy, OnUpdateInputs, WidgetComponent {
|
|
23
|
+
private cdRef;
|
|
24
|
+
private formService;
|
|
25
|
+
private languageService;
|
|
26
|
+
form$: BehaviorSubject<Form>;
|
|
27
|
+
submitButtonText$: BehaviorSubject<string>;
|
|
28
|
+
submitDisabled: boolean;
|
|
29
|
+
private valueChanges$$;
|
|
30
|
+
data$: BehaviorSubject<DataSelectionData>;
|
|
31
|
+
map: IgoMap;
|
|
32
|
+
workspace: FeatureWorkspace | WfsWorkspace;
|
|
33
|
+
/**
|
|
34
|
+
* Event emitted on complete
|
|
35
|
+
*/
|
|
36
|
+
complete: EventEmitter<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Event emitted on cancel
|
|
39
|
+
*/
|
|
40
|
+
cancel: EventEmitter<void>;
|
|
41
|
+
constructor(cdRef: ChangeDetectorRef, formService: FormService, languageService: LanguageService);
|
|
42
|
+
ngOnInit(): void;
|
|
43
|
+
private setAction;
|
|
44
|
+
ngOnDestroy(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Implemented as part of OnUpdateInputs
|
|
47
|
+
*/
|
|
48
|
+
onUpdateInputs(): void;
|
|
49
|
+
/**
|
|
50
|
+
* On close, emit the cancel event
|
|
51
|
+
*/
|
|
52
|
+
onClose(): void;
|
|
53
|
+
onSubmit(data: DataSelectionData): void;
|
|
54
|
+
clear(): void;
|
|
55
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveSelectionFormComponent, never>;
|
|
56
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InteractiveSelectionFormComponent, "igo-interactive-selection", never, { "map": { "alias": "map"; "required": false; }; "workspace": { "alias": "workspace"; "required": false; }; }, { "complete": "complete"; "cancel": "cancel"; }, never, never, true, never>;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import { Widget, WidgetService } from '@igo2/common/widget';
|
|
3
3
|
export declare const OgcFilterWidget: InjectionToken<Widget>;
|
|
4
|
+
export declare const InteractiveSelectionFormWidget: InjectionToken<Widget>;
|
|
4
5
|
export declare function ogcFilterWidgetFactory(widgetService: WidgetService): Widget;
|
|
5
6
|
export declare function provideOgcFilterWidget(): {
|
|
6
7
|
provide: InjectionToken<Widget>;
|
|
7
8
|
useFactory: typeof ogcFilterWidgetFactory;
|
|
8
9
|
deps: (typeof WidgetService)[];
|
|
9
10
|
};
|
|
11
|
+
export declare function interactiveSelectionFormWidgetFactory(widgetService: WidgetService): Widget;
|
|
12
|
+
export declare function provideInteractiveSelectionFormWidget(): {
|
|
13
|
+
provide: InjectionToken<Widget>;
|
|
14
|
+
useFactory: typeof interactiveSelectionFormWidgetFactory;
|
|
15
|
+
deps: (typeof WidgetService)[];
|
|
16
|
+
};
|
|
@@ -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
|
@@ -527,6 +527,10 @@
|
|
|
527
527
|
"oldCity": "Old city",
|
|
528
528
|
"mrc": "MRC",
|
|
529
529
|
"regadmin": "Administrative Region",
|
|
530
|
+
"rss": "Social and health regions (RSS)",
|
|
531
|
+
"rls": "Local health networks (RLS)",
|
|
532
|
+
"clsc": "Local community service centers (CLSC)",
|
|
533
|
+
"tours": "Cooling towers",
|
|
530
534
|
"road": "Road",
|
|
531
535
|
"intersection": "Intersection",
|
|
532
536
|
"place": "Place",
|
|
@@ -578,6 +582,17 @@
|
|
|
578
582
|
"selectAll": "Select All",
|
|
579
583
|
"unselectAll": "Unselect All",
|
|
580
584
|
"settings": {
|
|
585
|
+
"reset": {
|
|
586
|
+
"button": "Reset search options",
|
|
587
|
+
"dialog": {
|
|
588
|
+
"title": "Choose search services to reset",
|
|
589
|
+
"form.field.title": "Choose search service(s)"
|
|
590
|
+
},
|
|
591
|
+
"notice": {
|
|
592
|
+
"multiple": "The options for the selected search services have been reset.",
|
|
593
|
+
"single": "The options for the selected search service have been reset."
|
|
594
|
+
}
|
|
595
|
+
},
|
|
581
596
|
"datasets": "Datasets",
|
|
582
597
|
"results type": "Results type",
|
|
583
598
|
"ecmax": "Maximum deviation",
|
|
@@ -822,8 +837,20 @@
|
|
|
822
837
|
"addError": "An error has occured. Entity could not be added.",
|
|
823
838
|
"modifyError": "An error has occured. Entity could not be modified.",
|
|
824
839
|
"cancel": "Cancel",
|
|
825
|
-
"inMapExtent.active.tooltip": "
|
|
826
|
-
"inMapExtent.inactive.tooltip": "
|
|
840
|
+
"inMapExtent.active.tooltip": "Show only features contained in the map",
|
|
841
|
+
"inMapExtent.inactive.tooltip": "Show all features",
|
|
842
|
+
"widget": {
|
|
843
|
+
"interactiveSelection": {
|
|
844
|
+
"selection.add": "Add to the current selection",
|
|
845
|
+
"selection.new": "Select",
|
|
846
|
+
"selection.remove": "Remove from the current selection",
|
|
847
|
+
"reset": {
|
|
848
|
+
"button": "Reset"
|
|
849
|
+
},
|
|
850
|
+
"action.title": "How to handle results",
|
|
851
|
+
"buffer.title": "Buffer size (meters)"
|
|
852
|
+
}
|
|
853
|
+
}
|
|
827
854
|
},
|
|
828
855
|
"formValidation": {
|
|
829
856
|
"mandatory": "{{column}} is mandatory",
|
package/locale/fr.geo.json
CHANGED
|
@@ -526,6 +526,10 @@
|
|
|
526
526
|
"oldCity": "Ancienne municipalité",
|
|
527
527
|
"mrc": "MRC",
|
|
528
528
|
"regadmin": "Région administrative",
|
|
529
|
+
"rss": "Régions sociosanitaires (RSS)",
|
|
530
|
+
"rls": "Réseaux locaux de santé (RLS)",
|
|
531
|
+
"clsc": "Centres locaux de services communautaires (CLSC)",
|
|
532
|
+
"tours": "Tours de refroidissement",
|
|
529
533
|
"road": "Route",
|
|
530
534
|
"intersection": "Intersection",
|
|
531
535
|
"place": "Lieu",
|
|
@@ -577,6 +581,17 @@
|
|
|
577
581
|
"selectAll": "Tout sélectionner",
|
|
578
582
|
"unselectAll": "Tout désélectionner",
|
|
579
583
|
"settings": {
|
|
584
|
+
"reset": {
|
|
585
|
+
"button": "Réinitialiser les options de recherche",
|
|
586
|
+
"dialog": {
|
|
587
|
+
"title": "Choisir les services de recherche à réinitialiser",
|
|
588
|
+
"form.field.title": "Choisir le(s) service(s) de recherche"
|
|
589
|
+
},
|
|
590
|
+
"notice": {
|
|
591
|
+
"multiple": "Les options des services de recherche sélectionnés ont été réinitialisés.",
|
|
592
|
+
"single": "Les options du service de recherche sélectionné ont été réinitialisés."
|
|
593
|
+
}
|
|
594
|
+
},
|
|
580
595
|
"datasets": "Jeu de données",
|
|
581
596
|
"results type": "Type de résultat",
|
|
582
597
|
"ecmax": "Écart maximal",
|
|
@@ -823,7 +838,19 @@
|
|
|
823
838
|
"modifyError": "Un problème est survenu. L'entité n'a pas pu être modifiée.",
|
|
824
839
|
"cancel": "Annuler",
|
|
825
840
|
"inMapExtent.active.tooltip": "Ne montrer que les enregistrements contenus dans la carte",
|
|
826
|
-
"inMapExtent.inactive.tooltip": "Montrer tous les enregistrements"
|
|
841
|
+
"inMapExtent.inactive.tooltip": "Montrer tous les enregistrements",
|
|
842
|
+
"widget": {
|
|
843
|
+
"interactiveSelection": {
|
|
844
|
+
"selection.add": "Ajouter à la présente sélection",
|
|
845
|
+
"selection.new": "Effectuer la sélection",
|
|
846
|
+
"selection.remove": "Supprimer les résultats de la sélection",
|
|
847
|
+
"reset": {
|
|
848
|
+
"button": "Réinitialiser"
|
|
849
|
+
},
|
|
850
|
+
"action.title": "Action à faire avec le résultat de la présente sélection",
|
|
851
|
+
"buffer.title": "Taille de la zone tampon en mètre"
|
|
852
|
+
}
|
|
853
|
+
}
|
|
827
854
|
},
|
|
828
855
|
"formValidation": {
|
|
829
856
|
"mandatory": "{{column}}est un champ obligatoire",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@igo2/geo",
|
|
3
|
-
"version": "19.0.0
|
|
3
|
+
"version": "19.0.0",
|
|
4
4
|
"description": "IGO Library",
|
|
5
5
|
"author": "IGO Community",
|
|
6
6
|
"keywords": [
|
|
@@ -25,47 +25,50 @@
|
|
|
25
25
|
"sass": "./style/style.scss"
|
|
26
26
|
},
|
|
27
27
|
"./theme": {
|
|
28
|
-
"sass": "./src/geo
|
|
28
|
+
"sass": "./src/geo.theme.scss"
|
|
29
29
|
},
|
|
30
30
|
"./package.json": {
|
|
31
31
|
"default": "./package.json"
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"
|
|
36
|
-
"@turf/line-intersect": "^6.5.0",
|
|
37
|
-
"@turf/point-on-feature": "^6.5.0",
|
|
38
|
-
"nosleep.js": "^0.12.0",
|
|
39
|
-
"ts-cacheable": "^1.0.6",
|
|
40
|
-
"ts-md5": "^1.3.0",
|
|
41
|
-
"tslib": "^2.6.0"
|
|
35
|
+
"tslib": "^2.8.0"
|
|
42
36
|
},
|
|
43
37
|
"peerDependencies": {
|
|
44
38
|
"@angular/animations": "^19.0.0",
|
|
45
39
|
"@angular/common": "^19.0.0",
|
|
46
40
|
"@angular/core": "^19.0.0",
|
|
47
41
|
"@angular/forms": "^19.0.0",
|
|
48
|
-
"@angular/material": "^19.0.0",
|
|
49
42
|
"@angular/material-moment-adapter": "^19.0.0",
|
|
43
|
+
"@angular/material": "^19.0.0",
|
|
50
44
|
"@angular/platform-browser": "^19.0.0",
|
|
51
|
-
"@igo2/auth": "^19.0.0
|
|
52
|
-
"@igo2/common": "^19.0.0
|
|
53
|
-
"@igo2/core": "^19.0.0
|
|
54
|
-
"@igo2/utils": "^19.0.0
|
|
45
|
+
"@igo2/auth": "^19.0.0",
|
|
46
|
+
"@igo2/common": "^19.0.0",
|
|
47
|
+
"@igo2/core": "^19.0.0",
|
|
48
|
+
"@igo2/utils": "^19.0.0",
|
|
55
49
|
"@mat-datetimepicker/core": "^15.0.1",
|
|
50
|
+
"@turf/boolean-intersects": "^7.2.0",
|
|
51
|
+
"@turf/buffer": "^7.2.0",
|
|
52
|
+
"@turf/helpers": "^7.2.0",
|
|
53
|
+
"@turf/intersect": "^7.2.0",
|
|
54
|
+
"@turf/line-intersect": "^7.2.0",
|
|
55
|
+
"@turf/point-on-feature": "^7.2.0",
|
|
56
56
|
"file-saver": "^2.0.2",
|
|
57
57
|
"flexsearch": "0.7.21",
|
|
58
58
|
"html2canvas": "^1.4.1",
|
|
59
|
-
"
|
|
59
|
+
"idb": "^8.0.3",
|
|
60
60
|
"jspdf-autotable": "^5.0.0",
|
|
61
|
+
"jspdf": "^3.0.0",
|
|
61
62
|
"jszip": "^3.10.1",
|
|
62
63
|
"moment": "^2.30.0",
|
|
63
|
-
"
|
|
64
|
-
"ol": "
|
|
65
|
-
"ol
|
|
66
|
-
"proj4": "^2.
|
|
64
|
+
"nosleep.js": "^0.12.0",
|
|
65
|
+
"ol-mapbox-style": "^13.1.0",
|
|
66
|
+
"ol": "10.6.0",
|
|
67
|
+
"proj4": "^2.15.0",
|
|
67
68
|
"rxjs": "^7.8.0",
|
|
68
|
-
"striptags": "^3.2.0"
|
|
69
|
+
"striptags": "^3.2.0",
|
|
70
|
+
"ts-cacheable": "^1.0.6",
|
|
71
|
+
"ts-md5": "^1.3.0"
|
|
69
72
|
},
|
|
70
73
|
"engines": {
|
|
71
74
|
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
@use './lib/directions/directions.theming.scss' as directions;
|
|
2
|
+
@use './lib/draw/draw.theming.scss' as draw;
|
|
3
|
+
@use './lib/layer/layer.theming.scss' as layer;
|
|
4
|
+
@use './lib/map/map.theming.scss' as map;
|
|
5
|
+
@use './lib/search/search.theming.scss' as search;
|
|
6
|
+
@use './lib/catalog/catalog.theming.scss' as catalog;
|
|
7
|
+
|
|
8
|
+
@mixin themes($theme) {
|
|
9
|
+
@include directions.themes($theme);
|
|
10
|
+
@include draw.themes($theme);
|
|
11
|
+
@include layer.themes($theme);
|
|
12
|
+
@include map.themes($theme);
|
|
13
|
+
@include search.themes($theme);
|
|
14
|
+
@include catalog.themes($theme);
|
|
15
|
+
}
|