@igo2/geo 1.9.4 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/bundles/igo2-geo.umd.js +3306 -1072
  2. package/bundles/igo2-geo.umd.js.map +1 -1
  3. package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +2 -2
  4. package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +6 -6
  5. package/esm2015/lib/catalog/shared/catalog.service.js +5 -2
  6. package/esm2015/lib/datasource/shared/capabilities.service.js +26 -12
  7. package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +84 -14
  8. package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +1 -1
  9. package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +7 -10
  10. package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +2 -2
  11. package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +7 -9
  12. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +3 -1
  13. package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +7 -1
  14. package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +5 -2
  15. package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +10 -4
  16. package/esm2015/lib/directions/directions.component.js +6 -4
  17. package/esm2015/lib/directions/shared/directions.utils.js +4 -1
  18. package/esm2015/lib/draw/draw/draw.component.js +2 -1
  19. package/esm2015/lib/feature/shared/feature.utils.js +2 -1
  20. package/esm2015/lib/feature/shared/strategies/in-map-extent.js +17 -4
  21. package/esm2015/lib/filter/filter.module.js +7 -4
  22. package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +15 -1
  23. package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +31 -13
  24. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +296 -161
  25. package/esm2015/lib/filter/shared/ogc-filter.interface.js +1 -1
  26. package/esm2015/lib/filter/shared/ogc-filter.js +8 -1
  27. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +185 -95
  28. package/esm2015/lib/geometry/shared/controls/draw.js +7 -2
  29. package/esm2015/lib/geometry/shared/controls/modify.js +1 -1
  30. package/esm2015/lib/geometry/shared/controls/slice.js +1 -1
  31. package/esm2015/lib/import-export/import-export/import-export.component.js +226 -66
  32. package/esm2015/lib/import-export/shared/export.interface.js +1 -1
  33. package/esm2015/lib/layer/layer-legend/layer-legend.component.js +32 -31
  34. package/esm2015/lib/layer/layer-list/layer-list.component.js +1 -1
  35. package/esm2015/lib/layer/layer.module.js +8 -5
  36. package/esm2015/lib/layer/shared/layer.service.js +19 -16
  37. package/esm2015/lib/layer/shared/layers/layer.interface.js +1 -1
  38. package/esm2015/lib/layer/shared/layers/layer.js +23 -5
  39. package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +1 -1
  40. package/esm2015/lib/layer/shared/layers/vector-layer.js +13 -5
  41. package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +1 -1
  42. package/esm2015/lib/layer/shared/style.service.js +21 -16
  43. package/esm2015/lib/layer/shared/vector-style.interface.js +1 -1
  44. package/esm2015/lib/layer/utils/index.js +2 -1
  45. package/esm2015/lib/layer/utils/layer.utils.js +11 -0
  46. package/esm2015/lib/layer/utils/layerSync-watcher.js +3 -3
  47. package/esm2015/lib/map/home-extent-button/home-extent-button.component.js +69 -0
  48. package/esm2015/lib/map/home-extent-button/index.js +2 -0
  49. package/esm2015/lib/map/index.js +3 -1
  50. package/esm2015/lib/map/info-section/index.js +2 -0
  51. package/esm2015/lib/map/info-section/info-section.component.js +36 -0
  52. package/esm2015/lib/map/map-browser/map-browser.component.js +1 -1
  53. package/esm2015/lib/map/map-center/map-center.component.js +1 -1
  54. package/esm2015/lib/map/map.module.js +11 -1
  55. package/esm2015/lib/map/shared/hover-feature.directive.js +229 -78
  56. package/esm2015/lib/map/shared/mapOffline.directive.js +17 -6
  57. package/esm2015/lib/measure/measurer/measurer.component.js +7 -1
  58. package/esm2015/lib/query/shared/query.directive.js +4 -1
  59. package/esm2015/lib/query/shared/query.interfaces.js +1 -1
  60. package/esm2015/lib/query/shared/query.service.js +35 -13
  61. package/esm2015/lib/query/shared/query.utils.js +2 -2
  62. package/esm2015/lib/search/search-bar/search-bar.component.js +4 -2
  63. package/esm2015/lib/search/search-results/search-results-add-button.component.js +7 -7
  64. package/esm2015/lib/search/shared/search-pointer-summary.directive.js +16 -5
  65. package/esm2015/lib/search/shared/search.interfaces.js +1 -1
  66. package/esm2015/lib/search/shared/sources/icherche.js +3 -2
  67. package/esm2015/lib/search/shared/sources/source.js +2 -2
  68. package/esm2015/lib/search/shared/sources/storedqueries.js +2 -2
  69. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +56 -0
  70. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +38 -0
  71. package/esm2015/lib/workspace/confirmation-popup/index.js +3 -0
  72. package/esm2015/lib/workspace/index.js +2 -1
  73. package/esm2015/lib/workspace/shared/edition-workspace.js +271 -0
  74. package/esm2015/lib/workspace/shared/edition-workspace.service.js +619 -0
  75. package/esm2015/lib/workspace/shared/feature-workspace.js +18 -1
  76. package/esm2015/lib/workspace/shared/feature-workspace.service.js +27 -6
  77. package/esm2015/lib/workspace/shared/index.js +3 -1
  78. package/esm2015/lib/workspace/shared/wfs-workspace.js +18 -1
  79. package/esm2015/lib/workspace/shared/wfs-workspace.service.js +27 -5
  80. package/esm2015/lib/workspace/shared/wms-workspace.service.js +59 -15
  81. package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
  82. package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +40 -10
  83. package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +22 -8
  84. package/esm2015/lib/workspace/workspace.module.js +19 -7
  85. package/fesm2015/igo2-geo.js +2690 -677
  86. package/fesm2015/igo2-geo.js.map +1 -1
  87. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -0
  88. package/lib/datasource/shared/datasources/datasource.interface.d.ts +45 -0
  89. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
  90. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +1 -1
  91. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -1
  92. package/lib/directions/directions.component.d.ts +2 -1
  93. package/lib/filter/filter.module.d.ts +1 -1
  94. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -0
  95. package/lib/filter/shared/ogc-filter.interface.d.ts +1 -0
  96. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +7 -2
  97. package/lib/geometry/shared/controls/draw.d.ts +8 -4
  98. package/lib/geometry/shared/controls/modify.d.ts +3 -4
  99. package/lib/geometry/shared/controls/slice.d.ts +3 -4
  100. package/lib/import-export/import-export/import-export.component.d.ts +2 -0
  101. package/lib/import-export/shared/export.interface.d.ts +2 -1
  102. package/lib/layer/layer-legend/layer-legend.component.d.ts +0 -4
  103. package/lib/layer/layer.module.d.ts +1 -1
  104. package/lib/layer/shared/layer.service.d.ts +1 -1
  105. package/lib/layer/shared/layers/layer.d.ts +7 -0
  106. package/lib/layer/shared/layers/layer.interface.d.ts +8 -0
  107. package/lib/layer/shared/layers/vector-layer.d.ts +2 -1
  108. package/lib/layer/shared/layers/vector-layer.interface.d.ts +1 -0
  109. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +1 -0
  110. package/lib/layer/shared/style.service.d.ts +4 -1
  111. package/lib/layer/shared/vector-style.interface.d.ts +9 -5
  112. package/lib/layer/utils/index.d.ts +1 -0
  113. package/lib/layer/utils/layer.utils.d.ts +2 -0
  114. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -0
  115. package/lib/map/home-extent-button/index.d.ts +1 -0
  116. package/lib/map/index.d.ts +2 -0
  117. package/lib/map/info-section/index.d.ts +1 -0
  118. package/lib/map/info-section/info-section.component.d.ts +7 -0
  119. package/lib/map/map.module.d.ts +19 -17
  120. package/lib/map/shared/hover-feature.directive.d.ts +14 -5
  121. package/lib/map/shared/mapOffline.directive.d.ts +1 -0
  122. package/lib/query/shared/query.interfaces.d.ts +2 -1
  123. package/lib/search/shared/search-pointer-summary.directive.d.ts +6 -0
  124. package/lib/search/shared/search.interfaces.d.ts +1 -0
  125. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -0
  126. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -0
  127. package/lib/workspace/confirmation-popup/index.d.ts +2 -0
  128. package/lib/workspace/index.d.ts +1 -0
  129. package/lib/workspace/shared/edition-workspace.d.ts +81 -0
  130. package/lib/workspace/shared/edition-workspace.service.d.ts +45 -0
  131. package/lib/workspace/shared/feature-workspace.d.ts +3 -0
  132. package/lib/workspace/shared/feature-workspace.service.d.ts +2 -0
  133. package/lib/workspace/shared/index.d.ts +2 -0
  134. package/lib/workspace/shared/wfs-workspace.d.ts +3 -0
  135. package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -0
  136. package/lib/workspace/shared/wms-workspace.service.d.ts +2 -0
  137. package/lib/workspace/shared/workspace.utils.d.ts +3 -2
  138. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +10 -3
  139. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -1
  140. package/lib/workspace/workspace.module.d.ts +8 -5
  141. package/package.json +4 -4
  142. package/style/geo.theming.scss +1 -0
