@igo2/geo 19.0.0-next.3 → 19.0.0-next.30
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 +3491 -2628
- 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-item.component.d.ts +3 -3
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +4 -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/capabilities.service.d.ts +2 -1
- 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 +16 -4
- 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/shared/directions.service.d.ts +0 -1
- package/lib/feature/shared/feature.interfaces.d.ts +4 -5
- package/lib/feature/shared/feature.utils.d.ts +1 -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 +4 -2
- 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/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 +17 -27
- 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/map/baselayers-switcher/mini-basemap.component.d.ts +2 -4
- 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 +33 -4
- package/locale/fr.geo.json +32 -3
- 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
|
@@ -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
|
@@ -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": {
|
|
@@ -525,6 +527,10 @@
|
|
|
525
527
|
"oldCity": "Old city",
|
|
526
528
|
"mrc": "MRC",
|
|
527
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",
|
|
528
534
|
"road": "Road",
|
|
529
535
|
"intersection": "Intersection",
|
|
530
536
|
"place": "Place",
|
|
@@ -576,6 +582,17 @@
|
|
|
576
582
|
"selectAll": "Select All",
|
|
577
583
|
"unselectAll": "Unselect All",
|
|
578
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
|
+
},
|
|
579
596
|
"datasets": "Datasets",
|
|
580
597
|
"results type": "Results type",
|
|
581
598
|
"ecmax": "Maximum deviation",
|
|
@@ -820,8 +837,20 @@
|
|
|
820
837
|
"addError": "An error has occured. Entity could not be added.",
|
|
821
838
|
"modifyError": "An error has occured. Entity could not be modified.",
|
|
822
839
|
"cancel": "Cancel",
|
|
823
|
-
"inMapExtent.active.tooltip": "
|
|
824
|
-
"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
|
+
}
|
|
825
854
|
},
|
|
826
855
|
"formValidation": {
|
|
827
856
|
"mandatory": "{{column}} is mandatory",
|
package/locale/fr.geo.json
CHANGED
|
@@ -19,14 +19,16 @@
|
|
|
19
19
|
"layer": "Cette couche provient d'une organisation externe.",
|
|
20
20
|
"unavailableWithEmail": "Le catalogue '{{value}}' est indisponible pour le moment. Pour ajouter un service externe à la liste prédéfinie, veuillez contacter {{email}}. Des délais peuvent s'appliquer si problème il y a avec le fournisseur externe."
|
|
21
21
|
},
|
|
22
|
+
"library.predefined.select": "Sélectionner un catalogue",
|
|
23
|
+
"library.custom.title": "Titre",
|
|
22
24
|
"library.add": "Ajouter ce catalogue",
|
|
23
|
-
"library.
|
|
25
|
+
"library.predefined": "Liste prédéfinie",
|
|
26
|
+
"library.custom": "Configuration avancées",
|
|
24
27
|
"library.remove": "Retirer ce catalogue de la liste",
|
|
25
28
|
"library.inlist": {
|
|
26
29
|
"title": "Catalogue déjà contenu",
|
|
27
30
|
"message": "Le catalogue à ajouter est déjà dans la liste"
|
|
28
31
|
},
|
|
29
|
-
"library.addTitle": "Ajout d'un catalogue",
|
|
30
32
|
"library.addBtn": "Ajouter un catalogue"
|
|
31
33
|
},
|
|
32
34
|
"clickOnMap": {
|
|
@@ -524,6 +526,10 @@
|
|
|
524
526
|
"oldCity": "Ancienne municipalité",
|
|
525
527
|
"mrc": "MRC",
|
|
526
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",
|
|
527
533
|
"road": "Route",
|
|
528
534
|
"intersection": "Intersection",
|
|
529
535
|
"place": "Lieu",
|
|
@@ -575,6 +581,17 @@
|
|
|
575
581
|
"selectAll": "Tout sélectionner",
|
|
576
582
|
"unselectAll": "Tout désélectionner",
|
|
577
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
|
+
},
|
|
578
595
|
"datasets": "Jeu de données",
|
|
579
596
|
"results type": "Type de résultat",
|
|
580
597
|
"ecmax": "Écart maximal",
|
|
@@ -821,7 +838,19 @@
|
|
|
821
838
|
"modifyError": "Un problème est survenu. L'entité n'a pas pu être modifiée.",
|
|
822
839
|
"cancel": "Annuler",
|
|
823
840
|
"inMapExtent.active.tooltip": "Ne montrer que les enregistrements contenus dans la carte",
|
|
824
|
-
"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
|
+
}
|
|
825
854
|
},
|
|
826
855
|
"formValidation": {
|
|
827
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-next.
|
|
3
|
+
"version": "19.0.0-next.30",
|
|
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-next.
|
|
52
|
-
"@igo2/common": "^19.0.0-next.
|
|
53
|
-
"@igo2/core": "^19.0.0-next.
|
|
54
|
-
"@igo2/utils": "^19.0.0-next.
|
|
45
|
+
"@igo2/auth": "^19.0.0-next.30",
|
|
46
|
+
"@igo2/common": "^19.0.0-next.30",
|
|
47
|
+
"@igo2/core": "^19.0.0-next.30",
|
|
48
|
+
"@igo2/utils": "^19.0.0-next.30",
|
|
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
|
+
"idb": "^8.0.3",
|
|
60
|
+
"jspdf-autotable": "^5.0.0",
|
|
59
61
|
"jspdf": "^3.0.0",
|
|
60
|
-
"jspdf-autotable": "^4.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
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
|
|
4
|
-
@mixin
|
|
4
|
+
@mixin theme($theme) {
|
|
5
5
|
@include density($theme);
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
@mixin density($theme) {
|
|
9
|
-
$density: mat.
|
|
9
|
+
$density: mat.get-theme-density($theme);
|
|
10
10
|
|
|
11
11
|
$theme: map.merge(
|
|
12
12
|
$theme,
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
@use './directions-results/directions-results.theming' as
|
|
2
|
-
directions-results-theme;
|
|
3
1
|
@use './directions-inputs/directions-inputs.theming' as directions-inputs-theme;
|
|
4
2
|
|
|
5
|
-
@mixin
|
|
6
|
-
@include directions-
|
|
7
|
-
@include directions-inputs-theme.igo-directions-inputs-theming($theme);
|
|
3
|
+
@mixin themes($theme) {
|
|
4
|
+
@include directions-inputs-theme.theme($theme);
|
|
8
5
|
}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
@
|
|
2
|
-
@use '@angular/material' as mat;
|
|
3
|
-
|
|
4
|
-
@mixin igo-draw-theming($theme) {
|
|
5
|
-
$foreground: map.get($theme, foreground);
|
|
6
|
-
$typography: mat.m2-get-typography-config($theme);
|
|
7
|
-
|
|
1
|
+
@mixin themes($theme) {
|
|
8
2
|
igo-draw-popup-component,
|
|
9
3
|
igo-draw-popup-component,
|
|
10
4
|
igo-draw-shorcuts,
|
|
@@ -17,16 +11,7 @@
|
|
|
17
11
|
}
|
|
18
12
|
|
|
19
13
|
.igo-map-tooltip-draw {
|
|
20
|
-
|
|
21
|
-
font-weight: bold;
|
|
22
|
-
font-size: mat.m2-font-size($typography, subtitle-1);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
igo-draw-popup-component {
|
|
27
|
-
h1 {
|
|
28
|
-
font-size: mat.m2-font-size($typography, headline-4);
|
|
29
|
-
font-family: Roboto, 'Helvetica Neue', sans-serif;
|
|
14
|
+
font: var(--mat-sys-headline-small);
|
|
30
15
|
}
|
|
31
16
|
}
|
|
32
17
|
}
|
|
@@ -2,20 +2,11 @@
|
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
|
|
4
4
|
@mixin theme($theme) {
|
|
5
|
-
@include color($theme);
|
|
6
5
|
@include density($theme);
|
|
7
6
|
}
|
|
8
7
|
|
|
9
|
-
@mixin color($theme) {
|
|
10
|
-
$primary: map.get($theme, primary);
|
|
11
|
-
|
|
12
|
-
igo-layer-legend img:after {
|
|
13
|
-
border-top-color: mat.m2-get-color-from-palette($primary);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
8
|
@mixin density($theme) {
|
|
18
|
-
$density: mat.
|
|
9
|
+
$density: mat.get-theme-density($theme);
|
|
19
10
|
|
|
20
11
|
$theme: map.merge(
|
|
21
12
|
$theme,
|
|
@@ -2,23 +2,11 @@
|
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
|
|
4
4
|
@mixin theme($theme) {
|
|
5
|
-
@include color($theme);
|
|
6
5
|
@include density($theme);
|
|
7
6
|
}
|
|
8
7
|
|
|
9
|
-
@mixin color($theme) {
|
|
10
|
-
igo-layer-list-tool {
|
|
11
|
-
mat-form-field {
|
|
12
|
-
.mat-mdc-text-field-wrapper,
|
|
13
|
-
.mat-mdc-form-field-focus-overlay {
|
|
14
|
-
background-color: white !important;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
8
|
@mixin density($theme) {
|
|
21
|
-
$density: mat.
|
|
9
|
+
$density: mat.get-theme-density($theme);
|
|
22
10
|
|
|
23
11
|
$theme: map.merge(
|
|
24
12
|
$theme,
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
@use '@angular/material' as mat;
|
|
2
|
+
|
|
2
3
|
@use './layer-legend/layer-legend.theme.scss' as layer-legend;
|
|
3
4
|
@use './layer-list-tool/layer-list-tool.theming.scss' as layer-list-tool;
|
|
4
|
-
@use './layer-unavailable/layer-unavailable.theme.scss' as layer-unavailable;
|
|
5
|
-
@use './layer-visibility-button/layer-visibility-button.theme.scss' as
|
|
6
|
-
layer-visibility-button;
|
|
7
|
-
@use './layer-viewer/layer-viewer.theme' as layer-viewer;
|
|
8
|
-
@use './layer-item/layer-item.theme.scss' as layer-item;
|
|
9
|
-
@use './layer-group/layer-group.theme.scss' as layer-group;
|
|
10
|
-
@use './layer-list/layer-list.theme.scss' as layer-list;
|
|
11
5
|
|
|
12
6
|
@mixin themes($theme) {
|
|
13
7
|
@include layer-legend.theme($theme);
|
|
14
8
|
@include layer-list-tool.theme($theme);
|
|
15
|
-
@include layer-item.theme($theme);
|
|
16
|
-
@include layer-group.theme($theme);
|
|
17
|
-
@include layer-list.theme($theme);
|
|
18
|
-
@include layer-unavailable.theme($theme);
|
|
19
|
-
@include layer-viewer.theme($theme);
|
|
20
|
-
@include layer-visibility-button.theme($theme);
|
|
21
9
|
}
|
|
@@ -1,38 +1,12 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
|
|
4
|
-
@mixin
|
|
5
|
-
@include color($theme);
|
|
4
|
+
@mixin theme($theme) {
|
|
6
5
|
@include density($theme);
|
|
7
|
-
@include typography($theme);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
@mixin color($theme) {
|
|
11
|
-
$primary: map.get($theme, primary);
|
|
12
|
-
$is-dark: map.get($theme, is-dark);
|
|
13
|
-
|
|
14
|
-
igo-map-browser div.ol-attribution > button {
|
|
15
|
-
color: mat.m2-get-color-from-palette(
|
|
16
|
-
$primary,
|
|
17
|
-
if($is-dark, default-contrast, default)
|
|
18
|
-
);
|
|
19
|
-
background-color: mat.m2-get-color-from-palette(
|
|
20
|
-
$primary,
|
|
21
|
-
if($is-dark, default, default-contrast)
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@mixin typography($theme) {
|
|
27
|
-
$typography: mat.m2-get-typography-config($theme);
|
|
28
|
-
|
|
29
|
-
igo-map-browser div.ol-attribution > ul {
|
|
30
|
-
font-size: mat.m2-font-size($typography, body-1);
|
|
31
|
-
}
|
|
32
6
|
}
|
|
33
7
|
|
|
34
8
|
@mixin density($theme) {
|
|
35
|
-
$density: mat.
|
|
9
|
+
$density: mat.get-theme-density($theme);
|
|
36
10
|
$theme: map.merge(
|
|
37
11
|
$theme,
|
|
38
12
|
(
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
@use './map-browser/map-browser.theming.scss' as map-browser;
|
|
2
|
-
@use './zoom-button/zoom-button.theming.scss' as zoom-button;
|
|
3
|
-
@use './menu-button/menu-button.theming.scss' as menu-button;
|
|
4
2
|
|
|
5
|
-
@mixin
|
|
6
|
-
@include map-browser.
|
|
7
|
-
@include zoom-button.igo-zoom-button-theming($theme);
|
|
8
|
-
@include menu-button.theme($theme);
|
|
3
|
+
@mixin themes($theme) {
|
|
4
|
+
@include map-browser.theme($theme);
|
|
9
5
|
}
|
|
@@ -2,32 +2,8 @@
|
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
|
|
4
4
|
@mixin theme($theme) {
|
|
5
|
-
@include color($theme);
|
|
6
5
|
@include density($theme);
|
|
7
|
-
|
|
8
|
-
igo-search-bar {
|
|
9
|
-
mat-form-field {
|
|
10
|
-
.mdc-line-ripple {
|
|
11
|
-
display: none;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@mixin color($theme) {
|
|
18
|
-
igo-search-bar {
|
|
19
|
-
mat-form-field {
|
|
20
|
-
.mat-mdc-text-field-wrapper,
|
|
21
|
-
.mat-mdc-form-field-focus-overlay {
|
|
22
|
-
background-color: white !important;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
6
|
}
|
|
27
7
|
|
|
28
8
|
@mixin density($theme) {
|
|
29
|
-
igo-search-bar {
|
|
30
|
-
@include mat.form-field-density($theme);
|
|
31
|
-
@include mat.icon-button-density($theme);
|
|
32
|
-
}
|
|
33
9
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
@use './search-bar/search-bar.theming' as search-bar;
|
|
2
|
-
@use './search-results/search-results-item.theme' as search-results-item;
|
|
3
2
|
|
|
4
|
-
@mixin
|
|
3
|
+
@mixin themes($theme) {
|
|
5
4
|
@include search-bar.theme($theme);
|
|
6
|
-
@include search-results-item.theme($theme);
|
|
7
5
|
}
|
package/style/style.css
CHANGED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { DBMode, NgxIndexedDBService } from 'ngx-indexed-db';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { InsertSourceInsertDBEnum } from './geoDB.enums';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class GeoDBService {
|
|
6
|
-
private ngxIndexedDBService;
|
|
7
|
-
readonly dbName: string;
|
|
8
|
-
collisionsMap: Map<number, string[]>;
|
|
9
|
-
_newData: number;
|
|
10
|
-
private compression;
|
|
11
|
-
constructor(ngxIndexedDBService: NgxIndexedDBService);
|
|
12
|
-
/**
|
|
13
|
-
* Only blob can be compressed
|
|
14
|
-
* @param url
|
|
15
|
-
* @param regionID
|
|
16
|
-
* @param object object to handle
|
|
17
|
-
* @param insertSource type of event user or system
|
|
18
|
-
* @param insertEvent Name of the event where the insert has been triggered
|
|
19
|
-
* @returns
|
|
20
|
-
*/
|
|
21
|
-
update(url: string, regionID: any, object: any, insertSource: InsertSourceInsertDBEnum, insertEvent: string): Observable<any>;
|
|
22
|
-
private customUpdate;
|
|
23
|
-
get(url: string): Observable<any>;
|
|
24
|
-
getByID(url: string): Observable<any>;
|
|
25
|
-
deleteByKey(url: string): Observable<any>;
|
|
26
|
-
getRegionCountByID(id: number): Observable<number>;
|
|
27
|
-
getRegionByID(id: number): Observable<any[]>;
|
|
28
|
-
deleteByRegionID(id: number): Observable<any>;
|
|
29
|
-
openCursor(keyRange?: IDBKeyRange, mode?: DBMode): Observable<import("ngx-indexed-db").NgxIDBCursorWithValue<unknown, IDBValidKey, IDBValidKey>>;
|
|
30
|
-
resetCounters(): void;
|
|
31
|
-
resetCollisionsMap(): void;
|
|
32
|
-
revertCollisions(): void;
|
|
33
|
-
get newData(): number;
|
|
34
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GeoDBService, [{ optional: true; }]>;
|
|
35
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<GeoDBService>;
|
|
36
|
-
}
|