@igo2/context 19.0.3 → 20.0.0-next.2

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 (78) hide show
  1. package/fesm2022/igo2-context.mjs +292 -425
  2. package/fesm2022/igo2-context.mjs.map +1 -1
  3. package/index.d.ts +1033 -3
  4. package/package.json +12 -15
  5. package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +0 -44
  6. package/lib/context-import-export/context-import-export.module.d.ts +0 -12
  7. package/lib/context-import-export/index.d.ts +0 -2
  8. package/lib/context-import-export/shared/context-export.errors.d.ts +0 -8
  9. package/lib/context-import-export/shared/context-export.interface.d.ts +0 -5
  10. package/lib/context-import-export/shared/context-export.service.d.ts +0 -10
  11. package/lib/context-import-export/shared/context-export.utils.d.ts +0 -4
  12. package/lib/context-import-export/shared/context-import.errors.d.ts +0 -17
  13. package/lib/context-import-export/shared/context-import.service.d.ts +0 -18
  14. package/lib/context-import-export/shared/context-import.utils.d.ts +0 -15
  15. package/lib/context-import-export/shared/index.d.ts +0 -7
  16. package/lib/context-manager/context-edit/context-edit-binding.directive.d.ts +0 -20
  17. package/lib/context-manager/context-edit/context-edit.component.d.ts +0 -14
  18. package/lib/context-manager/context-edit/index.d.ts +0 -2
  19. package/lib/context-manager/context-form/context-form.component.d.ts +0 -32
  20. package/lib/context-manager/context-form/index.d.ts +0 -1
  21. package/lib/context-manager/context-item/context-item.component.d.ts +0 -32
  22. package/lib/context-manager/context-item/index.d.ts +0 -1
  23. package/lib/context-manager/context-list/context-list-binding.directive.d.ts +0 -48
  24. package/lib/context-manager/context-list/context-list.component.d.ts +0 -93
  25. package/lib/context-manager/context-list/context-list.enum.d.ts +0 -5
  26. package/lib/context-manager/context-list/index.d.ts +0 -2
  27. package/lib/context-manager/context-manager.directive.d.ts +0 -7
  28. package/lib/context-manager/context-manager.module.d.ts +0 -21
  29. package/lib/context-manager/context-permissions/context-permissions-binding.directive.d.ts +0 -24
  30. package/lib/context-manager/context-permissions/context-permissions.component.d.ts +0 -40
  31. package/lib/context-manager/context-permissions/index.d.ts +0 -2
  32. package/lib/context-manager/index.d.ts +0 -7
  33. package/lib/context-manager/shared/context.enum.d.ts +0 -10
  34. package/lib/context-manager/shared/context.interface.d.ts +0 -81
  35. package/lib/context-manager/shared/context.service.d.ts +0 -81
  36. package/lib/context-manager/shared/index.d.ts +0 -5
  37. package/lib/context-manager/shared/layer-context.directive.d.ts +0 -31
  38. package/lib/context-manager/shared/map-context.directive.d.ts +0 -22
  39. package/lib/context-map-button/bookmark-button/bookmark-button.component.d.ts +0 -20
  40. package/lib/context-map-button/bookmark-button/bookmark-dialog.component.d.ts +0 -9
  41. package/lib/context-map-button/bookmark-button/index.d.ts +0 -2
  42. package/lib/context-map-button/context-map-button.directive.d.ts +0 -4
  43. package/lib/context-map-button/context-map-button.module.d.ts +0 -15
  44. package/lib/context-map-button/index.d.ts +0 -4
  45. package/lib/context-map-button/poi-button/index.d.ts +0 -3
  46. package/lib/context-map-button/poi-button/poi-button.component.d.ts +0 -35
  47. package/lib/context-map-button/poi-button/poi-dialog.component.d.ts +0 -9
  48. package/lib/context-map-button/poi-button/shared/index.d.ts +0 -2
  49. package/lib/context-map-button/poi-button/shared/poi.interface.d.ts +0 -7
  50. package/lib/context-map-button/poi-button/shared/poi.service.d.ts +0 -16
  51. package/lib/context-map-button/user-button/index.d.ts +0 -2
  52. package/lib/context-map-button/user-button/user-button.animation.d.ts +0 -2
  53. package/lib/context-map-button/user-button/user-button.component.d.ts +0 -25
  54. package/lib/context-map-button/user-button/user-dialog.component.d.ts +0 -15
  55. package/lib/context.module.d.ts +0 -16
  56. package/lib/environment/environment.interface.d.ts +0 -9
  57. package/lib/environment/index.d.ts +0 -1
  58. package/lib/share-map/index.d.ts +0 -5
  59. package/lib/share-map/share-map/share-map-api.component.d.ts +0 -34
  60. package/lib/share-map/share-map/share-map-url.component.d.ts +0 -28
  61. package/lib/share-map/share-map/share-map.component.d.ts +0 -11
  62. package/lib/share-map/share-map.module.d.ts +0 -18
  63. package/lib/share-map/shared/index.d.ts +0 -4
  64. package/lib/share-map/shared/share-map-definitions.d.ts +0 -2
  65. package/lib/share-map/shared/share-map-encoder.d.ts +0 -62
  66. package/lib/share-map/shared/share-map-legacy.service.d.ts +0 -18
  67. package/lib/share-map/shared/share-map-parser.d.ts +0 -20
  68. package/lib/share-map/shared/share-map.interface.d.ts +0 -81
  69. package/lib/share-map/shared/share-map.service.d.ts +0 -23
  70. package/lib/share-map/shared/share-map.utils.d.ts +0 -13
  71. package/lib/sidenav/index.d.ts +0 -1
  72. package/lib/sidenav/sidenav.component.d.ts +0 -36
  73. package/lib/sidenav/sidenav.module.d.ts +0 -12
  74. package/public_api.d.ts +0 -12
  75. package/src/context.theme.scss +0 -5
  76. package/src/lib/context-manager/context-item/context-item.theming.scss +0 -21
  77. package/src/lib/context-manager/context-list/context-list.theming.scss +0 -23
  78. package/src/lib/context-manager/context-manager.theming.scss +0 -7