@@ -2,12 +2,16 @@ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { IgoMap } from '../../map/shared/map';
3
3
  import { MapBrowserComponent } from '../../map/map-browser/map-browser.component';
4
4
  import { Feature } from '../../feature/shared/feature.interfaces';
5
- import olFeature from 'ol/Feature';
6
- import * as olstyle from 'ol/style';
7
- import * as olgeom from 'ol/geom';
5
+ import type { default as OlGeometry } from 'ol/geom/Geometry';
6
+ import OlFeature from 'ol/Feature';
7
+ import * as OlStyle from 'ol/style';
8
+ import * as OlGeom from 'ol/geom';
9
+ import { VectorLayer, VectorTileLayer } from '../../layer/shared/layers';
8
10
  import { FeatureStore } from '../../feature/shared/store';
9
11
  import { MediaService } from '@igo2/core';
10
12
  import { StyleService } from '../../layer/shared/style.service';
13
+ import RenderFeature from 'ol/render/Feature';
14
+ import { StyleByAttribute } from '../../layer/shared/vector-style.interface';
11
15
  import * as i0 from "@angular/core";
12
16
  /**
13
17
  * This directive makes the mouse coordinate trigger a reverse search on available search sources.
@@ -24,6 +28,9 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
24
28
  private lastTimeoutRequest;
25
29
  private store$$;
26
30
  private layers$$;
31
+ private selectionLayer;
32
+ private selectionMVT;
33
+ private mvtStyleOptions;
27
34
  /**
28
35
  * Listener to the pointer move event
29
36
  */
