@igo2/geo 19.0.0-next.9 → 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.
Files changed (92) hide show
  1. package/fesm2022/igo2-geo.mjs +2621 -2044
  2. package/fesm2022/igo2-geo.mjs.map +1 -1
  3. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +3 -3
  4. package/lib/catalog/catalog-library/catalog-library.component.d.ts +3 -3
  5. package/lib/catalog/catalog-library/catalog-library.module.d.ts +4 -4
  6. package/lib/catalog/catalog.module.d.ts +2 -2
  7. package/lib/datasource/shared/datasource.service.d.ts +5 -2
  8. package/lib/datasource/shared/datasources/datasource.d.ts +21 -3
  9. package/lib/datasource/shared/datasources/datasource.interface.d.ts +5 -0
  10. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +4 -1
  11. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +1 -1
  12. package/lib/datasource/shared/datasources/wms-datasource.d.ts +14 -4
  13. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +2 -2
  14. package/lib/feature/shared/feature.interfaces.d.ts +4 -5
  15. package/lib/feature/shared/feature.utils.d.ts +1 -1
  16. package/lib/filter/shared/ogc-filter.interface.d.ts +1 -1
  17. package/lib/filter/shared/ogc-filter.service.d.ts +3 -2
  18. package/lib/geometry/shared/geometry.utils.d.ts +5 -0
  19. package/lib/import-export/shared/export.service.d.ts +1 -1
  20. package/lib/layer/shared/layer.service.d.ts +2 -4
  21. package/lib/layer/shared/layers/image-layer.d.ts +2 -2
  22. package/lib/layer/shared/layers/layer-group.d.ts +1 -0
  23. package/lib/layer/shared/layers/linked/linked-layer.d.ts +1 -0
  24. package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +2 -1
  25. package/lib/layer/shared/layers/vector-layer.d.ts +4 -15
  26. package/lib/layer/shared/layers/vector-layer.interface.d.ts +3 -2
  27. package/lib/layer/utils/image-watcher.d.ts +2 -2
  28. package/lib/layer/utils/index.d.ts +1 -0
  29. package/lib/layer/utils/layer-options.utils.d.ts +12 -0
  30. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +2 -4
  31. package/lib/offline/geoDB/geoDB.d.ts +36 -0
  32. package/lib/offline/geoDB/index.d.ts +1 -1
  33. package/lib/offline/layerDB/index.d.ts +1 -1
  34. package/lib/offline/layerDB/{layerDB.service.d.ts → layerDB.d.ts} +9 -11
  35. package/lib/offline/offline.provider.d.ts +2 -0
  36. package/lib/offline/shared/geo-network.service.d.ts +2 -4
  37. package/lib/offline/shared/indexed-db.interface.d.ts +16 -0
  38. package/lib/offline/shared/indexed-db.utils.d.ts +4 -0
  39. package/lib/query/shared/query-search-source.d.ts +1 -1
  40. package/lib/search/search-bar/search-bar.component.d.ts +2 -1
  41. package/lib/search/search-settings/search-settings.component.d.ts +8 -2
  42. package/lib/search/shared/sources/cadastre.d.ts +1 -1
  43. package/lib/search/shared/sources/coordinates.d.ts +1 -1
  44. package/lib/search/shared/sources/icherche.d.ts +4 -2
  45. package/lib/search/shared/sources/ilayer.d.ts +1 -1
  46. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  47. package/lib/search/shared/sources/source.d.ts +3 -1
  48. package/lib/search/shared/sources/storedqueries.d.ts +2 -2
  49. package/lib/search/shared/sources/workspace.d.ts +1 -1
  50. package/lib/workspace/shared/edition-workspace.service.d.ts +2 -1
  51. package/lib/workspace/shared/index.d.ts +1 -0
  52. package/lib/workspace/shared/workspace.interface.d.ts +4 -0
  53. package/lib/workspace/widgets/interactive-selection/interactive-selection.component.d.ts +58 -0
  54. package/lib/workspace/widgets/widgets.d.ts +7 -0
  55. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +3 -0
  56. package/locale/en.geo.json +29 -2
  57. package/locale/fr.geo.json +28 -1
  58. package/package.json +23 -20
  59. package/src/geo.theme.scss +15 -0
  60. package/src/lib/catalog/catalog-browser/catalog-browser.theming.scss +1 -1
  61. package/src/lib/directions/directions-inputs/directions-inputs.theming.scss +2 -2
  62. package/src/lib/directions/directions.theming.scss +2 -5
  63. package/src/lib/draw/draw.theming.scss +2 -17
  64. package/src/lib/layer/layer-legend/layer-legend.theme.scss +1 -10
  65. package/src/lib/layer/layer-list-tool/layer-list-tool.theming.scss +1 -13
  66. package/src/lib/layer/layer.theming.scss +1 -13
  67. package/src/lib/map/map-browser/map-browser.theming.scss +2 -28
  68. package/src/lib/map/map.theming.scss +2 -6
  69. package/src/lib/search/search-bar/search-bar.theming.scss +0 -24
  70. package/src/lib/search/search.theming.scss +1 -3
  71. package/style/style.css +4 -0
  72. package/lib/offline/geoDB/geoDB.service.d.ts +0 -36
  73. package/src/geo-theme.scss +0 -23
  74. package/src/lib/directions/directions-results/directions-results.theming.scss +0 -10
  75. package/src/lib/feature/feature-details/feature-details.theming.scss +0 -16
  76. package/src/lib/feature/feature.theming.scss +0 -4
  77. package/src/lib/filter/filter.theming.scss +0 -13
  78. package/src/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +0 -18
  79. package/src/lib/filter/time-filter-form/time-filter-form.theming.scss +0 -5
  80. package/src/lib/layer/layer-group/layer-group.theme.scss +0 -28
  81. package/src/lib/layer/layer-item/layer-item.theme.scss +0 -36
  82. package/src/lib/layer/layer-list/layer-list.theme.scss +0 -51
  83. package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +0 -19
  84. package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +0 -16
  85. package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +0 -27
  86. package/src/lib/map/menu-button/menu-button.theming.scss +0 -20
  87. package/src/lib/map/zoom-button/zoom-button.theming.scss +0 -32
  88. package/src/lib/measure/measure.theming.scss +0 -5
  89. package/src/lib/measure/measurer/measurer.theming.scss +0 -26
  90. package/src/lib/search/search-results/search-results-item.theme.scss +0 -20
  91. package/src/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +0 -14
  92. package/src/lib/workspace/workspace.theming.scss +0 -6