package/index.d.ts CHANGED
@@ -1,5 +1,1035 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, ModuleWithProviders, OnDestroy, EventEmitter } from '@angular/core';
3
+ import { UntypedFormGroup, UntypedFormControl } from '@angular/forms';
4
+ import { AnyLayerOptions, MapViewOptions, MapExtent, MapScaleLineOptions, MapAttributionOptions, VectorLayer, AnyLayer, IgoMap, Feature, StyleListService, StyleService, ImportExportServiceOptions, LayerOptions, LayerGroupOptions, AnyDataSourceOptions } from '@igo2/geo';
5
+ import { BehaviorSubject, ReplaySubject, Subscription, Observable, Subject } from 'rxjs';
6
+ import { Tool } from '@igo2/common/tool';
7
+ import { Message, MessageService } from '@igo2/core/message';
8
+ import { FeatureCollection } from 'geojson';
9
+ import { AuthService, AuthOptions } from '@igo2/auth';
10
+ import { ActionStore, ActionbarMode } from '@igo2/common/action';
11
+ import { ConfigService } from '@igo2/core/config';
12
+ import { MatDialogRef } from '@angular/material/dialog';
13
+ import { Title } from '@angular/platform-browser';
14
+ import { FlexibleState } from '@igo2/common/flexible';
15
+ import { Media } from '@igo2/core/media';
16
+ import { Params } from '@angular/router';
17
+ import { RouteServiceOptions, RouteService } from '@igo2/core/route';
18
+
19
+ declare enum TypePermission {
20
+ null = 0,
21
+ read = 1,
22
+ write = 2
23
+ }
24
+ declare enum Scope {
25
+ public = 0,
26
+ protected = 1,
27
+ private = 2
28
+ }
29
+
30
+ interface Context {
31
+ id?: string;
32
+ title?: string;
33
+ uri?: string;
34
+ scope?: string;
35
+ permission?: string;
36
+ description?: string;
37
+ icon?: string;
38
+ iconImage?: string;
39
+ hidden?: boolean;
40
+ imported?: boolean;
41
+ }
42
+ interface ContextsList {
43
+ ours: Context[];
44
+ shared?: Context[];
45
+ public?: Context[];
46
+ }
47
+ type ExtraFeatures = FeatureCollection & {
48
+ name: string;
49
+ opacity: number;
50
+ visible: boolean;
51
+ };
52
+ interface DetailedContext extends Context {
53
+ layers?: AnyLayerOptions[];
54
+ base?: string;
55
+ map?: ContextMap;
56
+ tools?: Tool[];
57
+ toolbar?: string[];
58
+ message?: Message;
59
+ messages?: Message[];
60
+ removeLayersOnContextChange?: boolean;
61
+ extraFeatures?: ExtraFeatures[];
62
+ }
63
+ interface ContextMapView extends MapViewOptions {
64
+ keepCurrentView?: boolean;
65
+ homeExtent?: ContextHomeExtent;
66
+ }
67
+ interface ContextHomeExtent {
68
+ extent?: MapExtent;
69
+ center?: [number, number];
70
+ zoom?: number;
71
+ }
72
+ interface ContextMap {
73
+ view: ContextMapView;
74
+ controls?: {
75
+ scaleLine?: boolean | MapScaleLineOptions;
76
+ attribution?: boolean | MapAttributionOptions;
77
+ };
78
+ }
79
+ interface ContextServiceOptions {
80
+ url?: string;
81
+ basePath?: string;
82
+ contextListFile?: string;
83
+ defaultContextUri?: string;
84
+ }
85
+ interface ContextPermission {
86
+ id?: string;
87
+ contextId?: string;
88
+ profil: string;
89
+ profilTitle?: string;
90
+ typePermission: TypePermission;
91
+ }
92
+ interface ContextPermissionsList {
93
+ read: ContextPermission[];
94
+ write: ContextPermission[];
95
+ }
96
+ interface ContextUserPermission {
97
+ name: string;
98
+ checked: boolean;
99
+ indeterminate?: boolean;
100
+ }
101
+ interface ContextProfils {
102
+ name: string;
103
+ title: string;
104
+ childs?: ContextProfils[];
105
+ }
106
+
107
+ declare class ContextImportExportComponent implements OnInit {
108
+ private contextImportService;
109
+ private contextExportService;
110
+ private messageService;
111
+ private formBuilder;
112
+ private config;
113
+ private contextService;
114
+ form: UntypedFormGroup;
115
+ layers: VectorLayer[];
116
+ inputProj: string;
117
+ loading$: BehaviorSubject<boolean>;
118
+ forceNaming: boolean;
119
+ layerList: AnyLayer[];
120
+ userControlledLayerList: readonly AnyLayer[];
121
+ res: DetailedContext;
122
+ private clientSideFileSizeMax;
123
+ fileSizeMb: number;
124
+ activeImportExport: string;
125
+ map: IgoMap;
126
+ constructor();
127
+ ngOnInit(): void;
128
+ importFiles(files: File[]): void;
129
+ handleExportFormSubmit(contextOptions: any): void;
130
+ private buildForm;
131
+ private onFileImportSuccess;
132
+ private onFileImportError;
133
+ private onFileExportError;
134
+ private onFileExportSuccess;
135
+ selectAll(e: any): void;
136
+ onImportExportChange(event: any): void;
137
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextImportExportComponent, never>;
138
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContextImportExportComponent, "igo-context-import-export", never, { "map": { "alias": "map"; "required": false; }; }, {}, never, never, true, never>;
139
+ }
140
+
1
141
  /**
2
- * Generated bundle index. Do not edit.
142
+ * @deprecated import the ContextImportExportComponent directly
3
143
  */