@@ -56,6 +63,7 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
56
63
  * @internal
57
64
  */
58
65
  private initStore;
66
+ createHoverStyle(feature: RenderFeature | OlFeature<OlGeometry>, hoverStyle: StyleByAttribute): any;
59
67
  /**
60
68
  * Stop listening to pointermove and reverse search results.
61
69
  * @internal
@@ -104,6 +112,8 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
104
112
  * @param event OL map browser pointer event
105
113
  */
106
114
  private onMapEvent;
115
+ canProcessHover(igoLayer: VectorLayer | VectorTileLayer): boolean;
116
+ handleRenderFeature(feature: RenderFeature | OlFeature<OlGeometry>): OlFeature<OlGeometry>;
107
117
  /**
108
118
  * Add a feature to the pointer store
109
119
  * @param text string
@@ -112,7 +122,6 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
112
122
  private setLayerStyleFromOptions;
113
123
  private getHoverSummary;
114
124
  private getGeometry;
115
- private getSameFeatureNeighbour;
116
125
  /**
117
126
  * Clear the pointer store features
118
127
  */
@@ -125,4 +134,4 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
125
134
  * @param feature OlFeature
126
135
  * @returns OL style function
127
136
  */
128
- export declare function hoverFeatureMarker(feature: olFeature<olgeom.Geometry>, resolution: number): olstyle.Style[];
137
+ export declare function hoverFeatureMarker(feature: OlFeature<OlGeom.Geometry>, resolution: number): OlStyle.Style[];
@@ -12,6 +12,7 @@ export declare class MapOfflineDirective implements AfterViewInit {
12
12
  private networkState;
13
13
  private offlineButtonState;
14
14
  get map(): IgoMap;
15
+ private previousMessageId;
15
16
  constructor(component: MapBrowserComponent, networkService: NetworkService, messageService: MessageService, languageService: LanguageService);
16
17
  ngAfterViewInit(): void;
17
18
  private changeLayer;
@@ -14,10 +14,11 @@ export interface QueryableDataSourceOptions extends DataSourceOptions {
14
14
  queryFormat?: QueryFormat;
15
15
  queryTitle?: string;
16
16
  queryUrl?: string;
17
- queryFeature?: boolean;
17
+ queryLayerFeatures?: boolean;
18
18
  mapLabel?: string;
19
19
  queryHtmlTarget?: QueryHtmlTarget;
20
20
  ol?: olSourceVector<OlGeometry> | olSource;
21
+ queryFormatAsWms?: boolean;
21
22
  }
22
23
  export interface QueryableDataSource extends DataSource {
23
24
  queryTitle?: string;
@@ -105,6 +105,12 @@ export declare class SearchPointerSummaryDirective implements OnInit, OnDestroy,
105
105
  * @param event OL map browser pointer event
106
106
  */
107
107
  private onMapEvent;
108
+ /**
109
+ * Sort the results by display order.
110
+ * @param r1 First result
111
+ * @param r2 Second result
112
+ */
113
+ private sortByOrder;
108
114
  private onSearchCoordinate;
109
115
  private onSearch;
110
116
  /**
@@ -16,6 +16,7 @@ export interface SearchResult<T = {
16
16
  id: string;
17
17
  title: string;
18
18
  titleHtml?: string;
19
+ pointerSummaryTitle?: string;
19
20
  icon: string;
20
21
  score?: number;
21
22
  nextPage?: boolean;
@@ -0,0 +1,23 @@
1
+ import { LanguageService } from '@igo2/core';
2
+ import { MatDialogRef } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ export interface DialogData {
5
+ type: string;
6
+ cancel: boolean;
7
+ }
8
+ export declare class ConfirmationPopupComponent {
9
+ dialogRef: MatDialogRef<ConfirmationPopupComponent>;
10
+ languageService: LanguageService;
11
+ data: {
12
+ type: string;
13
+ cancel: boolean;
14
+ };
15
+ constructor(dialogRef: MatDialogRef<ConfirmationPopupComponent>, languageService: LanguageService, data: {
16
+ type: string;
17
+ cancel: boolean;
18
+ });
19
+ cancelAction(): void;
20
+ confirmedAction(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationPopupComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationPopupComponent, "igo-confirmation-popup-component", never, {}, {}, never, never>;
23
+ }
@@ -0,0 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./confirmation-popup.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/material/button";
5
+ import * as i4 from "@angular/material/dialog";
6
+ import * as i5 from "@angular/material/button-toggle";
7
+ /**
8
+ * @ignore
9
+ */
10
+ export declare class IgoConfirmationPopupModule {
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgoConfirmationPopupModule, never>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoConfirmationPopupModule, [typeof i1.ConfirmationPopupComponent], [typeof i2.CommonModule, typeof i3.MatButtonModule, typeof i4.MatDialogModule, typeof i5.MatButtonToggleModule], [typeof i1.ConfirmationPopupComponent]>;
13
+ static ɵinj: i0.ɵɵInjectorDeclaration<IgoConfirmationPopupModule>;
14
+ }
@@ -0,0 +1,2 @@
1
+ export * from './confirmation-popup.component';
2
+ export * from './confirmation-popup.module';
@@ -1,4 +1,5 @@
1
1
  export * from './shared';
2
+ export * from './confirmation-popup/index';
2
3
  export * from './workspace-selector/workspace-selector.directive';
3
4
  export * from './workspace-selector/workspace-selector.module';
4
5
  export * from './workspace-updator/workspace-updator.directive';
@@ -0,0 +1,81 @@
1
+ import { MatDialog } from '@angular/material/dialog';
2
+ import { Workspace, WorkspaceOptions } from '@igo2/common';
3
+ import { ConfigService } from '@igo2/core';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { ImageLayer, VectorLayer } from '../../layer';
6
+ import { IgoMap } from '../../map';
7
+ import { EditionWorkspaceService } from './edition-workspace.service';
8
+ import { DrawControl } from '../../geometry';
9
+ import { GeometryType } from '../../draw';
10
+ import type { default as OlGeometryType } from 'ol/geom/GeometryType';
11
+ import type { default as OlGeometry } from 'ol/geom/Geometry';
12
+ import * as OlStyle from 'ol/style';
13
+ import OlFeature from 'ol/Feature';
14
+ export interface EditionWorkspaceOptions extends WorkspaceOptions {
15
+ layer: ImageLayer | VectorLayer;
16
+ map: IgoMap;
17
+ }
18
+ export declare class EditionWorkspace extends Workspace {
19
+ protected options: EditionWorkspaceOptions;
20
+ private editionWorkspaceService;
21
+ private dialog;
22
+ private configService;
23
+ readonly inResolutionRange$: BehaviorSubject<boolean>;
24
+ get layer(): ImageLayer | VectorLayer;
25
+ get map(): IgoMap;
26
+ private drawControl;
27
+ private drawEnd$$;
28
+ private olDrawingLayerSource;
29
+ private olDrawingLayer;
30
+ geometryType: typeof GeometryType;
31
+ modify: any;
32
+ modifyStyle: OlStyle.Style;
33
+ private filterClauseFunc;
34
+ fillColor: string;
35
+ strokeColor: string;
36
+ strokeWidth: number;
37
+ constructor(options: EditionWorkspaceOptions, editionWorkspaceService: EditionWorkspaceService, dialog: MatDialog, configService: ConfigService);
38
+ private getInResolutionRange;
39
+ deleteFeature(feature: any, workspace: any): void;
40
+ editFeature(feature: any, workspace: EditionWorkspace): void;
41
+ /**
42
+ * Create a Draw Control
43
+ * @param fillColor the fill color
44
+ * @param strokeColor the stroke color
45
+ * @param strokeWidth the stroke width
46
+ * @returns a Draw Control
47
+ */
48
+ createDrawControl(fillColor?: string, strokeColor?: string, strokeWidth?: number): DrawControl;
49
+ /**
50
+ * Called when the user selects a new geometry type
51
+ * @param geometryType the geometry type selected by the user
52
+ */
53
+ onGeometryTypeChange(geometryType: typeof OlGeometryType, feature: any, workspace: EditionWorkspace): void;
54
+ /**
55
+ * Activate the correct control
56
+ */
57
+ private toggleDrawControl;
58
+ /**
59
+ * Deactivate the active draw control
60
+ */
61
+ deactivateDrawControl(): void;
62
+ /**
63
+ * Activate a given control
64
+ */
65
+ private activateDrawControl;
66
+ /**
67
+ * Add a feature to layer. The loading strategy of the layer
68
+ * will trigger and add the feature to the workspace store.
69
+ * @internal
70
+ */
71
+ private addFeatureToStore;
72
+ /**
73
+ * Delete drawings layer and source from the map AND feature from the entity store.
74
+ * Layer refresh will automatically add the new feature into the store.
75
+ */
76
+ deleteDrawings(): void;
77
+ /**
78
+ * Create a modify interaction to allow a geometry change one feature at the time (drag and drop)
79
+ */
80
+ createModifyInteraction(olFeature: OlFeature<OlGeometry>, feature: any, workspace: EditionWorkspace): void;
81
+ }
@@ -0,0 +1,45 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { ConfigService, LanguageService, MessageService, StorageService } from '@igo2/core';
4
+ import { AuthInterceptor } from '@igo2/auth';
5
+ import { ImageLayer, LayerService, VectorLayer } from '../../layer';
6
+ import { IgoMap } from '../../map';
7
+ import { EditionWorkspace } from './edition-workspace';
8
+ import { BehaviorSubject, Observable } from 'rxjs';
9
+ import * as i0 from "@angular/core";
10
+ export declare class EditionWorkspaceService {
11
+ private layerService;
12
+ private storageService;
13
+ private configService;
14
+ private messageService;
15
+ private languageService;
16
+ private http;
17
+ private dialog;
18
+ authInterceptor?: AuthInterceptor;
19
+ ws$: BehaviorSubject<string>;
20
+ adding$: BehaviorSubject<boolean>;
21
+ relationLayers$: BehaviorSubject<ImageLayer[] | VectorLayer[]>;
22
+ rowsInMapExtentCheckCondition$: BehaviorSubject<boolean>;
23
+ loading: boolean;
24
+ get zoomAuto(): boolean;
25
+ constructor(layerService: LayerService, storageService: StorageService, configService: ConfigService, messageService: MessageService, languageService: LanguageService, http: HttpClient, dialog: MatDialog, authInterceptor?: AuthInterceptor);
26
+ createWorkspace(layer: ImageLayer, map: IgoMap): EditionWorkspace;
27
+ private createFeatureStore;
28
+ private createTableTemplate;
29
+ private createFilterInMapExtentOrResolutionStrategy;
30
+ saveFeature(feature: any, workspace: EditionWorkspace): boolean;
31
+ addFeature(feature: any, workspace: EditionWorkspace, url: string, headers: {
32
+ [key: string]: any;
33
+ }): void;
34
+ deleteFeature(workspace: EditionWorkspace, url: string): void;
35
+ modifyFeature(feature: any, workspace: EditionWorkspace, url: string, headers: {
36
+ [key: string]: any;
37
+ }, protocole?: string): void;
38
+ cancelEdit(workspace: EditionWorkspace, feature: any, fromSave?: boolean): void;
39
+ getDomainValues(table: string): Observable<any>;
40
+ refreshMap(layer: VectorLayer, map: IgoMap): void;
41
+ validateFeature(feature: any, workspace: EditionWorkspace): boolean;
42
+ sanitizeParameter(feature: any, workspace: EditionWorkspace): void;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<EditionWorkspaceService, never>;
44
+ static ɵprov: i0.ɵɵInjectableDeclaration<EditionWorkspaceService>;
45
+ }
@@ -12,4 +12,7 @@ export declare class FeatureWorkspace extends Workspace {
12
12
  get layer(): VectorLayer;
13
13
  get map(): IgoMap;
14
14
  constructor(options: FeatureWorkspaceOptions);
15
+ getLayerWksOptionTabQuery(): boolean;
16
+ getLayerWksOptionMapQuery(): boolean;
17
+ private getInResolutionRange;
15
18
  }
@@ -1,3 +1,4 @@
1
+ import { BehaviorSubject } from 'rxjs';
1
2
  import { VectorLayer } from '../../layer';
2
3
  import { IgoMap } from '../../map';
3
4
  import { FeatureWorkspace } from './feature-workspace';
@@ -6,6 +7,7 @@ import * as i0 from "@angular/core";
6
7
  export declare class FeatureWorkspaceService {
7
8
  private storageService;
8
9
  get zoomAuto(): boolean;
10
+ ws$: BehaviorSubject<string>;
9
11
  constructor(storageService: StorageService);
10
12
  createWorkspace(layer: VectorLayer, map: IgoMap): FeatureWorkspace;
11
13
  private createFeatureStore;
@@ -2,4 +2,6 @@ export * from './wfs-workspace';
2
2
  export * from './wfs-workspace.service';
3
3
  export * from './feature-workspace';
4
4
  export * from './feature-workspace.service';
5
+ export * from './edition-workspace';
6
+ export * from './edition-workspace.service';
5
7
  export * from './workspace.utils';
@@ -12,4 +12,7 @@ export declare class WfsWorkspace extends Workspace {
12
12
  get layer(): VectorLayer;
13
13
  get map(): IgoMap;
14
14
  constructor(options: WfsWorkspaceOptions);
15
+ getLayerWksOptionTabQuery(): boolean;
16
+ getLayerWksOptionMapQuery(): boolean;
17
+ private getInResolutionRange;
15
18
  }
@@ -1,3 +1,4 @@
1
+ import { BehaviorSubject } from 'rxjs';
1
2
  import { VectorLayer } from '../../layer';
2
3
  import { IgoMap } from '../../map';
3
4
  import { WfsWorkspace } from './wfs-workspace';
@@ -6,6 +7,7 @@ import * as i0 from "@angular/core";
6
7
  export declare class WfsWorkspaceService {
7
8
  private storageService;
8
9
  get zoomAuto(): boolean;
10
+ ws$: BehaviorSubject<string>;
9
11
  constructor(storageService: StorageService);
10
12
  createWorkspace(layer: VectorLayer, map: IgoMap): WfsWorkspace;
11
13
  private createFeatureStore;
@@ -1,3 +1,4 @@
1
+ import { BehaviorSubject } from 'rxjs';
1
2
  import { StorageService } from '@igo2/core';
2
3
  import { ImageLayer, LayerService } from '../../layer';
3
4
  import { IgoMap } from '../../map';
@@ -7,6 +8,7 @@ export declare class WmsWorkspaceService {
7
8
  private layerService;
8
9
  private storageService;
9
10
  get zoomAuto(): boolean;
11
+ ws$: BehaviorSubject<string>;
10
12
  constructor(layerService: LayerService, storageService: StorageService);
11
13
  createWorkspace(layer: ImageLayer, map: IgoMap): WfsWorkspace;
12
14
  private createFeatureStore;
@@ -1,9 +1,10 @@
1
1
  import { WfsWorkspace } from './wfs-workspace';
2
2
  import { FeatureWorkspace } from './feature-workspace';
3
+ import { EditionWorkspace } from './edition-workspace';
3
4
  import { Observable } from 'rxjs';
4
5
  export declare function getRowsInMapExtent(layerId: any, storageService: any): boolean;
5
6
  export declare function setRowsInMapExtent(value: any, layerId: any, storageService: any): void;
6
7
  export declare function getSelectedOnly(layerId: any, storageService: any): boolean;
7
8
  export declare function setSelectedOnly(value: any, layerId: any, storageService: any): void;
8
- export declare function mapExtentStrategyActiveToolTip(ws: WfsWorkspace | FeatureWorkspace): Observable<string>;
9
- export declare function noElementSelected(ws: WfsWorkspace | FeatureWorkspace): Observable<boolean>;
9
+ export declare function mapExtentStrategyActiveToolTip(ws: WfsWorkspace | FeatureWorkspace | EditionWorkspace): Observable<string>;
10
+ export declare function noElementSelected(ws: WfsWorkspace | FeatureWorkspace | EditionWorkspace): Observable<boolean>;
@@ -1,25 +1,32 @@
1
- import { OnInit, OnDestroy } from '@angular/core';
1
+ import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
2
2
  import { WorkspaceStore, WorkspaceSelectorComponent } from '@igo2/common';
3
+ import { ImageLayer, VectorLayer } from '../../layer';
3
4
  import { IgoMap } from '../../map';
4
5
  import { WfsWorkspaceService } from '../shared/wfs-workspace.service';
5
6
  import { WmsWorkspaceService } from '../shared/wms-workspace.service';
7
+ import { EditionWorkspaceService } from '../shared/edition-workspace.service';
6
8
  import { FeatureWorkspaceService } from '../shared/feature-workspace.service';
7
9
  import * as i0 from "@angular/core";
8
10
  export declare class WorkspaceSelectorDirective implements OnInit, OnDestroy {
9
11
  private component;
10
12
  private wfsWorkspaceService;
11
13
  private wmsWorkspaceService;
14
+ private editionWorkspaceService;
12
15
  private featureWorkspaceService;
13
16
  private layers$$;
14
17
  private entities$$;
15
18
  map: IgoMap;
19
+ changeWorkspace: EventEmitter<string>;
20
+ disableSwitch: EventEmitter<boolean>;
21
+ relationLayers: EventEmitter<ImageLayer[] | VectorLayer[]>;
22
+ rowsInMapExtentCheckCondition: EventEmitter<boolean>;
16
23
  get workspaceStore(): WorkspaceStore;
17
- constructor(component: WorkspaceSelectorComponent, wfsWorkspaceService: WfsWorkspaceService, wmsWorkspaceService: WmsWorkspaceService, featureWorkspaceService: FeatureWorkspaceService);
24
+ constructor(component: WorkspaceSelectorComponent, wfsWorkspaceService: WfsWorkspaceService, wmsWorkspaceService: WmsWorkspaceService, editionWorkspaceService: EditionWorkspaceService, featureWorkspaceService: FeatureWorkspaceService);
18
25
  ngOnInit(): void;
19
26
  ngOnDestroy(): void;
20
27
  private onLayersChange;
21
28
  private getOrCreateWorkspace;
22
29
  private layerIsEditable;
23
30
  static ɵfac: i0.ɵɵFactoryDeclaration<WorkspaceSelectorDirective, never>;
24
- static ɵdir: i0.ɵɵDirectiveDeclaration<WorkspaceSelectorDirective, "[igoWorkspaceSelector]", never, { "map": "map"; }, {}, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WorkspaceSelectorDirective, "[igoWorkspaceSelector]", never, { "map": "map"; }, { "changeWorkspace": "changeWorkspace"; "disableSwitch": "disableSwitch"; "relationLayers": "relationLayers"; "rowsInMapExtentCheckCondition": "rowsInMapExtentCheckCondition"; }, never>;
25
32
  }
@@ -3,17 +3,19 @@ import type { WorkspaceStore } from '@igo2/common';
3
3
  import { IgoMap } from '../../map';
4
4
  import { WfsWorkspaceService } from '../shared/wfs-workspace.service';
5
5
  import { WmsWorkspaceService } from '../shared/wms-workspace.service';
6
+ import { EditionWorkspaceService } from '../shared/edition-workspace.service';
6
7
  import { FeatureWorkspaceService } from '../shared/feature-workspace.service';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class WorkspaceUpdatorDirective implements OnInit, OnDestroy {
9
10
  private wfsWorkspaceService;
10
11
  private wmsWorkspaceService;
12
+ private editionWorkspaceService;
11
13
  private featureWorkspaceService;
12
14
  private layers$$;
13
15
  private entities$$;
14
16
  map: IgoMap;
15
17
  workspaceStore: WorkspaceStore;
16
- constructor(wfsWorkspaceService: WfsWorkspaceService, wmsWorkspaceService: WmsWorkspaceService, featureWorkspaceService: FeatureWorkspaceService);
18
+ constructor(wfsWorkspaceService: WfsWorkspaceService, wmsWorkspaceService: WmsWorkspaceService, editionWorkspaceService: EditionWorkspaceService, featureWorkspaceService: FeatureWorkspaceService);
17
19
  ngOnInit(): void;
18
20
  ngOnDestroy(): void;
19
21
  private onLayersChange;
@@ -1,11 +1,14 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "@angular/common";
3
- import * as i2 from "@igo2/common";
4
- import * as i3 from "./workspace-selector/workspace-selector.module";
5
- import * as i4 from "./workspace-updator/workspace-updator.module";
6
- import * as i5 from "./widgets/ogc-filter/ogc-filter.module";
3
+ import * as i2 from "@igo2/core";
4
+ import * as i3 from "@igo2/common";
5
+ import * as i4 from "./workspace-selector/workspace-selector.module";
6
+ import * as i5 from "./workspace-updator/workspace-updator.module";
7
+ import * as i6 from "./widgets/ogc-filter/ogc-filter.module";
8
+ import * as i7 from "@angular/material/dialog";
9
+ import * as i8 from "./confirmation-popup/confirmation-popup.module";
7
10
  export declare class IgoGeoWorkspaceModule {
8
11
  static ɵfac: i0.ɵɵFactoryDeclaration<IgoGeoWorkspaceModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<IgoGeoWorkspaceModule, never, [typeof i1.CommonModule, typeof i2.IgoWidgetModule, typeof i3.IgoWorkspaceSelectorModule, typeof i4.IgoWorkspaceUpdatorModule, typeof i5.IgoOgcFilterModule], [typeof i3.IgoWorkspaceSelectorModule, typeof i4.IgoWorkspaceUpdatorModule, typeof i5.IgoOgcFilterModule]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoGeoWorkspaceModule, never, [typeof i1.CommonModule, typeof i2.IgoLanguageModule, typeof i3.IgoWidgetModule, typeof i4.IgoWorkspaceSelectorModule, typeof i5.IgoWorkspaceUpdatorModule, typeof i6.IgoOgcFilterModule, typeof i7.MatDialogModule], [typeof i4.IgoWorkspaceSelectorModule, typeof i5.IgoWorkspaceUpdatorModule, typeof i6.IgoOgcFilterModule, typeof i8.IgoConfirmationPopupModule]>;
10
13
  static ɵinj: i0.ɵɵInjectorDeclaration<IgoGeoWorkspaceModule>;
11
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@igo2/geo",
3
- "version": "1.9.4",
3
+ "version": "1.11.1",
4
4
  "description": "IGO Library",
5
5
  "author": "MSP",
6
6
  "keywords": [
@@ -29,9 +29,9 @@
29
29
  "@angular/core": "^12.2.9",
30
30
  "@angular/forms": "^12.2.9",
31
31
  "@angular/material": "^12.2.9",
32
- "@igo2/common": "^1.9.4",
33
- "@igo2/core": "^1.9.4",
34
- "@igo2/utils": "^1.9.4",
32
+ "@igo2/common": "^1.11.1",
33
+ "@igo2/core": "^1.11.1",
34
+ "@igo2/utils": "^1.11.1",
35
35
  "ol": "^6.8.1",
36
36
  "proj4": "^2.7.5",
37
37
  "rxjs": "^6.6.7",
@@ -8,4 +8,5 @@
8
8
  @include igo-map-theming($theme, $typography);
9
9
  @include igo-measure-theming($theme, $typography);
10
10
  @include igo-directions-theming($theme);
11
+ @include igo-workspace-theming($theme, $typography);
11
12
  }