@@ -5,7 +5,7 @@ import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Catalog library item
7
7
  */
8
- export declare class CatalogLibaryItemComponent {
8
+ export declare class CatalogLibraryItemComponent {
9
9
  /**
10
10
  * Catalog
11
11
  */
@@ -20,6 +20,6 @@ export declare class CatalogLibaryItemComponent {
20
20
  */
21
21
  get title(): string;
22
22
  removeCatalogFromLibrary(event: any): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<CatalogLibaryItemComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<CatalogLibaryItemComponent, "igo-catalog-library-item", never, { "catalog": { "alias": "catalog"; "required": false; }; "map": { "alias": "map"; "required": false; }; }, { "catalogRemove": "catalogRemove"; }, never, never, true, never>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogLibraryItemComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<CatalogLibraryItemComponent, "igo-catalog-library-item", never, { "catalog": { "alias": "catalog"; "required": false; }; "map": { "alias": "map"; "required": false; }; }, { "catalogRemove": "catalogRemove"; }, never, never, true, never>;
25
25
  }
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  /**
12
12
  * Component to browse a list of available catalogs
13
13
  */
14
- export declare class CatalogLibaryComponent implements OnInit, OnDestroy {
14
+ export declare class CatalogLibraryComponent implements OnInit, OnDestroy {
15
15
  private capabilitiesService;
16
16
  private messageService;
17
17
  private storageService;
@@ -63,6 +63,6 @@ export declare class CatalogLibaryComponent implements OnInit, OnDestroy {
63
63
  private handleAddCatalogToStore;
64
64
  onCatalogRemove(catalog: any): void;
65
65
  addCatalogDialog(error?: any, addedCatalog?: Catalog): void;
66
- static ɵfac: i0.ɵɵFactoryDeclaration<CatalogLibaryComponent, never>;
67
- static ɵcmp: i0.ɵɵComponentDeclaration<CatalogLibaryComponent, "igo-catalog-library", never, { "store": { "alias": "store"; "required": false; }; "map": { "alias": "map"; "required": false; }; "addCatalogAllowed": { "alias": "addCatalogAllowed"; "required": false; }; "predefinedCatalogs": { "alias": "predefinedCatalogs"; "required": false; }; }, { "catalogSelectChange": "catalogSelectChange"; }, never, never, true, never>;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogLibraryComponent, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<CatalogLibraryComponent, "igo-catalog-library", never, { "store": { "alias": "store"; "required": false; }; "map": { "alias": "map"; "required": false; }; "addCatalogAllowed": { "alias": "addCatalogAllowed"; "required": false; }; "predefinedCatalogs": { "alias": "predefinedCatalogs"; "required": false; }; }, { "catalogSelectChange": "catalogSelectChange"; }, never, never, true, never>;
68
68
  }
@@ -1,14 +1,14 @@
1
1
  import { AddCatalogDialogComponent } from './add-catalog-dialog.component';
2
- import { CatalogLibaryComponent } from './catalog-library.component';
2
+ import { CatalogLibraryComponent } from './catalog-library.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./catalog-library.component";
5
5
  import * as i2 from "./add-catalog-dialog.component";
6
- export declare const CATALOG_LIBRARY_DIRECTIVES: readonly [typeof CatalogLibaryComponent, typeof AddCatalogDialogComponent];
6
+ export declare const CATALOG_LIBRARY_DIRECTIVES: readonly [typeof CatalogLibraryComponent, typeof AddCatalogDialogComponent];
7
7
  /**
8
- * @deprecated import the CatalogLibaryComponent, AddCatalogDialogComponent directly
8
+ * @deprecated import the CatalogLibraryComponent, AddCatalogDialogComponent directly
9
9
  */
10
10
  export declare class IgoCatalogLibraryModule {
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<IgoCatalogLibraryModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<IgoCatalogLibraryModule, never, [typeof i1.CatalogLibaryComponent, typeof i2.AddCatalogDialogComponent], [typeof i1.CatalogLibaryComponent, typeof i2.AddCatalogDialogComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoCatalogLibraryModule, never, [typeof i1.CatalogLibraryComponent, typeof i2.AddCatalogDialogComponent], [typeof i1.CatalogLibraryComponent, typeof i2.AddCatalogDialogComponent]>;
13
13
  static ɵinj: i0.ɵɵInjectorDeclaration<IgoCatalogLibraryModule>;
14
14
  }
@@ -3,12 +3,12 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "./catalog-browser/catalog-browser.component";
4
4
  import * as i2 from "./catalog-library/catalog-library.component";
5
5
  import * as i3 from "./catalog-library/add-catalog-dialog.component";
6
- export declare const CATALOG_DIRECTIVES: readonly [typeof CatalogBrowserComponent, typeof import("./catalog-library").CatalogLibaryComponent, typeof import("./catalog-library").AddCatalogDialogComponent];
6
+ export declare const CATALOG_DIRECTIVES: readonly [typeof CatalogBrowserComponent, typeof import("./catalog-library").CatalogLibraryComponent, typeof import("./catalog-library").AddCatalogDialogComponent];
7
7
  /**
8
8
  * @deprecated import the components directly or the CATALOG_DIRECTIVES
9
9
  */
10
10
  export declare class IgoCatalogModule {
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<IgoCatalogModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<IgoCatalogModule, never, [typeof i1.CatalogBrowserComponent, typeof i2.CatalogLibaryComponent, typeof i3.AddCatalogDialogComponent], [typeof i1.CatalogBrowserComponent, typeof i2.CatalogLibaryComponent, typeof i3.AddCatalogDialogComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoCatalogModule, never, [typeof i1.CatalogBrowserComponent, typeof i2.CatalogLibraryComponent, typeof i3.AddCatalogDialogComponent], [typeof i1.CatalogBrowserComponent, typeof i2.CatalogLibraryComponent, typeof i3.AddCatalogDialogComponent]>;
13
13
  static ɵinj: i0.ɵɵInjectorDeclaration<IgoCatalogModule>;
14
14
  }
@@ -2,6 +2,7 @@ import { AuthInterceptor } from '@igo2/auth';
2
2
  import { LanguageService } from '@igo2/core/language';
3
3
  import { MessageService } from '@igo2/core/message';
4
4
  import { BehaviorSubject, Observable } from 'rxjs';
5
+ import { OGCFilterService } from '../../filter/shared/ogc-filter.service';
5
6
  import { CapabilitiesService } from './capabilities.service';
6
7
  import { AnyDataSourceOptions, DataSource } from './datasources';
7
8
  import { WFSService } from './datasources/wfs.service';
@@ -11,17 +12,19 @@ export declare class DataSourceService {
11
12
  private capabilitiesService;
12
13
  private optionsService;
13
14
  private wfsDataSourceService;
15
+ private ogcFilterService;
14
16
  private languageService;
15
17
  private messageService;
16
18
  private authInterceptor?;
17
19
  datasources$: BehaviorSubject<DataSource[]>;
18
- constructor(capabilitiesService: CapabilitiesService, optionsService: OptionsService, wfsDataSourceService: WFSService, languageService: LanguageService, messageService: MessageService, authInterceptor?: AuthInterceptor);
20
+ constructor(capabilitiesService: CapabilitiesService, optionsService: OptionsService, wfsDataSourceService: WFSService, ogcFilterService: OGCFilterService, languageService: LanguageService, messageService: MessageService, authInterceptor?: AuthInterceptor);
19
21
  createAsyncDataSource(context: AnyDataSourceOptions, detailedContextUri?: string): Observable<DataSource>;
20
22
  private createOSMDataSource;
21
23
  private createFeatureDataSource;
22
24
  private createWebSocketDataSource;
23
25
  private createWFSDataSource;
24
26
  private createWMSDataSource;
27
+ private normalizeParams;
25
28
  private createWMTSDataSource;
26
29
  private createXYZDataSource;
27
30
  private createTileDebugDataSource;
@@ -31,6 +34,6 @@ export declare class DataSourceService {
31
34
  private createTileArcGISRestDataSource;
32
35
  private createMVTDataSource;
33
36
  private createClusterDataSource;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<DataSourceService, [null, { optional: true; }, null, null, null, null]>;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataSourceService, [null, { optional: true; }, null, null, null, null, null]>;
35
38
  static ɵprov: i0.ɵɵInjectableDeclaration<DataSourceService>;
36
39
  }
@@ -1,9 +1,10 @@
1
1
  import olClusterSource from 'ol/source/Cluster';
2
2
  import olSource from 'ol/source/Source';
3
3
  import olVectorSource from 'ol/source/Vector';
4
- import { LegendOptions } from '../../../layer/shared/layers/legend.interface';
4
+ import { Subscription } from 'rxjs';
5
+ import { LegendMapViewOptions, LegendOptions } from '../../../layer/shared/layers/legend.interface';
5
6
  import { DataService } from './data.service';
6
- import { DataSourceOptions, Legend } from './datasource.interface';
7
+ import { DataSourceOptions, DatasourceEvent, Legend } from './datasource.interface';
7
8
  export declare abstract class DataSource {
8
9
  options: DataSourceOptions;
9
10
  protected dataService?: DataService;
@@ -11,10 +12,27 @@ export declare abstract class DataSource {
11
12
  ol: olSource | olVectorSource | olClusterSource;
12
13
  private legend;
13
14
  get saveableOptions(): Partial<DataSourceOptions>;
15
+ protected events: Map<"refresh", Subscription>;
16
+ properties: DatasourceProperties;
14
17
  constructor(options?: DataSourceOptions, dataService?: DataService);
15
18
  protected abstract createOlSource(): olSource;
16
19
  protected generateId(): string;
17
- getLegend(): Legend[];
20
+ getLegend(_style?: string, _view?: LegendMapViewOptions): Legend[];
18
21
  setLegend(options: LegendOptions): Legend[];
22
+ refresh(): void;
23
+ addEvents(events?: DatasourceEvent[]): void;
24
+ removeEvents(): void;
25
+ private addEvent;
26
+ destroy(): void;
19
27
  protected abstract onUnwatch(): any;
20
28
  }
29
+ declare class DatasourceProperties {
30
+ /** General object to store general properties */
31
+ private properties;
32
+ get(key: string): unknown;
33
+ getAll(): Record<string, unknown>;
34
+ set(key: string, value: unknown): void;
35
+ setMany(object: Record<string, unknown>): void;
36
+ delete(key: string): void;
37
+ }
38
+ export {};
@@ -1,5 +1,6 @@
1
1
  import type { Type } from 'ol/geom/Geometry';
2
2
  import { Encoders, Preset, Tokenizer } from 'flexsearch';
3
+ import type { Observable } from 'rxjs';
3
4
  import { DownloadOptions } from '../../../download/shared/download.interface';
4
5
  import { OgcFilterOperatorType } from '../../../filter/shared/ogc-filter.enum';
5
6
  export interface DataSourceOptions {
@@ -102,3 +103,7 @@ export interface TileGridOptions {
102
103
  tileSize?: [number, number];
103
104
  tileSizes?: [number, number][];
104
105
  }
106
+ export type AnyEventName = EventRefresh;
107
+ export declare const EventRefresh: "refresh";
108
+ export type EventRefresh = typeof EventRefresh;
109
+ export type DatasourceEvent = [AnyEventName, Observable<unknown>];
@@ -7,6 +7,7 @@ import olProjection from 'ol/proj/Projection';
7
7
  import olSourceVector from 'ol/source/Vector';
8
8
  import { Observable } from 'rxjs';
9
9
  import { OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
10
+ import { OGCFilterService } from '../../../filter/shared/ogc-filter.service';
10
11
  import { DataSource } from './datasource';
11
12
  import { WFSDataSourceOptions } from './wfs-datasource.interface';
12
13
  import { WFSService } from './wfs.service';
@@ -18,15 +19,17 @@ interface FetchFeatureOptions {
18
19
  export declare class WFSDataSource extends DataSource {
19
20
  options: WFSDataSourceOptions;
20
21
  protected wfsService: WFSService;
22
+ private ogcFilterService;
21
23
  private authInterceptor?;
22
24
  ol: olSourceVector;
23
25
  set ogcFilters(value: OgcFiltersOptions);
24
26
  get ogcFilters(): OgcFiltersOptions;
25
27
  get saveableOptions(): Partial<WFSDataSourceOptions>;
26
- constructor(options: WFSDataSourceOptions, wfsService: WFSService, authInterceptor?: AuthInterceptor);
28
+ constructor(options: WFSDataSourceOptions, wfsService: WFSService, ogcFilterService: OGCFilterService, authInterceptor?: AuthInterceptor);
27
29
  protected createOlSource(): olSourceVector;
28
30
  setOgcFilters(ogcFilters: OgcFiltersOptions, triggerEvent?: boolean): void;
29
31
  onUnwatch(): void;
32
+ refresh(): void;
30
33
  fetchFeatures({ extent, projection, httpClient }: FetchFeatureOptions): Observable<OlFeature<OlGeometry>[]>;
31
34
  private _fetchFeatures;
32
35
  private _parseXmlFeatures;
@@ -1,4 +1,4 @@
1
- import type { OgcFiltersOptions } from '../../../filter';
1
+ import type { OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
2
2
  import type { FeatureDataSourceOptions } from './feature-datasource.interface';
3
3
  export interface WFSDataSourceOptions extends FeatureDataSourceOptions {
4
4
  params: WFSDataSourceOptionsParams;
@@ -1,6 +1,7 @@
1
1
  import olSourceImageWMS from 'ol/source/ImageWMS';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import { OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
4
+ import { OGCFilterService } from '../../../filter/shared/ogc-filter.service';
4
5
  import { TimeFilterOptions } from '../../../filter/shared/time-filter.interface';
5
6
  import { LegendMapViewOptions } from '../../../layer/shared/layers/legend.interface';
6
7
  import { DataSource } from './datasource';
@@ -16,7 +17,8 @@ export interface TimeFilterableDataSource extends WMSDataSource {
16
17
  }
17
18
  export declare class WMSDataSource extends DataSource {
18
19
  options: WMSDataSourceOptions;
19
- protected wfsService: WFSService;
20
+ protected wfsService?: WFSService;
21
+ private ogcFilterService?;
20
22
  ol: olSourceImageWMS;
21
23
  get params(): any;
22
24
  set stylesParams(value: string);
@@ -29,15 +31,23 @@ export declare class WMSDataSource extends DataSource {
29
31
  get timeFilter(): TimeFilterOptions;
30
32
  readonly timeFilter$: BehaviorSubject<TimeFilterOptions>;
31
33
  get saveableOptions(): Partial<WMSDataSourceOptions>;
32
- constructor(options: WMSDataSourceOptions, wfsService: WFSService);
34
+ /**
35
+ * @workaround
36
+ * We need a external way to desactive the refresh of a linked layer for the workspace
37
+ * The workspace services create all workspace layer on init and the refresh
38
+ * is enable by default even if the workspace is not use the layer will still be refreshed.
39
+ */
40
+ enableRefresh: boolean;
41
+ constructor(options: WMSDataSourceOptions, wfsService?: WFSService, ogcFilterService?: OGCFilterService);
33
42
  private dateFormat;
34
- refresh(): void;
35
- private buildDynamicDownloadUrlFromParamsWFS;
43
+ addEvents(): void;
36
44
  protected createOlSource(): olSourceImageWMS;
37
45
  setOgcFilters(ogcFilters: OgcFiltersOptions, triggerEvent?: boolean): void;
38
46
  setTimeFilter(timeFilter: TimeFilterOptions, triggerEvent?: boolean): void;
39
47
  getLegend(style?: string, view?: LegendMapViewOptions): Legend[];
40
48
  onUnwatch(): void;
49
+ private addRefreshInterval;
50
+ private buildDynamicDownloadUrlFromParamsWFS;
41
51
  }
42
52
  export interface TimeFilterableDataSource extends WMSDataSource {
43
53
  options: TimeFilterableDataSourceOptions;
@@ -1,6 +1,6 @@
1
1
  import { Extent } from 'ol/extent';
2
2
  import olProjection from 'ol/proj/Projection';
3
- import { IOgcFiltersOption, OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
3
+ import { IOgcFiltersOptionSaveable, OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
4
4
  import { WFSDataSourceOptions } from './wfs-datasource.interface';
5
5
  import { WMSDataSourceOptions } from './wms-datasource.interface';
6
6
  export declare const defaultEpsg = "EPSG:3857";
@@ -40,4 +40,4 @@ export declare function formatWFSQueryString(dataSourceOptions: WFSDataSourceOpt
40
40
  */
41
41
  export declare function checkWfsParams(wfsDataSourceOptions: any, srcType?: string): any;
42
42
  export declare function getFormatFromOptions(options: WFSDataSourceOptions | WMSDataSourceOptions): any;
43
- export declare function getSaveableOgcParams(options: OgcFiltersOptions): IOgcFiltersOption;
43
+ export declare function getSaveableOgcParams(options: OgcFiltersOptions): IOgcFiltersOptionSaveable;
@@ -3,7 +3,7 @@ import { EntityKey, EntityStoreOptions, EntityStoreStrategyOptions } from '@igo2
3
3
  import OlFeature from 'ol/Feature';
4
4
  import type { default as OlGeometry } from 'ol/geom/Geometry';
5
5
  import OlRenderFeature from 'ol/render/Feature';
6
- import { GeoJsonGeometryTypes } from 'geojson';
6
+ import { Geometry } from 'geojson';
7
7
  import { SourceFieldsOptionsParams } from '../../datasource/shared/datasources';
8
8
  import type { VectorLayer } from '../../layer/shared/layers/vector-layer';
9
9
  import type { IgoMap } from '../../map/shared/map';
@@ -31,10 +31,9 @@ export interface FeatureMeta {
31
31
  excludeAttribute?: string[];
32
32
  excludeAttributeOffline?: string[];
33
33
  }
34
- export interface FeatureGeometry {
35
- type: GeoJsonGeometryTypes;
36
- coordinates: any;
37
- }
34
+ export type FeatureGeometry = {
35
+ coordinates: any[];
36
+ } & Geometry;
38
37
  export interface FeatureStoreOptions extends EntityStoreOptions {
39
38
  map: IgoMap;
40
39
  layer?: VectorLayer;
@@ -80,7 +80,7 @@ export declare function featuresAreTooDeepInView(viewController: MapViewControll
80
80
  * @param scale If this is defined, the original view will be scaled
81
81
  * by that factor before any logic is applied.
82
82
  */
83
- export declare function moveToOlFeatures(viewController: MapViewController, olFeatures: OlFeature<OlGeometry>[], motion?: FeatureMotion, scale?: [number, number, number, number], areaRatio?: number): void;
83
+ export declare function moveToOlFeatures(viewController: MapViewController, olFeatures: OlFeature | OlFeature[], motion?: FeatureMotion, scale?: [number, number, number, number], areaRatio?: number): void;
84
84
  /**
85
85
  * Hide an OL feature
86
86
  * @param olFeature OL feature
@@ -199,7 +199,7 @@ export interface SliderOptionsInterface extends OgcFilterDuringOptions {
199
199
  displayFormat?: string;
200
200
  enabled?: boolean;
201
201
  }
202
- export interface IOgcFiltersOption extends Omit<OgcFiltersOptions, 'interfaceOgcFilters'> {
202
+ export interface IOgcFiltersOptionSaveable extends Omit<OgcFiltersOptions, 'interfaceOgcFilters'> {
203
203
  interfaceOgcFilters: IOgcInterfaceFilterOptions[];
204
204
  }
205
205
  export type IOgcInterfaceFilterOptions = Pick<OgcInterfaceFilterOptions, 'propertyName' | 'begin' | 'end' | 'active' | 'operator' | 'expression'>;
@@ -1,9 +1,10 @@
1
- import { WMSDataSource } from '../../datasource/shared/datasources/wms-datasource';
1
+ import type { WFSDataSourceOptions } from '../../datasource/shared/datasources/wfs-datasource.interface';
2
+ import type { WMSDataSource } from '../../datasource/shared/datasources/wms-datasource';
2
3
  import { OgcFilterableDataSource } from './ogc-filter.interface';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class OGCFilterService {
5
6
  filterByOgc(wmsDatasource: WMSDataSource, filterString: string): void;
6
- setOgcWFSFiltersOptions(wfsDatasource: OgcFilterableDataSource): void;
7
+ setOgcWFSFiltersOptions(options: WFSDataSourceOptions): void;
7
8
  setOgcWMSFiltersOptions(wmsDatasource: OgcFilterableDataSource): void;
8
9
  private mergeInterfaceFilters;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<OGCFilterService, never>;
@@ -1,8 +1,11 @@
1
1
  import BasicEvent from 'ol/events/Event';
2
+ import type { default as OlGeometry } from 'ol/geom/Geometry';
2
3
  import OlLineString from 'ol/geom/LineString';
3
4
  import OlLinearRing from 'ol/geom/LinearRing';
4
5
  import OlPolygon from 'ol/geom/Polygon';
5
6
  import * as olstyle from 'ol/style';
7
+ import { Units } from '@turf/helpers';
8
+ import { FeatureGeometry } from '../../feature';
6
9
  /**
7
10
  * Create a default style for draw and modify interactions
8
11
  * @param color Style color (R, G, B)
@@ -36,3 +39,5 @@ export declare function sliceOlPolygon(olPolygon: OlPolygon, olSlicer: OlLineStr
36
39
  */
37
40
  export declare function addLinearRingToOlPolygon(olPolygon: OlPolygon, olLinearRing: OlLinearRing): void;
38
41
  export declare function getMousePositionFromOlGeometryEvent(olEvent: BasicEvent): [number, number];
42
+ export declare function doesOlGeometryIntersects(olGeometry1: OlGeometry, olGeometry2: OlGeometry): boolean;
43
+ export declare function bufferOlGeometry(olGeometry: OlGeometry, dist: number, units?: Units): FeatureGeometry;
@@ -24,7 +24,7 @@ export declare class ExportService {
24
24
  private exportAsync;
25
25
  protected exportToFile(olFeatures: OlFeature<OlGeometry>[], format: AnyExportFormat, title: string, projectionIn: string, projectionOut: string): Promise<void>;
26
26
  private formatFeatures;
27
- getFormatter(format: AnyExportFormat): import("ol/format/GML3").default | olformat.GPX | olformat.KML | olformat.GeoJSON<typeof OlFeature>;
27
+ getFormatter(format: AnyExportFormat): import("ol/format/GML3").default | olformat.GPX | olformat.KML | olformat.GeoJSON<OlFeature<OlGeometry>>;
28
28
  exportExcel(map: IgoMap, store: WorkspaceStore, data: ExportOptions): Promise<void>;
29
29
  private getTitleFromLayers;
30
30
  private getLayerTitleFromId;
@@ -4,7 +4,6 @@ import { MessageService } from '@igo2/core/message';
4
4
  import { Observable } from 'rxjs';
5
5
  import { DataSourceService } from '../../datasource/shared/datasource.service';
6
6
  import { AnyDataSourceOptions, AnyDataSourceOptionsWithParams, ArcGISRestDataSourceOptions, WMTSDataSourceOptions } from '../../datasource/shared/datasources';
7
- import { LayerDBService } from '../../offline/layerDB/layerDB.service';
8
7
  import { GeoNetworkService } from '../../offline/shared/geo-network.service';
9
8
  import { StyleService } from '../../style/style-service/style.service';
10
9
  import { AnyLayer, AnyLayerItemOptions, AnyLayerOptions, Layer, LayerGroupOptions } from './layers';
@@ -16,10 +15,9 @@ export declare class LayerService {
16
15
  private dataSourceService;
17
16
  private messageService;
18
17
  private geoNetworkService?;
19
- private layerDBService?;
20
18
  private authInterceptor?;
21
19
  unavailableLayers: AnyLayerItemOptions[];
22
- constructor(http: HttpClient, styleService: StyleService, dataSourceService: DataSourceService, messageService: MessageService, geoNetworkService?: GeoNetworkService, layerDBService?: LayerDBService, authInterceptor?: AuthInterceptor);
20
+ constructor(http: HttpClient, styleService: StyleService, dataSourceService: DataSourceService, messageService: MessageService, geoNetworkService?: GeoNetworkService, authInterceptor?: AuthInterceptor);
23
21
  createLayers(layersOption: AnyLayerOptions[], contextUri?: string): Observable<(AnyLayer | undefined)[]>;
24
22
  createLayer(layerOptions: AnyLayerItemOptions): Layer;
25
23
  createAsyncLayer(options: AnyLayerItemOptions, detailedContextUri?: string): Observable<Layer | undefined>;
@@ -37,6 +35,6 @@ export declare class LayerService {
37
35
  deleteUnavailableLayers(anyLayerOptions: AnyLayerItemOptions): void;
38
36
  sourceOptionsWithParams(sourceOptions: AnyDataSourceOptions): sourceOptions is AnyDataSourceOptionsWithParams;
39
37
  sourceOptionsWithLayer(sourceOptions: AnyDataSourceOptions): sourceOptions is ArcGISRestDataSourceOptions | WMTSDataSourceOptions;
40
- static ɵfac: i0.ɵɵFactoryDeclaration<LayerService, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayerService, [null, null, null, null, { optional: true; }, { optional: true; }]>;
41
39
  static ɵprov: i0.ɵɵInjectableDeclaration<LayerService>;
42
40
  }
@@ -9,14 +9,14 @@ import { ImageLayerOptions } from './image-layer.interface';
9
9
  import { Layer } from './layer';
10
10
  import { LayerType } from './layer.interface';
11
11
  export declare class ImageLayer extends Layer {
12
- messageService: MessageService;
12
+ messageService?: MessageService;
13
13
  authInterceptor?: AuthInterceptor;
14
14
  type: LayerType;
15
15
  dataSource: WMSDataSource | ImageArcGISRestDataSource;
16
16
  options: ImageLayerOptions;
17
17
  ol: olLayerImage<olSourceImage>;
18
18
  private watcher;
19
- constructor(options: ImageLayerOptions, messageService: MessageService, authInterceptor?: AuthInterceptor);
19
+ constructor(options: ImageLayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor);
20
20
  protected createOlLayer(): olLayerImage<olSourceImage>;
21
21
  init(map: MapBase | undefined): void;
22
22
  remove(): void;
@@ -4,6 +4,7 @@ import type { MapBase } from '../../../map/shared/map.abstract';
4
4
  import { type AnyLayer } from './any-layer';
5
5
  import { LayerGroupBase } from './layer-base';
6
6
  import { type LayerGroupOptions } from './layer-group.interface';
7
+ export declare const ID_GROUP_PREFIX = "local-group_";
7
8
  export declare class LayerGroup extends LayerGroupBase {
8
9
  children: AnyLayer[] | null;
9
10
  options: LayerGroupOptions;
@@ -32,4 +32,5 @@ export declare class Linked {
32
32
  private handleChange;
33
33
  private handleDisplayChange;
34
34
  private findChildren;
35
+ private handleRefreshChanges;
35
36
  }
@@ -27,6 +27,7 @@ export declare enum LinkedProperties {
27
27
  MINRESOLUTION = "minResolution",
28
28
  MAXRESOLUTION = "maxResolution",
29
29
  ZINDEX = "zIndex",
30
- TIMEFILTER = "timeFilter"
30
+ TIMEFILTER = "timeFilter",
31
+ REFRESH = "refresh"
31
32
  }
32
33
  export {};
@@ -12,8 +12,6 @@ import { WebSocketDataSource } from '../../../datasource/shared/datasources/webs
12
12
  import { WFSDataSource } from '../../../datasource/shared/datasources/wfs-datasource';
13
13
  import { WFSDataSourceOptions } from '../../../datasource/shared/datasources/wfs-datasource.interface';
14
14
  import type { MapBase, MapExtent } from '../../../map/shared';
15
- import { GeoDBService } from '../../../offline/geoDB/geoDB.service';
16
- import { LayerDBService } from '../../../offline/layerDB/layerDB.service';
17
15
  import { GeoNetworkService } from '../../../offline/shared/geo-network.service';
18
16
  import { Layer } from './layer';
19
17
  import { LayerType } from './layer.interface';
@@ -22,8 +20,6 @@ export declare class VectorLayer extends Layer {
22
20
  messageService?: MessageService;
23
21
  authInterceptor?: AuthInterceptor;
24
22
  private geoNetworkService?;
25
- geoDBService?: GeoDBService;
26
- layerDBService?: LayerDBService;
27
23
  type: LayerType;
28
24
  private lastRequest;
29
25
  private ongoingRequests;
@@ -34,8 +30,10 @@ export declare class VectorLayer extends Layer {
34
30
  private trackFeatureListenerId;
35
31
  get browsable(): boolean;
36
32
  get exportable(): boolean;
37
- constructor(options: VectorLayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor, geoNetworkService?: GeoNetworkService, geoDBService?: GeoDBService, layerDBService?: LayerDBService);
33
+ constructor(options: VectorLayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor, geoNetworkService?: GeoNetworkService);
38
34
  protected createOlLayer(): olLayerVector<olSourceVector>;
35
+ private handleIdbStorage;
36
+ private handlePreload;
39
37
  remove(): void;
40
38
  private removeLayerFromIDB;
41
39
  private maintainOptionsInIdb;
@@ -80,6 +78,7 @@ export declare class VectorLayer extends Layer {
80
78
  */
81
79
  private getFeatures;
82
80
  private removeRequest;
81
+ private handleOnLoad;
83
82
  /**
84
83
  * Custom loader for vector layer.
85
84
  * @internal
@@ -89,14 +88,4 @@ export declare class VectorLayer extends Layer {
89
88
  * @param projection the projection to retrieve the data
90
89
  */
91
90
  private customLoader;
92
- /**
93
- * Custom loader for vector layer.
94
- * @internal
95
- * @param vectorSource the vector source to be created
96
- * @param layerID the url string or function to retrieve the data
97
- * @param extent the extent of the requested data
98
- * @param resolution the current resolution
99
- * @param projection the projection to retrieve the data
100
- */
101
- private customIDBLoader;
102
91
  }
@@ -32,8 +32,9 @@ export interface VectorLayerOptions extends LayerOptions {
32
32
  }
33
33
  export interface IdbInfo {
34
34
  storeToIdb: boolean;
35
- contextUri: string;
36
- firstLoad: boolean;
35
+ contextUri?: string;
36
+ /** Interface restricted for system usage. You don't need to set a value */
37
+ firstLoad?: boolean;
37
38
  }
38
39
  export interface VectorAnimation {
39
40
  duration?: number;
@@ -2,12 +2,12 @@ import { MessageService } from '@igo2/core/message';
2
2
  import { Watcher } from '@igo2/utils';
3
3
  import type { ImageLayer } from '../shared/layers/image-layer';
4
4
  export declare class ImageWatcher extends Watcher {
5
+ private messageService?;
5
6
  protected id: string;
6
7
  protected loaded: number;
7
8
  protected loading: number;
8
9
  private source;
9
- private messageService;
10
- constructor(layer: ImageLayer, messageService: MessageService);
10
+ constructor(layer: ImageLayer, messageService?: MessageService);
11
11
  protected watch(): void;
12
12
  protected unwatch(): void;
13
13
  private handleLoadStart;
@@ -1,5 +1,6 @@
1
1
  export * from './image-watcher';
2
2
  export * from './layer.utils';
3
+ export * from './layer-options.utils';
3
4
  export * from './tile-watcher';
4
5
  export * from './outputLegend';
5
6
  export * from './vector-watcher';
@@ -0,0 +1,12 @@
1
+ import { AnyLayerOptions } from '../shared';
2
+ export declare function mergeLayersOptions(layersOptionsTree: AnyLayerOptions[], layersOptions: AnyLayerOptions[]): AnyLayerOptions[];
3
+ export declare function getLayerOptionIdentifier(layerOptions: AnyLayerOptions): string | undefined;
4
+ /**
5
+ * Recursively finds the parent ID of a target layer option within a tree structure.
6
+ *
7
+ * @param tree - The array of layer options representing the tree structure.
8
+ * @param target - The target layer option whose parent ID is to be found.
9
+ * @param path - The current path of IDs traversed during the search (used internally).
10
+ * @returns The parent ID as a dot-separated string, or undefined if no parent is found.
11
+ */
12
+ export declare function findParentId(tree: AnyLayerOptions[], target: AnyLayerOptions, path?: string[]): string | undefined;
@@ -1,13 +1,11 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { MessageService } from '@igo2/core/message';
3
- import { GeoDBService } from './geoDB.service';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class ConfigFileToGeoDBService {
6
5
  private http;
7
- private geoDBService;
8
6
  private messageService;
9
- constructor(http: HttpClient, geoDBService: GeoDBService, messageService: MessageService);
10
- load(url: string): void;
7
+ constructor(http: HttpClient, messageService: MessageService);
8
+ load(urlFile: string): void;
11
9
  private isZip;
12
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfigFileToGeoDBService, never>;
13
11
  static ɵprov: i0.ɵɵInjectableDeclaration<ConfigFileToGeoDBService>;
@@ -0,0 +1,36 @@
1
+ import { Observable } from 'rxjs';
2
+ import { InsertSourceInsertDBEnum } from './geoDB.enums';
3
+ import { GeoDBData } from './geoDB.interface';
4
+ export declare class GeoDB {
5
+ private db$;
6
+ private compression;
7
+ collisionsMap: Map<string | number, string[]>;
8
+ _newData: number;
9
+ private revertObservablesSubscription;
10
+ constructor();
11
+ /**
12
+ * Only blob can be compressed
13
+ * @param url
14
+ * @param regionID
15
+ * @param object object to handle
16
+ * @param insertSource type of event user or system
17
+ * @param insertEvent Name of the event where the insert has been triggered
18
+ * @returns
19
+ */
20
+ update(url: string, regionID: number | string, object: object | Blob, insertSource: InsertSourceInsertDBEnum, insertEvent: string): Observable<GeoDBData>;
21
+ private customUpdate;
22
+ add(geoDBData: GeoDBData): Observable<GeoDBData>;
23
+ put(geoDBData: GeoDBData): Observable<GeoDBData>;
24
+ getGeoDBData(url: string): Observable<GeoDBData>;
25
+ get(url: string): Observable<object | Blob>;
26
+ delete(key: string): Observable<object>;
27
+ /** @deprecated Use delete method instead*/
28
+ deleteByKey(key: string): Observable<object>;
29
+ getRegionCountByID(id: number): Observable<number>;
30
+ getRegionByID(id: number): Observable<GeoDBData[]>;
31
+ deleteByRegionID(id: number): Observable<void[]>;
32
+ resetCounters(): void;
33
+ resetCollisionsMap(): void;
34
+ revertCollisions(): void;
35
+ get newData(): number;
36
+ }
@@ -1,4 +1,4 @@
1
1
  export * from './geoDB.enums';
2
2
  export * from './geoDB.interface';
3
- export * from './geoDB.service';
3
+ export * from './geoDB';
4
4
  export * from './configFileToGeoDB.service';
@@ -1,2 +1,2 @@
1
1
  export * from './layerDB.interface';
2
- export * from './layerDB.service';
2
+ export * from './layerDB';