4
- /// <amd-module name="@igo2/context" />
5
- export * from './public_api';
144
+ declare class IgoContextImportExportModule {
145
+ static forRoot(): ModuleWithProviders<IgoContextImportExportModule>;
146
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgoContextImportExportModule, never>;
147
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoContextImportExportModule, never, [typeof ContextImportExportComponent], [typeof ContextImportExportComponent]>;
148
+ static ɵinj: i0.ɵɵInjectorDeclaration<IgoContextImportExportModule>;
149
+ }
150
+
151
+ declare enum ContextListControlsEnum {
152
+ always = "always",
153
+ never = "never",
154
+ default = "default"
155
+ }
156
+
157
+ declare class ContextListComponent implements OnInit, OnDestroy {
158
+ configService: ConfigService<any>;
159
+ auth: AuthService;
160
+ private dialog;
161
+ private languageService;
162
+ private storageService;
163
+ contextConfigs: ContextServiceOptions;
164
+ private contextsInitial;
165
+ contexts$: BehaviorSubject<ContextsList>;
166
+ change$: ReplaySubject<void>;
167
+ private change$$;
168
+ get contexts(): ContextsList;
169
+ set contexts(value: ContextsList);
170
+ private _contexts;
171
+ selectedContext: DetailedContext;
172
+ map: IgoMap;
173
+ get defaultContextId(): string;
174
+ set defaultContextId(value: string);
175
+ private _defaultContextId;
176
+ collapsed: {
177
+ contextScope: any;
178
+ }[];
179
+ select: EventEmitter<DetailedContext>;
180
+ unselect: EventEmitter<DetailedContext>;
181
+ edit: EventEmitter<DetailedContext>;
182
+ delete: EventEmitter<DetailedContext>;
183
+ save: EventEmitter<DetailedContext>;
184
+ clone: EventEmitter<DetailedContext>;
185
+ create: EventEmitter<{
186
+ title: string;
187
+ empty: boolean;
188
+ }>;
189
+ hide: EventEmitter<DetailedContext>;
190
+ show: EventEmitter<DetailedContext>;
191
+ showHiddenContexts: EventEmitter<boolean>;
192
+ favorite: EventEmitter<DetailedContext>;
193
+ managePermissions: EventEmitter<DetailedContext>;
194
+ manageTools: EventEmitter<DetailedContext>;
195
+ filterPermissionsChanged: EventEmitter<ContextUserPermission[]>;
196
+ titleMapping: {
197
+ ours: string;
198
+ shared: string;
199
+ public: string;
200
+ };
201
+ users: ContextProfils[];
202
+ permissions: ContextUserPermission[];
203
+ actionStore: ActionStore;
204
+ actionbarMode: ActionbarMode;
205
+ color: string;
206
+ showHidden: boolean;
207
+ /**
208
+ * Context filter term
209
+ */
210
+ set term(value: string);
211
+ get term(): string;
212
+ _term: string;
213
+ get sortedAlpha(): boolean;
214
+ set sortedAlpha(value: boolean);
215
+ private _sortedAlpha;
216
+ showContextFilter: ContextListControlsEnum;
217
+ thresholdToFilter: number;
218
+ get isEmpty(): boolean;
219
+ constructor();
220
+ ngOnInit(): void;
221
+ private next;
222
+ private filterContextsList;
223
+ ngOnDestroy(): void;
224
+ showFilter(): boolean;
225
+ sortContextsList(contexts: ContextsList): any;
226
+ normalize(str: string): string;
227
+ toggleSort(): void;
228
+ clearFilter(): void;
229
+ createContext(empty?: boolean): void;
230
+ getPermission(user?: any): ContextUserPermission;
231
+ handleToggleCategory(user: any, parent?: any): void;
232
+ hideContext(context: DetailedContext): void;
233
+ showContext(context: DetailedContext): void;
234
+ onSelect(context: DetailedContext): void;
235
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextListComponent, never>;
236
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContextListComponent, "igo-context-list", never, { "contexts": { "alias": "contexts"; "required": false; }; "selectedContext": { "alias": "selectedContext"; "required": false; }; "map": { "alias": "map"; "required": false; }; "defaultContextId": { "alias": "defaultContextId"; "required": false; }; "term": { "alias": "term"; "required": false; }; }, { "select": "select"; "unselect": "unselect"; "edit": "edit"; "delete": "delete"; "save": "save"; "clone": "clone"; "create": "create"; "hide": "hide"; "show": "show"; "showHiddenContexts": "showHiddenContexts"; "favorite": "favorite"; "managePermissions": "managePermissions"; "manageTools": "manageTools"; "filterPermissionsChanged": "filterPermissionsChanged"; }, never, never, true, never>;
237
+ }
238
+
239
+ declare class ContextListBindingDirective implements OnInit, OnDestroy {
240
+ private contextService;
241
+ private mapService;
242
+ private languageService;
243
+ private confirmDialogService;
244
+ private messageService;
245
+ private auth;
246
+ private storageService;
247
+ private cdRef;
248
+ private component;
249
+ private contexts$$;
250
+ private selectedContext$$;
251
+ private defaultContextId$$;
252
+ private previousMessageId;
253
+ onSelect(context: Context): void;
254
+ onEdit(context: Context): void;
255
+ onSave(context: Context): void;
256
+ onFavorite(context: Context): void;
257
+ onManageTools(context: Context): void;
258
+ onManagePermissions(context: Context): void;
259
+ onDelete(context: Context): void;
260
+ onClone(context: DetailedContext): void;
261
+ onCreate(opts: {
262
+ title: string;
263
+ empty: boolean;
264
+ }): void;
265
+ loadContexts(): void;
266
+ showHiddenContexts(): void;
267
+ onShowContext(context: DetailedContext): void;
268
+ onHideContext(context: DetailedContext): void;
269
+ constructor();
270
+ ngOnInit(): void;
271
+ ngOnDestroy(): void;
272
+ private handleContextsChange;
273
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextListBindingDirective, never>;
274
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ContextListBindingDirective, "[igoContextListBinding]", never, {}, {}, never, never, true, never>;
275
+ }
276
+
277
+ declare class ContextItemComponent {
278
+ auth: AuthService;
279
+ private storageService;
280
+ typePermission: typeof TypePermission;
281
+ color: string;
282
+ collapsed: boolean;
283
+ showFavorite: boolean;
284
+ context: DetailedContext;
285
+ default: boolean;
286
+ selected: boolean;
287
+ edit: EventEmitter<DetailedContext>;
288
+ delete: EventEmitter<DetailedContext>;
289
+ save: EventEmitter<DetailedContext>;
290
+ clone: EventEmitter<DetailedContext>;
291
+ hide: EventEmitter<DetailedContext>;
292
+ show: EventEmitter<DetailedContext>;
293
+ favorite: EventEmitter<DetailedContext>;
294
+ managePermissions: EventEmitter<DetailedContext>;
295
+ manageTools: EventEmitter<DetailedContext>;
296
+ get hidden(): boolean;
297
+ get canShare(): boolean;
298
+ favoriteClick(context: DetailedContext): void;
299
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextItemComponent, never>;
300
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContextItemComponent, "igo-context-item", never, { "showFavorite": { "alias": "showFavorite"; "required": false; }; "context": { "alias": "context"; "required": false; }; "default": { "alias": "default"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "edit": "edit"; "delete": "delete"; "save": "save"; "clone": "clone"; "hide": "hide"; "show": "show"; "favorite": "favorite"; "managePermissions": "managePermissions"; "manageTools": "manageTools"; }, never, never, true, never>;
301
+ }
302
+
303
+ declare class ContextFormComponent implements OnInit {
304
+ private clipboard;
305
+ private formBuilder;
306
+ private messageService;
307
+ form: UntypedFormGroup;
308
+ prefix: string;
309
+ get btnSubmitText(): string;
310
+ set btnSubmitText(value: string);
311
+ private _btnSubmitText;
312
+ get context(): Context;
313
+ set context(value: Context);
314
+ private _context;
315
+ get disabled(): boolean;
316
+ set disabled(value: boolean);
317
+ private _disabled;
318
+ submitForm: EventEmitter<any>;
319
+ clone: EventEmitter<any>;
320
+ delete: EventEmitter<any>;
321
+ ngOnInit(): void;
322
+ handleFormSubmit(value: any): void;
323
+ copyTextToClipboard(): void;
324
+ private buildForm;
325
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextFormComponent, never>;
326
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContextFormComponent, "igo-context-form", never, { "btnSubmitText": { "alias": "btnSubmitText"; "required": false; }; "context": { "alias": "context"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "submitForm": "submitForm"; "clone": "clone"; "delete": "delete"; }, never, never, true, never>;
327
+ }
328
+
329
+ declare class ContextEditComponent {
330
+ private cd;
331
+ get context(): Context;
332
+ set context(value: Context);
333
+ private _context;
334
+ submitForm: EventEmitter<Context>;
335
+ refresh(): void;
336
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextEditComponent, never>;
337
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContextEditComponent, "igo-context-edit", never, { "context": { "alias": "context"; "required": false; }; }, { "submitForm": "submitForm"; }, never, never, true, never>;
338
+ }
339
+
340
+ declare class ContextEditBindingDirective implements OnInit, OnDestroy {
341
+ private contextService;
342
+ private messageService;
343
+ private component;
344
+ private editedContext$$;
345
+ submitSuccessed: EventEmitter<Context>;
346
+ onEdit(context: Context): void;
347
+ constructor();
348
+ ngOnInit(): void;
349
+ ngOnDestroy(): void;
350
+ private handleEditedContextChange;
351
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextEditBindingDirective, never>;
352
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ContextEditBindingDirective, "[igoContextEditBinding]", never, {}, { "submitSuccessed": "submitSuccessed"; }, never, never, true, never>;
353
+ }
354
+
355
+ declare class ContextPermissionsComponent implements OnInit {
356
+ private formBuilder;
357
+ private cd;
358
+ private http;
359
+ authService: AuthService;
360
+ private config;
361
+ form: UntypedFormGroup;
362
+ get context(): Context;
363
+ set context(value: Context);
364
+ private _context;
365
+ get permissions(): ContextPermissionsList;
366
+ set permissions(value: ContextPermissionsList);
367
+ private _permissions;
368
+ get profils(): ContextProfils[];
369
+ set profils(value: ContextProfils[]);
370
+ private _profils;
371
+ get canWrite(): boolean;
372
+ private baseUrlProfils;
373
+ formControl: UntypedFormControl;
374
+ formValueChanges$$: Subscription;
375
+ addPermission: EventEmitter<ContextPermission>;
376
+ removePermission: EventEmitter<ContextPermission>;
377
+ scopeChanged: EventEmitter<Context>;
378
+ ngOnInit(): void;
379
+ displayFn(profil?: ContextProfils): string | undefined;
380
+ handleFormSubmit(value: any): void;
381
+ private buildForm;
382
+ onProfilSelected(value: any): void;
383
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextPermissionsComponent, never>;
384
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContextPermissionsComponent, "igo-context-permissions", never, { "context": { "alias": "context"; "required": false; }; "permissions": { "alias": "permissions"; "required": false; }; }, { "addPermission": "addPermission"; "removePermission": "removePermission"; "scopeChanged": "scopeChanged"; }, never, never, true, never>;
385
+ }
386
+
387
+ declare class ContextPermissionsBindingDirective implements OnInit, OnDestroy {
388
+ private contextService;
389
+ private languageService;
390
+ private messageService;
391
+ private cd;
392
+ private component;
393
+ private editedContext$$;
394
+ onAddPermission(permission: ContextPermission): void;
395
+ onRemovePermission(permission: ContextPermission): void;
396
+ onScopeChanged(context: Context): void;
397
+ constructor();
398
+ ngOnInit(): void;
399
+ ngOnDestroy(): void;
400
+ private handleEditedContextChange;
401
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextPermissionsBindingDirective, never>;
402
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ContextPermissionsBindingDirective, "[igoContextPermissionsBinding]", never, {}, {}, never, never, true, never>;
403
+ }
404
+
405
+ declare class LayerContextDirective implements OnInit, OnDestroy {
406
+ private component;
407
+ private contextService;
408
+ private layerService;
409
+ private configService;
410
+ private styleListService;
411
+ private styleService;
412
+ private shareMapService;
413
+ private context$$;
414
+ private queryParams;
415
+ private contextLayers;
416
+ removeLayersOnContextChange: boolean;
417
+ contextLayersLoaded: EventEmitter<boolean>;
418
+ get map(): IgoMap;
419
+ ngOnInit(): void;
420
+ ngOnDestroy(): void;
421
+ private handleContextChange;
422
+ private handleAddLayers;
423
+ private computeLayerVisibilityFromUrl;
424
+ private handleContextWithSharedUrl;
425
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayerContextDirective, never>;
426
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LayerContextDirective, "[igoLayerContext]", never, { "removeLayersOnContextChange": { "alias": "removeLayersOnContextChange"; "required": false; }; }, { "contextLayersLoaded": "contextLayersLoaded"; }, never, never, true, never>;
427
+ }
428
+
429
+ declare class MapContextDirective implements OnInit, OnDestroy {
430
+ private contextService;
431
+ private mediaService;
432
+ private shareMapService;
433
+ private component;
434
+ private context$$;
435
+ get map(): IgoMap;
436
+ private queryParams;
437
+ constructor();
438
+ ngOnInit(): void;
439
+ ngOnDestroy(): void;
440
+ private handleContextChange;
441
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapContextDirective, never>;
442
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MapContextDirective, "[igoMapContext]", never, {}, {}, never, never, true, never>;
443
+ }
444
+
445
+ /**
446
+ * @deprecated import the components/directives directly or CONTEXT_MANAGER_DIRECTIVES for the set
447
+ */
448
+ declare class IgoContextManagerModule {
449
+ static forRoot(): ModuleWithProviders<IgoContextManagerModule>;
450
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgoContextManagerModule, never>;
451
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoContextManagerModule, never, [typeof ContextListComponent, typeof ContextListBindingDirective, typeof ContextItemComponent, typeof ContextFormComponent, typeof ContextEditComponent, typeof ContextEditBindingDirective, typeof ContextPermissionsComponent, typeof ContextPermissionsBindingDirective, typeof LayerContextDirective, typeof MapContextDirective], [typeof ContextListComponent, typeof ContextListBindingDirective, typeof ContextItemComponent, typeof ContextFormComponent, typeof ContextEditComponent, typeof ContextEditBindingDirective, typeof ContextPermissionsComponent, typeof ContextPermissionsBindingDirective, typeof LayerContextDirective, typeof MapContextDirective]>;
452
+ static ɵinj: i0.ɵɵInjectorDeclaration<IgoContextManagerModule>;
453
+ }
454
+
455
+ declare class BookmarkButtonComponent {
456
+ private dialog;
457
+ private contextService;
458
+ private messageService;
459
+ get map(): IgoMap;
460
+ set map(value: IgoMap);
461
+ private _map;
462
+ get color(): string;
463
+ set color(value: string);
464
+ private _color;
465
+ createContext(): void;
466
+ static ɵfac: i0.ɵɵFactoryDeclaration<BookmarkButtonComponent, never>;
467
+ static ɵcmp: i0.ɵɵComponentDeclaration<BookmarkButtonComponent, "igo-bookmark-button", never, { "map": { "alias": "map"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
468
+ }
469
+
470
+ declare class BookmarkDialogComponent {
471
+ dialogRef: MatDialogRef<BookmarkDialogComponent, any>;
472
+ title: string;
473
+ static ɵfac: i0.ɵɵFactoryDeclaration<BookmarkDialogComponent, never>;
474
+ static ɵcmp: i0.ɵɵComponentDeclaration<BookmarkDialogComponent, "igo-bookmark-dialog", never, {}, {}, never, never, true, never>;
475
+ }
476
+
477
+ interface Poi {
478
+ id?: string;
479
+ title: string;
480
+ x: number;
481
+ y: number;
482
+ zoom: number;
483
+ }
484
+
485
+ declare class PoiButtonComponent implements OnInit, OnDestroy {
486
+ private dialog;
487
+ private authService;
488
+ private poiService;
489
+ private messageService;
490
+ private languageService;
491
+ private confirmDialogService;
492
+ get map(): IgoMap;
493
+ set map(value: IgoMap);
494
+ private _map;
495
+ get color(): string;
496
+ set color(value: string);
497
+ private _color;
498
+ pois: Poi[];
499
+ private authenticate$$;
500
+ ngOnInit(): void;
501
+ ngOnDestroy(): void;
502
+ deletePoi(poi: Poi): void;
503
+ private getPois;
504
+ createPoi(): void;
505
+ zoomOnPoi(id: any): void;
506
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoiButtonComponent, never>;
507
+ static ɵcmp: i0.ɵɵComponentDeclaration<PoiButtonComponent, "igo-poi-button", never, { "map": { "alias": "map"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
508
+ }
509
+
510
+ declare class UserButtonComponent {
511
+ private dialog;
512
+ private config;
513
+ auth: AuthService;
514
+ get map(): IgoMap;
515
+ set map(value: IgoMap);
516
+ private _map;
517
+ get color(): string;
518
+ set color(value: string);
519
+ private _color;
520
+ expand: boolean;
521
+ visible: boolean;
522
+ hasApi: boolean;
523
+ constructor();
524
+ accountClick(): void;
525
+ logout(): void;
526
+ infoUser(): void;
527
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserButtonComponent, never>;
528
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserButtonComponent, "igo-user-button", never, { "map": { "alias": "map"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
529
+ }
530
+
531
+ /**
532
+ * @deprecated import the components/directives directly or CONTEXT_MAP_BUTTON_DIRECTIVES for the set
533
+ */
534
+ declare class IgoContextMapButtonModule {
535
+ static forRoot(): ModuleWithProviders<IgoContextMapButtonModule>;
536
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgoContextMapButtonModule, never>;
537
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoContextMapButtonModule, never, [typeof BookmarkButtonComponent, typeof BookmarkDialogComponent, typeof PoiButtonComponent, typeof UserButtonComponent], [typeof BookmarkButtonComponent, typeof PoiButtonComponent, typeof UserButtonComponent, typeof BookmarkDialogComponent]>;
538
+ static ɵinj: i0.ɵɵInjectorDeclaration<IgoContextMapButtonModule>;
539
+ }
540
+
541
+ declare class ShareMapApiComponent implements OnInit {
542
+ private clipboard;
543
+ private languageService;
544
+ private messageService;
545
+ private auth;
546
+ private shareMapService;
547
+ private formBuilder;
548
+ private contextService;
549
+ form: UntypedFormGroup;
550
+ map: IgoMap;
551
+ url: string;
552
+ userId: string;
553
+ idContextShared: string;
554
+ ngOnInit(): void;
555
+ createUrl(values?: any): void;
556
+ updateContextShared(values?: any): void;
557
+ copyTextToClipboard(textArea: HTMLTextAreaElement): void;
558
+ buildForm(): void;
559
+ private createContextShared;
560
+ private _updateContextShared;
561
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShareMapApiComponent, never>;
562
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShareMapApiComponent, "igo-share-map-api", never, { "map": { "alias": "map"; "required": false; }; }, {}, never, never, true, never>;
563
+ }
564
+
565
+ declare class ShareMapUrlComponent implements OnInit, OnDestroy {
566
+ private clipboard;
567
+ private messageService;
568
+ private shareMapService;
569
+ private contextService;
570
+ private cdRef;
571
+ private route;
572
+ private mapState$$;
573
+ map: IgoMap;
574
+ url: string;
575
+ private publicShareOption;
576
+ private language;
577
+ constructor();
578
+ ngOnInit(): void;
579
+ ngOnDestroy(): void;
580
+ generateUrl(): void;
581
+ copyTextToClipboard(textArea: HTMLTextAreaElement): void;
582
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShareMapUrlComponent, never>;
583
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShareMapUrlComponent, "igo-share-map-url", never, { "map": { "alias": "map"; "required": false; }; }, {}, never, never, true, never>;
584
+ }
585
+
586
+ declare class ShareMapComponent {
587
+ private config;
588
+ map: IgoMap;
589
+ hasApi: boolean;
590
+ constructor();
591
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShareMapComponent, never>;
592
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShareMapComponent, "igo-share-map", never, { "map": { "alias": "map"; "required": false; }; }, {}, never, never, true, never>;
593
+ }
594
+
595
+ declare const SHARE_MAP_DIRECTIVES: readonly [typeof ShareMapComponent, typeof ShareMapUrlComponent, typeof ShareMapApiComponent];
596
+ /**
597
+ * @deprecated import the components/directives directly or SHARE_MAP_DIRECTIVES for the set
598
+ */
599
+ declare class IgoShareMapModule {
600
+ static forRoot(): ModuleWithProviders<IgoShareMapModule>;
601
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgoShareMapModule, never>;
602
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoShareMapModule, never, [typeof ShareMapComponent, typeof ShareMapUrlComponent, typeof ShareMapApiComponent], [typeof ShareMapComponent, typeof ShareMapUrlComponent, typeof ShareMapApiComponent]>;
603
+ static ɵinj: i0.ɵɵInjectorDeclaration<IgoShareMapModule>;
604
+ }
605
+
606
+ declare class SidenavComponent {
607
+ titleService: Title;
608
+ private format;
609
+ get map(): IgoMap;
610
+ set map(value: IgoMap);
611
+ private _map;
612
+ get opened(): boolean;
613
+ set opened(value: boolean);
614
+ private _opened;
615
+ get feature(): Feature;
616
+ set feature(value: Feature);
617
+ private _feature;
618
+ get tool(): Tool;
619
+ set tool(value: Tool);
620
+ private _tool;
621
+ get media(): Media;
622
+ set media(value: Media);
623
+ private _media;
624
+ get title(): string;
625
+ set title(value: string);
626
+ private _title;
627
+ topPanelState: FlexibleState;
628
+ get featureTitle(): string;
629
+ constructor();
630
+ zoomToFeatureExtent(): void;
631
+ toggleTopPanel(): void;
632
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidenavComponent, never>;
633
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidenavComponent, "igo-sidenav", never, { "map": { "alias": "map"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; "feature": { "alias": "feature"; "required": false; }; "tool": { "alias": "tool"; "required": false; }; "media": { "alias": "media"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
634
+ }
635
+
636
+ /**
637
+ * @deprecated import the SidenavComponent directly
638
+ */
639
+ declare class IgoSidenavModule {
640
+ static forRoot(): ModuleWithProviders<IgoSidenavModule>;
641
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgoSidenavModule, never>;
642
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoSidenavModule, never, [typeof SidenavComponent], [typeof SidenavComponent]>;
643
+ static ɵinj: i0.ɵɵInjectorDeclaration<IgoSidenavModule>;
644
+ }
645
+
646
+ /**
647
+ * @deprecated import the components/directives directly or SHARE_MAP_DIRECTIVES for the set
648
+ */
649
+ declare class IgoContextModule {
650
+ static forRoot(): ModuleWithProviders<IgoContextModule>;
651
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgoContextModule, never>;
652
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoContextModule, never, never, [typeof IgoContextImportExportModule, typeof IgoContextManagerModule, typeof IgoContextMapButtonModule, typeof IgoShareMapModule, typeof IgoSidenavModule]>;
653
+ static ɵinj: i0.ɵɵInjectorDeclaration<IgoContextModule>;
654
+ }
655
+
656
+ declare class ExportError extends Error {
657
+ }
658
+ declare class ExportInvalidFileError extends ExportError {
659
+ constructor();
660
+ }
661
+ declare class ExportNothingToExportError extends ExportError {
662
+ constructor();
663
+ }
664
+
665
+ declare class ImportError extends Error {
666
+ }
667
+ declare class ImportInvalidFileError extends ImportError {
668
+ constructor();
669
+ }
670
+ declare class ImportUnreadableFileError extends ImportError {
671
+ constructor();
672
+ }
673
+ declare class ImportNothingToImportError extends ImportError {
674
+ constructor();
675
+ }
676
+ declare class ImportSizeError extends ImportError {
677
+ constructor();
678
+ }
679
+ declare class ImportSRSError extends ImportError {
680
+ constructor();
681
+ }
682
+
683
+ declare class ContextExportService {
684
+ export(res: DetailedContext): Observable<void>;
685
+ protected exportAsync(res: DetailedContext): Observable<void>;
686
+ protected nothingToExport(res: DetailedContext): boolean;
687
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextExportService, never>;
688
+ static ɵprov: i0.ɵɵInjectableDeclaration<ContextExportService>;
689
+ }
690
+
691
+ declare class ContextImportService {
692
+ private config;
693
+ static allowedMimeTypes: string[];
694
+ static allowedExtensions: string;
695
+ private clientSideFileSizeMax;
696
+ constructor();
697
+ import(file: File): Observable<DetailedContext>;
698
+ private getFileImporter;
699
+ private importAsync;
700
+ private importFile;
701
+ private parseContextFromFile;
702
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextImportService, never>;
703
+ static ɵprov: i0.ɵɵInjectableDeclaration<ContextImportService>;
704
+ }
705
+
706
+ interface ContextExportOptions {
707
+ layer: AnyLayer[];
708
+ name: string;
709
+ }
710
+
711
+ declare class ContextService {
712
+ private http;
713
+ private authService;
714
+ private languageService;
715
+ private config;
716
+ private messageService;
717
+ private storageService;
718
+ private exportService;
719
+ private shareMapService;
720
+ private route;
721
+ context$: BehaviorSubject<DetailedContext>;
722
+ contexts$: BehaviorSubject<ContextsList>;
723
+ defaultContextId$: BehaviorSubject<string>;
724
+ editedContext$: BehaviorSubject<DetailedContext>;
725
+ importedContext: DetailedContext[];
726
+ toolsChanged$: Subject<DetailedContext>;
727
+ private mapViewFromRoute;
728
+ private options;
729
+ private baseUrl;
730
+ private tools;
731
+ private toolbar;
732
+ get defaultContextUri(): string;
733
+ set defaultContextUri(uri: string);
734
+ private _defaultContextUri;
735
+ constructor();
736
+ get(permissions?: string[], hidden?: boolean): Observable<ContextsList>;
737
+ getById(id: string): Observable<Context>;
738
+ getDetails(id: string): Observable<DetailedContext>;
739
+ getDefault(): Observable<DetailedContext>;
740
+ getProfilByUser(): Observable<ContextProfils[]>;
741
+ setDefault(id: string): Observable<any>;
742
+ hideContext(id: string): Observable<Object>;
743
+ showContext(id: string): Observable<Object>;
744
+ delete(id: string, imported?: boolean): Observable<void>;
745
+ create(context: DetailedContext): Observable<Context>;
746
+ clone(id: string, properties?: {}): Observable<Context>;
747
+ update(id: string, context: DetailedContext): Observable<Context>;
748
+ addToolAssociation(contextId: string, toolId: string): Observable<void>;
749
+ deleteToolAssociation(contextId: string, toolId: string): Observable<any>;
750
+ getPermissions(id: string): Observable<ContextPermission[]>;
751
+ addPermissionAssociation(contextId: string, profil: string, type: TypePermission): Observable<ContextPermission[]>;
752
+ deletePermissionAssociation(contextId: string, permissionId: string): Observable<void>;
753
+ getLocalContexts(): Observable<ContextsList>;
754
+ getLocalContext(uri: string): Observable<DetailedContext>;
755
+ loadContexts(permissions?: string[], hidden?: boolean): void;
756
+ loadDefaultContext(): void;
757
+ loadContext(uri: string): void;
758
+ setContext(context: DetailedContext): void;
759
+ loadEditedContext(uri: string): void;
760
+ setEditedContext(context: DetailedContext): void;
761
+ getContextFromMap(igoMap: IgoMap, empty?: boolean): DetailedContext;
762
+ getContextFromLayers(igoMap: IgoMap, layers: AnyLayer[], name: string, keepCurrentView?: boolean): DetailedContext;
763
+ private getExtraFeatures;
764
+ setTools(tools: Tool[]): void;
765
+ setToolbar(toolbar: string[]): void;
766
+ private handleContextMessage;
767
+ private getContextByUri;
768
+ getContextLayers(map: IgoMap): readonly AnyLayer[];
769
+ private getPath;
770
+ private handleError;
771
+ private handleContextsChange;
772
+ private addContextToList;
773
+ private findContext;
774
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextService, never>;
775
+ static ɵprov: i0.ɵɵInjectableDeclaration<ContextService>;
776
+ }
777
+
778
+ declare function handleFileImportSuccess(file: File, context: DetailedContext, messageService: MessageService, contextService: ContextService): void;
779
+ declare function handleFileImportError(file: File, error: Error, messageService: MessageService, sizeMb?: number): void;
780
+ declare function handleInvalidFileImportError(file: File, error: Error, messageService: MessageService): void;
781
+ declare function handleSizeFileImportError(file: File, error: Error, messageService: MessageService, sizeMb: number): void;
782
+ declare function handleUnreadbleFileImportError(file: File, error: Error, messageService: MessageService): void;
783
+ declare function handleNothingToImportError(file: File, messageService: MessageService): void;
784
+ declare function addContextToContextList(context: DetailedContext, contextTitle: string, contextService: ContextService): void;
785
+ declare function getFileExtension(file: File): string;
786
+ declare function computeLayerTitleFromFile(file: File): string;
787
+ declare function addImportedFeaturesToMap(extraFeatures: ExtraFeatures, map: IgoMap): VectorLayer;
788
+ declare function addImportedFeaturesStyledToMap(extraFeatures: ExtraFeatures, map: IgoMap, styleListService: StyleListService, styleService: StyleService): VectorLayer;
789
+
790
+ declare function handleFileExportError(error: Error, messageService: MessageService): void;
791
+ declare function handleFileExportSuccess(messageService: MessageService): void;
792
+ declare function handleNothingToExportError(messageService: MessageService): void;
793
+
794
+ declare const CONTEXT_MANAGER_DIRECTIVES: readonly [typeof ContextListComponent, typeof ContextListBindingDirective, typeof ContextItemComponent, typeof ContextFormComponent, typeof ContextEditComponent, typeof ContextEditBindingDirective, typeof ContextPermissionsComponent, typeof ContextPermissionsBindingDirective, typeof MapContextDirective, typeof LayerContextDirective];
795
+
796
+ declare class PoiDialogComponent {
797
+ dialogRef: MatDialogRef<PoiDialogComponent, any>;
798
+ title: string;
799
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoiDialogComponent, never>;
800
+ static ɵcmp: i0.ɵɵComponentDeclaration<PoiDialogComponent, "igo-poi-dialog", never, {}, {}, never, never, true, never>;
801
+ }
802
+
803
+ declare class PoiService {
804
+ private http;
805
+ private config;
806
+ private baseUrl;
807
+ constructor();
808
+ get(): Observable<Poi[]>;
809
+ delete(id: string): Observable<void>;
810
+ create(context: Poi): Observable<Poi>;
811
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoiService, never>;
812
+ static ɵprov: i0.ɵɵInjectableDeclaration<PoiService>;
813
+ }
814
+
815
+ declare class UserDialogComponent {
816
+ dialogRef: MatDialogRef<UserDialogComponent, any>;
817
+ private auth;
818
+ private storageService;
819
+ user: any;
820
+ exp: any;
821
+ constructor();
822
+ clearPreferences(): void;
823
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserDialogComponent, never>;
824
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserDialogComponent, "igo-user-dialog", never, {}, {}, never, never, true, never>;
825
+ }
826
+
827
+ declare const CONTEXT_MAP_BUTTON_DIRECTIVES: readonly [typeof BookmarkButtonComponent, typeof BookmarkDialogComponent, typeof PoiButtonComponent, typeof UserButtonComponent];
828
+
829
+ interface EnvironmentOptions {
830
+ auth?: AuthOptions;
831
+ context?: ContextServiceOptions;
832
+ favoriteContext4NonAuthenticated?: boolean;
833
+ importExport?: ImportExportServiceOptions;
834
+ }
835
+
836
+ declare const ServiceType: readonly ["wms", "wmts", "arcgisrest", "imagearcgisrest", "tilearcgisrest"];
837
+ type ServiceType = (typeof ServiceType)[number];
838
+ declare enum ServiceTypeEnum {
839
+ wms = 0,
840
+ wmts = 1,
841
+ arcgisrest = 2,
842
+ imagearcgisrest = 3,
843
+ tilearcgisrest = 4
844
+ }
845
+ interface ShareOption {
846
+ layerlistControls: {
847
+ querystring: string;
848
+ };
849
+ }
850
+ declare const LayerParamsKeys: readonly ["index", "names", "type", "version", "queryString", "visible", "opacity", "zIndex", "parentId"];
851
+ type LayerParamsKeys = (typeof LayerParamsKeys)[number];
852
+ declare const GroupParamsKeys: readonly ["title", "id", "expanded", "visible", "opacity", "zIndex", "parentId"];
853
+ type GroupParamsKeys = (typeof GroupParamsKeys)[number];
854
+ declare const PositionParamsKeys: readonly ["center", "zoom", "rotation", "projection"];
855
+ type PositionParamsKeys = (typeof PositionParamsKeys)[number];
856
+ interface ShareMapKeysDefinitions {
857
+ urlsKey: string;
858
+ contextKey: string;
859
+ languageKey: string;
860
+ pos: DefinitionKeyParams<PositionParamsKeys>;
861
+ layers: DefinitionKeyParams<LayerParamsKeys>;
862
+ groups: DefinitionKeyParams<GroupParamsKeys>;
863
+ }
864
+ interface DefinitionKeyParams<T extends string> extends BaseKeyParams {
865
+ params: DefinitionParams<T>;
866
+ }
867
+ type DefinitionParams<T extends string = string> = Record<T, BaseKeyParams | undefined>;
868
+ interface BaseKeyParams {
869
+ key: string;
870
+ parse?: (value: string) => unknown;
871
+ stringify?: (value: unknown) => string;
872
+ }
873
+ interface PositionParams {
874
+ center?: [number, number];
875
+ zoom?: number;
876
+ rotation?: number;
877
+ projection?: string;
878
+ }
879
+ interface LayerProperties {
880
+ zIndex: number;
881
+ visibility: boolean;
882
+ type: ServiceType;
883
+ opacity: number;
884
+ parentId: string;
885
+ }
886
+ interface UrlParsedParam {
887
+ position: PositionParams;
888
+ layersOptions: LayerOptions[];
889
+ context: string;
890
+ }
891
+ type LayerParams = BaseLayerParams & {
892
+ index: number;
893
+ names: string;
894
+ type: string;
895
+ queryString?: string;
896
+ };
897
+ type GroupParams = BaseLayerParams & Pick<LayerGroupOptions, 'title' | 'id'> & {
898
+ expanded?: boolean;
899
+ };
900
+ type BaseLayerParams = Pick<LayerOptions, 'visible' | 'opacity' | 'zIndex' | 'parentId'>;
901
+ interface ShareMapRouteKeysOptions extends RouteServiceOptions {
902
+ context: string;
903
+ urls: string;
904
+ position: string;
905
+ layers: string;
906
+ groups: string;
907
+ center: string;
908
+ zoom: string;
909
+ projection: string;
910
+ rotation: string;
911
+ opacity: string;
912
+ }
913
+ declare const SHARE_MAP_KEYS_DEFAULT_OPTIONS: ShareMapRouteKeysOptions;
914
+
915
+ declare class ShareMapEncoder {
916
+ private SHARE_MAP_DEFS;
917
+ private document;
918
+ private context;
919
+ constructor(SHARE_MAP_DEFS: ShareMapKeysDefinitions, document: Document);
920
+ generateUrl(map: IgoMap, context: DetailedContext, publicShareOption: ShareOption, language: string | undefined): string;
921
+ /**
922
+ * Replaces local group IDs with unique IDs to avoid conflicts and have short URL.
923
+ * This is necessary for sharing the map context.
924
+ */
925
+ private replaceGroupLocalIds;
926
+ private getUniqueId;
927
+ private getCurrentContext;
928
+ /**
929
+ * Filters layers to include only LayerGroups or LayerItems with a valid ServiceType.
930
+ */
931
+ private isLayerSharable;
932
+ /**
933
+ * Extracts only LayerGroup items from the filtered layers.
934
+ */
935
+ private getLayerGroups;
936
+ /**
937
+ * Extracts only LayerItem items from the filtered layers.
938
+ */
939
+ private getLayerItems;
940
+ private buildQueryUrl;
941
+ /**
942
+ * Retrieves the current context layers and maps them by identifier.
943
+ */
944
+ private getContextLayersMap;
945
+ /**
946
+ * Filters layers and context layers based on visibility, opacity, and expanded state.
947
+ */
948
+ private getFilteredMapLayers;
949
+ private getIdsNestedParent;
950
+ private generateLayersOptionsByService;
951
+ private generateLayerOption;
952
+ private getLayerNames;
953
+ private getWmsVersion;
954
+ private concatUrlWithVersion;
955
+ private getLayerParams;
956
+ private getOpacity;
957
+ private getVisibility;
958
+ private getQueryString;
959
+ private buildLayersQueryUrl;
960
+ private stringifyLayerParams;
961
+ private getBaseUrlConfig;
962
+ private sanitizeBaseUrl;
963
+ private extractKeys;
964
+ private getPosition;
965
+ private getProjection;
966
+ private getZoom;
967
+ private getRotation;
968
+ private stringifyPosition;
969
+ private stringifyDefinitions;
970
+ private buildGroupsQueryUrl;
971
+ private getLayerGroupParams;
972
+ private stringifyGroupParams;
973
+ }
974
+
975
+ declare class ShareMapLegacyParser {
976
+ private options;
977
+ constructor(options: RouteServiceOptions);
978
+ parseUrl(params: Params): LayerOptions[] | undefined;
979
+ parsePosition(params: Params): PositionParams;
980
+ private readLayersQueryParamsByType;
981
+ private getQueryKeyByType;
982
+ private sanitizeUrl;
983
+ private getQueryParam;
984
+ private extractLayersByService;
985
+ private removeParenthesis;
986
+ private extractLayersOptions;
987
+ private computeLayerVisibilityFromUrl;
988
+ }
989
+
990
+ declare class ShareMapParser {
991
+ private keysDefinitions;
992
+ private legacyOptions;
993
+ legacy: ShareMapLegacyParser;
994
+ constructor(keysDefinitions: ShareMapKeysDefinitions, legacyOptions: RouteServiceOptions);
995
+ parseLayers(params: Params): AnyLayerOptions[] | undefined;
996
+ private splitParam;
997
+ parsePosition(params: Params): PositionParams | undefined;
998
+ private parseLayer;
999
+ private parseGroup;
1000
+ private extractVersionFromUrl;
1001
+ private extractUrlIndex;
1002
+ private extractLayerNames;
1003
+ private extractLayerProperties;
1004
+ }
1005
+
1006
+ declare class ShareMapService {
1007
+ routeService: RouteService;
1008
+ document: Document;
1009
+ private language;
1010
+ options: ShareMapRouteKeysOptions;
1011
+ optionsLegacy: RouteServiceOptions;
1012
+ keysDefinitions: ShareMapKeysDefinitions;
1013
+ encoder: ShareMapEncoder;
1014
+ parser: ShareMapParser;
1015
+ constructor();
1016
+ getContext(params: Params): string | undefined;
1017
+ getZoom(params: Params): number | undefined;
1018
+ getUrlWithApi(formValues: any): string;
1019
+ hasPositionParams(params: Params): boolean;
1020
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShareMapService, never>;
1021
+ static ɵprov: i0.ɵɵInjectableDeclaration<ShareMapService>;
1022
+ }
1023
+
1024
+ declare function buildDataSourceOptions(type: ServiceType, url: string, layers: string[], version: string): AnyDataSourceOptions;
1025
+ declare function getFlattenOptions(options: AnyLayerOptions[]): AnyLayerOptions[];
1026
+ /**
1027
+ * Checks if the provided query parameters contain legacy parameter pairs
1028
+ * (e.g., layers and URLs) that indicate older configuration formats.
1029
+ */
1030
+ declare function hasLegacyParams(params: Params, optionsLegacy: RouteServiceOptions): boolean;
1031
+ declare function hasModernShareParams(params: Params, keysDefinitions: ShareMapKeysDefinitions): boolean;
1032
+ declare function getParamValue(params: Params, key: string): string | undefined;
1033
+
1034
+ export { BookmarkButtonComponent, BookmarkDialogComponent, CONTEXT_MANAGER_DIRECTIVES, CONTEXT_MAP_BUTTON_DIRECTIVES, ContextEditBindingDirective, ContextEditComponent, ContextExportService, ContextFormComponent, ContextImportExportComponent, ContextImportService, ContextItemComponent, ContextListBindingDirective, ContextListComponent, ContextPermissionsBindingDirective, ContextPermissionsComponent, ContextService, ExportError, ExportInvalidFileError, ExportNothingToExportError, GroupParamsKeys, IgoContextImportExportModule, IgoContextManagerModule, IgoContextMapButtonModule, IgoContextModule, IgoShareMapModule, IgoSidenavModule, ImportError, ImportInvalidFileError, ImportNothingToImportError, ImportSRSError, ImportSizeError, ImportUnreadableFileError, LayerContextDirective, LayerParamsKeys, MapContextDirective, PoiButtonComponent, PoiDialogComponent, PoiService, SHARE_MAP_DIRECTIVES, SHARE_MAP_KEYS_DEFAULT_OPTIONS, Scope, ServiceType, ServiceTypeEnum, ShareMapApiComponent, ShareMapComponent, ShareMapLegacyParser, ShareMapService, ShareMapUrlComponent, SidenavComponent, TypePermission, UserButtonComponent, UserDialogComponent, addContextToContextList, addImportedFeaturesStyledToMap, addImportedFeaturesToMap, buildDataSourceOptions, computeLayerTitleFromFile, getFileExtension, getFlattenOptions, getParamValue, handleFileExportError, handleFileExportSuccess, handleFileImportError, handleFileImportSuccess, handleInvalidFileImportError, handleNothingToExportError, handleNothingToImportError, handleSizeFileImportError, handleUnreadbleFileImportError, hasLegacyParams, hasModernShareParams };
1035
+ export type { BaseKeyParams, Context, ContextExportOptions, ContextHomeExtent, ContextMap, ContextMapView, ContextPermission, ContextPermissionsList, ContextProfils, ContextServiceOptions, ContextUserPermission, ContextsList, DefinitionKeyParams, DefinitionParams, DetailedContext, EnvironmentOptions, ExtraFeatures, GroupParams, LayerParams, LayerProperties, Poi, PositionParams, ShareMapKeysDefinitions, ShareMapRouteKeysOptions, ShareOption, UrlParsedParam };