@igo2/context 1.13.0-alpha.1 → 1.13.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 (72) hide show
  1. package/esm2020/lib/context-import-export/context-import-export/context-import-export.component.mjs +4 -4
  2. package/esm2020/lib/context-import-export/context-import-export.module.mjs +1 -1
  3. package/esm2020/lib/context-import-export/index.mjs +1 -1
  4. package/esm2020/lib/context-import-export/shared/context-export.errors.mjs +1 -1
  5. package/esm2020/lib/context-import-export/shared/context-export.interface.mjs +1 -1
  6. package/esm2020/lib/context-import-export/shared/context-export.service.mjs +1 -1
  7. package/esm2020/lib/context-import-export/shared/context-export.utils.mjs +1 -1
  8. package/esm2020/lib/context-import-export/shared/context-import.errors.mjs +1 -1
  9. package/esm2020/lib/context-import-export/shared/context-import.service.mjs +1 -1
  10. package/esm2020/lib/context-import-export/shared/context-import.utils.mjs +1 -1
  11. package/esm2020/lib/context-import-export/shared/index.mjs +1 -1
  12. package/esm2020/lib/context-manager/context-edit/context-edit-binding.directive.mjs +1 -1
  13. package/esm2020/lib/context-manager/context-edit/context-edit.component.mjs +2 -2
  14. package/esm2020/lib/context-manager/context-edit/index.mjs +1 -1
  15. package/esm2020/lib/context-manager/context-form/context-form.component.mjs +4 -4
  16. package/esm2020/lib/context-manager/context-form/index.mjs +1 -1
  17. package/esm2020/lib/context-manager/context-item/context-item.component.mjs +2 -2
  18. package/esm2020/lib/context-manager/context-item/index.mjs +1 -1
  19. package/esm2020/lib/context-manager/context-list/context-list-binding.directive.mjs +1 -1
  20. package/esm2020/lib/context-manager/context-list/context-list.component.mjs +2 -2
  21. package/esm2020/lib/context-manager/context-list/context-list.enum.mjs +1 -1
  22. package/esm2020/lib/context-manager/context-list/index.mjs +1 -1
  23. package/esm2020/lib/context-manager/context-manager.module.mjs +1 -1
  24. package/esm2020/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +1 -1
  25. package/esm2020/lib/context-manager/context-permissions/context-permissions.component.mjs +6 -6
  26. package/esm2020/lib/context-manager/context-permissions/index.mjs +1 -1
  27. package/esm2020/lib/context-manager/index.mjs +1 -1
  28. package/esm2020/lib/context-manager/shared/context.enum.mjs +1 -1
  29. package/esm2020/lib/context-manager/shared/context.interface.mjs +1 -1
  30. package/esm2020/lib/context-manager/shared/context.service.mjs +5 -8
  31. package/esm2020/lib/context-manager/shared/index.mjs +1 -1
  32. package/esm2020/lib/context-manager/shared/layer-context.directive.mjs +1 -1
  33. package/esm2020/lib/context-manager/shared/map-context.directive.mjs +1 -1
  34. package/esm2020/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +2 -2
  35. package/esm2020/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +2 -2
  36. package/esm2020/lib/context-map-button/bookmark-button/index.mjs +1 -1
  37. package/esm2020/lib/context-map-button/context-map-button.module.mjs +1 -1
  38. package/esm2020/lib/context-map-button/index.mjs +1 -1
  39. package/esm2020/lib/context-map-button/poi-button/index.mjs +1 -1
  40. package/esm2020/lib/context-map-button/poi-button/poi-button.component.mjs +3 -3
  41. package/esm2020/lib/context-map-button/poi-button/poi-dialog.component.mjs +2 -2
  42. package/esm2020/lib/context-map-button/poi-button/shared/index.mjs +1 -1
  43. package/esm2020/lib/context-map-button/poi-button/shared/poi.interface.mjs +1 -1
  44. package/esm2020/lib/context-map-button/poi-button/shared/poi.service.mjs +1 -1
  45. package/esm2020/lib/context-map-button/user-button/index.mjs +1 -1
  46. package/esm2020/lib/context-map-button/user-button/user-button.animation.mjs +1 -1
  47. package/esm2020/lib/context-map-button/user-button/user-button.component.mjs +2 -2
  48. package/esm2020/lib/context-map-button/user-button/user-dialog.component.mjs +2 -2
  49. package/esm2020/lib/context.module.mjs +1 -1
  50. package/esm2020/lib/share-map/index.mjs +1 -1
  51. package/esm2020/lib/share-map/share-map/share-map-api.component.mjs +4 -4
  52. package/esm2020/lib/share-map/share-map/share-map-url.component.mjs +89 -73
  53. package/esm2020/lib/share-map/share-map/share-map.component.mjs +2 -2
  54. package/esm2020/lib/share-map/share-map.module.mjs +8 -4
  55. package/esm2020/lib/share-map/shared/index.mjs +1 -1
  56. package/esm2020/lib/share-map/shared/share-map.service.mjs +1 -1
  57. package/esm2020/lib/sidenav/index.mjs +1 -1
  58. package/esm2020/lib/sidenav/sidenav.component.mjs +2 -2
  59. package/esm2020/lib/sidenav/sidenav.module.mjs +1 -1
  60. package/esm2020/public_api.mjs +1 -1
  61. package/fesm2015/igo2-context.mjs +145 -124
  62. package/fesm2015/igo2-context.mjs.map +1 -1
  63. package/fesm2020/igo2-context.mjs +139 -124
  64. package/fesm2020/igo2-context.mjs.map +1 -1
  65. package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +3 -3
  66. package/lib/context-manager/context-form/context-form.component.d.ts +3 -3
  67. package/lib/context-manager/context-permissions/context-permissions.component.d.ts +4 -4
  68. package/lib/share-map/share-map/share-map-api.component.d.ts +3 -3
  69. package/lib/share-map/share-map/share-map-url.component.d.ts +2 -3
  70. package/lib/share-map/share-map.module.d.ts +2 -1
  71. package/ngcc.config.js +3 -3
  72. package/package.json +15 -15
@@ -22,12 +22,12 @@ import * as i12$1 from '@angular/material/checkbox';
22
22
  import { MatCheckboxModule } from '@angular/material/checkbox';
23
23
  import * as i3$1 from '@angular/material/tabs';
24
24
  import { MatTabsModule } from '@angular/material/tabs';
25
- import * as i6$1 from '@angular/material/tooltip';
25
+ import * as i6 from '@angular/material/tooltip';
26
26
  import { MatTooltipModule } from '@angular/material/tooltip';
27
27
  import * as i3 from '@igo2/core';
28
28
  import { IgoLanguageModule } from '@igo2/core';
29
29
  import * as i1$1 from '@angular/forms';
30
- import { Validators, FormsModule, ReactiveFormsModule, FormControl } from '@angular/forms';
30
+ import { Validators, FormsModule, ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
31
31
  import { Observable, BehaviorSubject, Subject, of, merge, ReplaySubject, EMPTY, timer, combineLatest } from 'rxjs';
32
32
  import { skip, first, catchError, tap, map, mergeMap, debounceTime, take, filter, buffer, debounce } from 'rxjs/operators';
33
33
  import * as olStyle from 'ol/style';
@@ -42,8 +42,8 @@ import * as i1 from '@angular/common/http';
42
42
  import * as i2 from '@igo2/auth';
43
43
  import { IgoAuthModule } from '@igo2/auth';
44
44
  import * as i14 from '@igo2/common';
45
- import { IgoSpinnerModule, ActionStore, ActionbarMode, IgoConfirmDialogModule, IgoStopPropagationModule, IgoListModule, IgoKeyValueModule, IgoCollapsibleModule, IgoActionbarModule, getEntityTitle, IgoPanelModule, IgoFlexibleModule } from '@igo2/common';
46
- import * as i6 from '@ngx-translate/core';
45
+ import { IgoSpinnerModule, ActionStore, ActionbarMode, IgoConfirmDialogModule, IgoStopPropagationModule, IgoListModule, IgoKeyValueModule, IgoCollapsibleModule, IgoActionbarModule, IgoCustomHtmlModule, getEntityTitle, IgoPanelModule, IgoFlexibleModule } from '@igo2/common';
46
+ import * as i9$1 from '@ngx-translate/core';
47
47
  import * as i14$1 from '@angular/material/autocomplete';
48
48
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
49
49
  import * as i1$3 from '@angular/material/dialog';
@@ -790,7 +790,10 @@ class ContextService {
790
790
  };
791
791
  });
792
792
  layers.forEach((layer) => {
793
- const layerFound = currentContext.layers.find((contextLayer) => layer.id === contextLayer.source.id && !contextLayer.baseLayer);
793
+ const layerFound = currentContext.layers.find((contextLayer) => {
794
+ const source = contextLayer.source;
795
+ return source && layer.id === source.id && !contextLayer.baseLayer;
796
+ });
794
797
  if (layerFound) {
795
798
  let layerStyle = layerFound[`style`];
796
799
  if (layerFound[`styleByAttribute`]) {
@@ -863,12 +866,6 @@ class ContextService {
863
866
  context.messages.push(context.message);
864
867
  context.messages.map(message => {
865
868
  if (message) {
866
- message.title = message.title
867
- ? this.languageService.translate.instant(message.title)
868
- : undefined;
869
- message.text = message.text
870
- ? this.languageService.translate.instant(message.text)
871
- : undefined;
872
869
  this.messageService.message(message);
873
870
  }
874
871
  });
@@ -1187,7 +1184,7 @@ class ContextImportExportComponent {
1187
1184
  this.activeImportExport = event.value;
1188
1185
  }
1189
1186
  }
1190
- ContextImportExportComponent.ɵfac = function ContextImportExportComponent_Factory(t) { return new (t || ContextImportExportComponent)(i0.ɵɵdirectiveInject(ContextImportService), i0.ɵɵdirectiveInject(ContextExportService), i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(i1$1.FormBuilder), i0.ɵɵdirectiveInject(i3.ConfigService), i0.ɵɵdirectiveInject(ContextService)); };
1187
+ ContextImportExportComponent.ɵfac = function ContextImportExportComponent_Factory(t) { return new (t || ContextImportExportComponent)(i0.ɵɵdirectiveInject(ContextImportService), i0.ɵɵdirectiveInject(ContextExportService), i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(i1$1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.ConfigService), i0.ɵɵdirectiveInject(ContextService)); };
1191
1188
  ContextImportExportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextImportExportComponent, selectors: [["igo-context-import-export"]], inputs: { map: "map" }, decls: 10, vars: 11, consts: [[1, "import-export-toggle", "mat-typography"], [3, "value", "change"], [3, "value"], [4, "ngIf"], ["class", "igo-form", 3, "formGroup", 4, "ngIf"], [1, "igo-form"], [1, "igo-form-button-group"], ["mat-raised-button", "", "type", "button", 3, "disabled", "click"], [3, "shown"], ["type", "file", 3, "click", "change"], ["fileInput", ""], [1, "mat-typography"], [1, "igo-form", 3, "formGroup"], [1, "igo-input-container"], [1, "example-full-width"], ["formControlName", "name", "matInput", "", 3, "value"], ["formControlName", "layers", "multiple", ""], [3, "value", "click"], ["e", ""], [3, "value", 4, "ngFor", "ngForOf"]], template: function ContextImportExportComponent_Template(rf, ctx) { if (rf & 1) {
1192
1189
  i0.ɵɵelementStart(0, "div", 0)(1, "mat-button-toggle-group", 1);
1193
1190
  i0.ɵɵlistener("change", function ContextImportExportComponent_Template_mat_button_toggle_group_change_1_listener($event) { return ctx.onImportExportChange($event); });
@@ -1216,11 +1213,11 @@ ContextImportExportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
1216
1213
  i0.ɵɵproperty("ngIf", ctx.activeImportExport === "import");
1217
1214
  i0.ɵɵadvance(1);
1218
1215
  i0.ɵɵproperty("ngIf", ctx.activeImportExport === "export");
1219
- } }, dependencies: [i1$1.ɵNgNoValidate, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgControlStatusGroup, i1$1.NgForm, i1$1.FormGroupDirective, i1$1.FormControlName, i5.NgForOf, i5.NgIf, i7.MatButton, i8.MatButtonToggleGroup, i8.MatButtonToggle, i9.MatDivider, i4.MatFormField, i4.MatLabel, i11.MatSelect, i12.MatOption, i5$1.MatInput, i14.SpinnerComponent, i5.AsyncPipe, i6.TranslatePipe], styles: [".import-export-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{width:100%}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%] mat-button-toggle[_ngcontent-%COMP%]{width:50%}.igo-input-container[_ngcontent-%COMP%]{padding:10px}.igo-input-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}h4[_ngcontent-%COMP%]{padding:0 5px}.igo-form[_ngcontent-%COMP%]{padding:15px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}igo-spinner[_ngcontent-%COMP%]{position:absolute;padding-left:10px}"] });
1216
+ } }, dependencies: [i1$1.ɵNgNoValidate, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgControlStatusGroup, i1$1.NgForm, i1$1.FormGroupDirective, i1$1.FormControlName, i5.NgForOf, i5.NgIf, i7.MatButton, i8.MatButtonToggleGroup, i8.MatButtonToggle, i9.MatDivider, i4.MatFormField, i4.MatLabel, i11.MatSelect, i12.MatOption, i5$1.MatInput, i14.SpinnerComponent, i5.AsyncPipe, i9$1.TranslatePipe], styles: [".import-export-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{width:100%}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%] mat-button-toggle[_ngcontent-%COMP%]{width:50%}.igo-input-container[_ngcontent-%COMP%]{padding:10px}.igo-input-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}h4[_ngcontent-%COMP%]{padding:0 5px}.igo-form[_ngcontent-%COMP%]{padding:15px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}igo-spinner[_ngcontent-%COMP%]{position:absolute;padding-left:10px}"] });
1220
1217
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextImportExportComponent, [{
1221
1218
  type: Component,
1222
- args: [{ selector: 'igo-context-import-export', template: "<div class=\"import-export-toggle mat-typography\">\r\n <mat-button-toggle-group\r\n [value]=\"activeImportExport\"\r\n (change)=\"onImportExportChange($event)\">\r\n <mat-button-toggle [value]=\"'import'\">\r\n {{'igo.geo.importExportForm.importTabTitle' | translate}}\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"'export'\">\r\n {{'igo.geo.importExportForm.exportTabTitle' | translate}}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n</div>\r\n\r\n<div *ngIf=\"activeImportExport === 'import'\">\r\n <form class=\"igo-form\">\r\n <div class=\"igo-form-button-group\">\r\n <button mat-raised-button type=\"button\" (click)=\"fileInput.click()\" [disabled]=\"loading$ | async\">\r\n {{'igo.geo.importExportForm.importButton' | translate}}\r\n </button>\r\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\r\n <input\r\n #fileInput\r\n type=\"file\"\r\n [style.display]=\"'none'\"\r\n (click)=\"fileInput.value = null\"\r\n (change)=\"importFiles($event.target.files)\">\r\n </div>\r\n </form>\r\n <section class=\"mat-typography\">\r\n <h4>{{'igo.geo.importExportForm.importClarifications' | translate}}</h4>\r\n <ul>\r\n <li>{{'igo.geo.importExportForm.importSizeMax' | translate: {size: fileSizeMb} }}</li>\r\n </ul>\r\n </section>\r\n</div>\r\n\r\n\r\n<form class=\"igo-form\" *ngIf=\"activeImportExport === 'export'\" [formGroup]=\"form\">\r\n <div class=\"igo-input-container\">\r\n <mat-form-field class=\"example-full-width\">\r\n <mat-label>{{'igo.context.contextImportExport.export.exportContextName' | translate}}</mat-label>\r\n <input formControlName=\"name\" matInput [value]=\"\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-label>{{'igo.context.contextImportExport.export.exportPlaceHolder' | translate}}</mat-label>\r\n <mat-select formControlName=\"layers\" multiple>\r\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\r\n {{'igo.context.contextImportExport.export.exportSelectAll' | translate}}\r\n </mat-option>\r\n <mat-divider></mat-divider>\r\n <mat-option *ngFor=\"let layer of userControlledLayerList\" [value]=\"layer\">{{layer.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-form-button-group\">\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n [disabled]=\"!form.valid || (loading$ | async)\"\r\n (click)=\"handleExportFormSubmit(form.value)\">\r\n {{'igo.geo.importExportForm.exportButton' | translate}}\r\n </button>\r\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\r\n </div>\r\n</form>\r\n", styles: [".import-export-toggle{padding:10px;text-align:center}.import-export-toggle mat-button-toggle-group{width:100%}.import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}.igo-input-container{padding:10px}.igo-input-container mat-form-field{width:100%}h4{padding:0 5px}.igo-form{padding:15px 5px}.igo-form-button-group{text-align:center;padding-top:10px}igo-spinner{position:absolute;padding-left:10px}\n"] }]
1223
- }], function () { return [{ type: ContextImportService }, { type: ContextExportService }, { type: i3.LanguageService }, { type: i3.MessageService }, { type: i1$1.FormBuilder }, { type: i3.ConfigService }, { type: ContextService }]; }, { map: [{
1219
+ args: [{ selector: 'igo-context-import-export', template: "<div class=\"import-export-toggle mat-typography\">\n <mat-button-toggle-group\n [value]=\"activeImportExport\"\n (change)=\"onImportExportChange($event)\">\n <mat-button-toggle [value]=\"'import'\">\n {{'igo.geo.importExportForm.importTabTitle' | translate}}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"'export'\">\n {{'igo.geo.importExportForm.exportTabTitle' | translate}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n<div *ngIf=\"activeImportExport === 'import'\">\n <form class=\"igo-form\">\n <div class=\"igo-form-button-group\">\n <button mat-raised-button type=\"button\" (click)=\"fileInput.click()\" [disabled]=\"loading$ | async\">\n {{'igo.geo.importExportForm.importButton' | translate}}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n <input\n #fileInput\n type=\"file\"\n [style.display]=\"'none'\"\n (click)=\"fileInput.value = null\"\n (change)=\"importFiles($event.target.files)\">\n </div>\n </form>\n <section class=\"mat-typography\">\n <h4>{{'igo.geo.importExportForm.importClarifications' | translate}}</h4>\n <ul>\n <li>{{'igo.geo.importExportForm.importSizeMax' | translate: {size: fileSizeMb} }}</li>\n </ul>\n </section>\n</div>\n\n\n<form class=\"igo-form\" *ngIf=\"activeImportExport === 'export'\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field class=\"example-full-width\">\n <mat-label>{{'igo.context.contextImportExport.export.exportContextName' | translate}}</mat-label>\n <input formControlName=\"name\" matInput [value]=\"\">\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{'igo.context.contextImportExport.export.exportPlaceHolder' | translate}}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{'igo.context.contextImportExport.export.exportSelectAll' | translate}}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option *ngFor=\"let layer of userControlledLayerList\" [value]=\"layer\">{{layer.title}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n type=\"button\"\n [disabled]=\"!form.valid || (loading$ | async)\"\n (click)=\"handleExportFormSubmit(form.value)\">\n {{'igo.geo.importExportForm.exportButton' | translate}}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n </div>\n</form>\n", styles: [".import-export-toggle{padding:10px;text-align:center}.import-export-toggle mat-button-toggle-group{width:100%}.import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}.igo-input-container{padding:10px}.igo-input-container mat-form-field{width:100%}h4{padding:0 5px}.igo-form{padding:15px 5px}.igo-form-button-group{text-align:center;padding-top:10px}igo-spinner{position:absolute;padding-left:10px}\n"] }]
1220
+ }], function () { return [{ type: ContextImportService }, { type: ContextExportService }, { type: i3.LanguageService }, { type: i3.MessageService }, { type: i1$1.UntypedFormBuilder }, { type: i3.ConfigService }, { type: ContextService }]; }, { map: [{
1224
1221
  type: Input
1225
1222
  }] }); })();
1226
1223
 
@@ -1536,10 +1533,10 @@ BookmarkDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Boo
1536
1533
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 10, "igo.common.confirmDialog.confirmBtn"), " ");
1537
1534
  i0.ɵɵadvance(3);
1538
1535
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 12, "igo.common.confirmDialog.cancelBtn"), " ");
1539
- } }, dependencies: [i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.RequiredValidator, i1$1.MaxLengthValidator, i1$1.NgModel, i7.MatButton, i4.MatFormField, i1$3.MatDialogTitle, i1$3.MatDialogContent, i1$3.MatDialogActions, i5$1.MatInput, i6.TranslatePipe], encapsulation: 2 });
1536
+ } }, dependencies: [i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.RequiredValidator, i1$1.MaxLengthValidator, i1$1.NgModel, i7.MatButton, i4.MatFormField, i1$3.MatDialogTitle, i1$3.MatDialogContent, i1$3.MatDialogActions, i5$1.MatInput, i9$1.TranslatePipe], encapsulation: 2 });
1540
1537
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BookmarkDialogComponent, [{
1541
1538
  type: Component,
1542
- args: [{ selector: 'igo-bookmark-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{ 'igo.context.bookmarkButton.dialog.title' |\u00A0translate }}</h1>\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <mat-form-field>\r\n <input matInput required autocomplete=\"off\"\r\n maxlength=\"128\"\r\n [placeholder]=\"'igo.context.bookmarkButton.dialog.placeholder' |\u00A0translate\"\r\n [(ngModel)]=\"title\">\r\n </mat-form-field>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-button color=\"primary\"\r\n [disabled]=\"!title\"\r\n (click)=\"dialogRef.close(title)\">\r\n {{'igo.common.confirmDialog.confirmBtn' | translate}}\r\n </button>\r\n <button mat-button\r\n (click)=\"dialogRef.close(false)\">\r\n {{'igo.common.confirmDialog.cancelBtn' |\u00A0translate}}\r\n </button>\r\n</div>\r\n" }]
1539
+ args: [{ selector: 'igo-bookmark-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{ 'igo.context.bookmarkButton.dialog.title' |\u00A0translate }}</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <mat-form-field>\n <input matInput required autocomplete=\"off\"\n maxlength=\"128\"\n [placeholder]=\"'igo.context.bookmarkButton.dialog.placeholder' |\u00A0translate\"\n [(ngModel)]=\"title\">\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button mat-button color=\"primary\"\n [disabled]=\"!title\"\n (click)=\"dialogRef.close(title)\">\n {{'igo.common.confirmDialog.confirmBtn' | translate}}\n </button>\n <button mat-button\n (click)=\"dialogRef.close(false)\">\n {{'igo.common.confirmDialog.cancelBtn' |\u00A0translate}}\n </button>\n</div>\n" }]
1543
1540
  }], function () { return [{ type: i1$3.MatDialogRef }]; }, null); })();
1544
1541
 
1545
1542
  function ContextItemComponent_button_1_mat_icon_2_Template(rf, ctx) { if (rf & 1) {
@@ -1742,10 +1739,10 @@ ContextItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Contex
1742
1739
  i0.ɵɵtextInterpolate(ctx.context.title);
1743
1740
  i0.ɵɵadvance(1);
1744
1741
  i0.ɵɵproperty("ngIf", ctx.auth.authenticated);
1745
- } }, dependencies: [i5.NgClass, i5.NgIf, i4$1.MatIcon, i7.MatButton, i6$1.MatTooltip, i7$1.MatListItem, i7$1.MatListAvatarCssMatStyler, i12.MatLine, i14.CollapseDirective, i14.StopPropagationDirective, i6.TranslatePipe], styles: ["[_nghost-%COMP%]{overflow:hidden}.igo-actions-container[_ngcontent-%COMP%]{flex-shrink:0}.igo-actions-expand-container[_ngcontent-%COMP%]{display:inline-flex}mat-list-item[_ngcontent-%COMP%] .mat-list-item-content .mat-list-text{padding:0}mat-icon.disabled[_ngcontent-%COMP%]{color:#00000061}mat-list-item.mat-list-item-light[_ngcontent-%COMP%] .mat-list-item-content{color:#969696}"], changeDetection: 0 });
1742
+ } }, dependencies: [i5.NgClass, i5.NgIf, i4$1.MatIcon, i7.MatButton, i6.MatTooltip, i7$1.MatListItem, i7$1.MatListAvatarCssMatStyler, i12.MatLine, i14.CollapseDirective, i14.StopPropagationDirective, i9$1.TranslatePipe], styles: ["[_nghost-%COMP%]{overflow:hidden}.igo-actions-container[_ngcontent-%COMP%]{flex-shrink:0}.igo-actions-expand-container[_ngcontent-%COMP%]{display:inline-flex}mat-list-item[_ngcontent-%COMP%] .mat-list-item-content .mat-list-text{padding:0}mat-icon.disabled[_ngcontent-%COMP%]{color:#00000061}mat-list-item.mat-list-item-light[_ngcontent-%COMP%] .mat-list-item-content{color:#969696}"], changeDetection: 0 });
1746
1743
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextItemComponent, [{
1747
1744
  type: Component,
1748
- args: [{ selector: 'igo-context-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item\r\n class=\"mat-list-item\"\r\n [ngClass]=\"{'mat-list-item-light': hidden}\">\r\n <button mat-list-avatar\r\n *ngIf=\"auth.authenticated\"\r\n mat-icon-button\r\n igoStopPropagation\r\n [matTooltip]=\"auth.authenticated ? ('igo.context.contextManager.favorite' | translate) : ''\"\r\n matTooltipShowDelay=\"500\"\r\n [color]=\"default ? 'primary' : 'default'\"\r\n (click)=\"favoriteClick(context)\">\r\n <mat-icon *ngIf=\"!context.iconImage\" svgIcon=\"{{context.icon ? context.icon : context.scope === 'public' ? 'earth' : 'star'}}\"></mat-icon>\r\n <img *ngIf=\"context.iconImage\" [src]=\"context.iconImage\">\r\n </button>\r\n <button mat-list-avatar\r\n *ngIf=\"!auth.authenticated && showFavorite\"\r\n mat-icon-button\r\n igoStopPropagation\r\n [matTooltip]=\"'igo.context.contextManager.favorite' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n [color]=\"default ? 'primary' : 'default'\"\r\n (click)=\"favoriteClick(context)\">\r\n <mat-icon svgIcon=\"star\"></mat-icon>\r\n </button>\r\n <h4 matLine>{{context.title}}</h4>\r\n\r\n <div *ngIf=\"auth.authenticated\"\r\n igoStopPropagation\r\n class=\"igo-actions-container\">\r\n\r\n <button *ngIf=\"collapsed && selected && (context.permission === typePermission[typePermission.write] || context.imported)\"\r\n class=\"save-button\"\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.contextManager.save' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n [color]=\"color\"\r\n (click)=\"save.emit(context)\">\r\n <mat-icon svgIcon=\"content-save\"></mat-icon>\r\n </button>\r\n\r\n <div #actions class=\"igo-actions-expand-container\">\r\n\r\n <button *ngIf=\"canShare && !context.imported\"\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.contextManager.managePermissions' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n [color]=\"color\"\r\n (click)=\"managePermissions.emit(context)\">\r\n <mat-icon svgIcon=\"account-arrow-right\"></mat-icon>\r\n </button>\r\n\r\n <!--button\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.contextManager.manageTools' | translate\"\r\n [color]=\"color\"\r\n (click)=\"manageTools.emit(context)\">\r\n <mat-icon svgIcon=\"widgets\"></mat-icon>\r\n </button-->\r\n\r\n <button *ngIf=\"!context.imported\"\r\n class=\"clone-button\"\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.contextManager.clone' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n [color]=\"color\"\r\n (click)=\"clone.emit(context)\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n\r\n <button *ngIf=\"context.permission === typePermission[typePermission.write] && !context.imported\"\r\n class=\"edit-button\"\r\n mat-icon-button\r\n [color]=\"color\"\r\n [matTooltip]=\"'igo.context.contextManager.edit' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"edit.emit(context)\">\r\n <mat-icon svgIcon=\"pencil\"></mat-icon>\r\n </button>\r\n\r\n <button *ngIf=\"!context.hidden && !context.imported\"\r\n class=\"hide-button\"\r\n mat-icon-button\r\n [color]=\"color\"\r\n [matTooltip]=\"'igo.context.contextManager.hide' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"hide.emit(context)\">\r\n <mat-icon svgIcon=\"eye\"></mat-icon>\r\n </button>\r\n\r\n <button *ngIf=\"context.hidden && !context.imported\"\r\n class=\"hide-button\"\r\n mat-icon-button\r\n [color]=\"color\"\r\n [matTooltip]=\"'igo.context.contextManager.show' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"show.emit(context)\">\r\n <mat-icon svgIcon=\"eye-off\"></mat-icon>\r\n </button>\r\n\r\n <button *ngIf=\"context.permission === typePermission[typePermission.write] || context.imported\"\r\n class=\"delete-button\"\r\n mat-icon-button\r\n color=\"warn\"\r\n [matTooltip]=\"'igo.context.contextManager.delete' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"delete.emit(context)\">\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n </div>\r\n\r\n <button\r\n class=\"actions-button\"\r\n mat-icon-button\r\n igoCollapse\r\n [color]=\"color\"\r\n [target]=\"actions\"\r\n [collapsed]=collapsed\r\n (click)=\"collapsed = !collapsed\">\r\n <mat-icon svgIcon=\"dots-horizontal\"></mat-icon>\r\n </button>\r\n\r\n </div>\r\n\r\n</mat-list-item>\r\n", styles: [":host{overflow:hidden}.igo-actions-container{flex-shrink:0}.igo-actions-expand-container{display:inline-flex}mat-list-item ::ng-deep .mat-list-item-content .mat-list-text{padding:0}mat-icon.disabled{color:#00000061}mat-list-item.mat-list-item-light ::ng-deep .mat-list-item-content{color:#969696}\n"] }]
1745
+ args: [{ selector: 'igo-context-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item\n class=\"mat-list-item\"\n [ngClass]=\"{'mat-list-item-light': hidden}\">\n <button mat-list-avatar\n *ngIf=\"auth.authenticated\"\n mat-icon-button\n igoStopPropagation\n [matTooltip]=\"auth.authenticated ? ('igo.context.contextManager.favorite' | translate) : ''\"\n matTooltipShowDelay=\"500\"\n [color]=\"default ? 'primary' : 'default'\"\n (click)=\"favoriteClick(context)\">\n <mat-icon *ngIf=\"!context.iconImage\" svgIcon=\"{{context.icon ? context.icon : context.scope === 'public' ? 'earth' : 'star'}}\"></mat-icon>\n <img *ngIf=\"context.iconImage\" [src]=\"context.iconImage\">\n </button>\n <button mat-list-avatar\n *ngIf=\"!auth.authenticated && showFavorite\"\n mat-icon-button\n igoStopPropagation\n [matTooltip]=\"'igo.context.contextManager.favorite' | translate\"\n matTooltipShowDelay=\"500\"\n [color]=\"default ? 'primary' : 'default'\"\n (click)=\"favoriteClick(context)\">\n <mat-icon svgIcon=\"star\"></mat-icon>\n </button>\n <h4 matLine>{{context.title}}</h4>\n\n <div *ngIf=\"auth.authenticated\"\n igoStopPropagation\n class=\"igo-actions-container\">\n\n <button *ngIf=\"collapsed && selected && (context.permission === typePermission[typePermission.write] || context.imported)\"\n class=\"save-button\"\n mat-icon-button\n [matTooltip]=\"'igo.context.contextManager.save' | translate\"\n matTooltipShowDelay=\"500\"\n [color]=\"color\"\n (click)=\"save.emit(context)\">\n <mat-icon svgIcon=\"content-save\"></mat-icon>\n </button>\n\n <div #actions class=\"igo-actions-expand-container\">\n\n <button *ngIf=\"canShare && !context.imported\"\n mat-icon-button\n [matTooltip]=\"'igo.context.contextManager.managePermissions' | translate\"\n matTooltipShowDelay=\"500\"\n [color]=\"color\"\n (click)=\"managePermissions.emit(context)\">\n <mat-icon svgIcon=\"account-arrow-right\"></mat-icon>\n </button>\n\n <!--button\n mat-icon-button\n [matTooltip]=\"'igo.context.contextManager.manageTools' | translate\"\n [color]=\"color\"\n (click)=\"manageTools.emit(context)\">\n <mat-icon svgIcon=\"widgets\"></mat-icon>\n </button-->\n\n <button *ngIf=\"!context.imported\"\n class=\"clone-button\"\n mat-icon-button\n [matTooltip]=\"'igo.context.contextManager.clone' | translate\"\n matTooltipShowDelay=\"500\"\n [color]=\"color\"\n (click)=\"clone.emit(context)\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n\n <button *ngIf=\"context.permission === typePermission[typePermission.write] && !context.imported\"\n class=\"edit-button\"\n mat-icon-button\n [color]=\"color\"\n [matTooltip]=\"'igo.context.contextManager.edit' | translate\"\n matTooltipShowDelay=\"500\"\n (click)=\"edit.emit(context)\">\n <mat-icon svgIcon=\"pencil\"></mat-icon>\n </button>\n\n <button *ngIf=\"!context.hidden && !context.imported\"\n class=\"hide-button\"\n mat-icon-button\n [color]=\"color\"\n [matTooltip]=\"'igo.context.contextManager.hide' | translate\"\n matTooltipShowDelay=\"500\"\n (click)=\"hide.emit(context)\">\n <mat-icon svgIcon=\"eye\"></mat-icon>\n </button>\n\n <button *ngIf=\"context.hidden && !context.imported\"\n class=\"hide-button\"\n mat-icon-button\n [color]=\"color\"\n [matTooltip]=\"'igo.context.contextManager.show' | translate\"\n matTooltipShowDelay=\"500\"\n (click)=\"show.emit(context)\">\n <mat-icon svgIcon=\"eye-off\"></mat-icon>\n </button>\n\n <button *ngIf=\"context.permission === typePermission[typePermission.write] || context.imported\"\n class=\"delete-button\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.context.contextManager.delete' | translate\"\n matTooltipShowDelay=\"500\"\n (click)=\"delete.emit(context)\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n </div>\n\n <button\n class=\"actions-button\"\n mat-icon-button\n igoCollapse\n [color]=\"color\"\n [target]=\"actions\"\n [collapsed]=collapsed\n (click)=\"collapsed = !collapsed\">\n <mat-icon svgIcon=\"dots-horizontal\"></mat-icon>\n </button>\n\n </div>\n\n</mat-list-item>\n", styles: [":host{overflow:hidden}.igo-actions-container{flex-shrink:0}.igo-actions-expand-container{display:inline-flex}mat-list-item ::ng-deep .mat-list-item-content .mat-list-text{padding:0}mat-icon.disabled{color:#00000061}mat-list-item.mat-list-item-light ::ng-deep .mat-list-item-content{color:#969696}\n"] }]
1749
1746
  }], function () { return [{ type: i2.AuthService }, { type: i3.StorageService }]; }, { showFavorite: [{
1750
1747
  type: Input
1751
1748
  }], context: [{
@@ -2298,10 +2295,10 @@ ContextListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Contex
2298
2295
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 10, "igo.context.contextManager.showHidden"), " ");
2299
2296
  i0.ɵɵadvance(2);
2300
2297
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(15, 12, i0.ɵɵpipeBind1(16, 14, ctx.contexts$)));
2301
- } }, dependencies: [i5.NgClass, i5.NgForOf, i5.NgIf, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgModel, i4.MatFormField, i4.MatSuffix, i5$1.MatInput, i4$1.MatIcon, i7.MatButton, i6$1.MatTooltip, i12$1.MatCheckbox, i13.MatMenu, i13.MatMenuItem, i13.MatMenuTrigger, i14.ListItemDirective, i14.ListComponent, i14.CollapsibleComponent, i14.ActionbarComponent, ContextItemComponent, i5.AsyncPipe, i14.KeyValuePipe, i6.TranslatePipe], styles: [".context-filter-max-width[_ngcontent-%COMP%]{width:calc(100% - 100px);margin:5px;padding-left:6px}.context-filter-min-width[_ngcontent-%COMP%]{width:calc(100% - 135px);margin:5px;padding-left:6px}.clear-button[_ngcontent-%COMP%]{padding-right:5px}mat-form-field[_ngcontent-%COMP%]{height:40px}.profilsMenu[_ngcontent-%COMP%]{display:flex}.profilsMenu[_ngcontent-%COMP%] > mat-checkbox[_ngcontent-%COMP%]{width:8px}.add-context-button[_ngcontent-%COMP%]{margin:0;width:40px;display:inline-flex;overflow:hidden}"], changeDetection: 0 });
2298
+ } }, dependencies: [i5.NgClass, i5.NgForOf, i5.NgIf, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgModel, i4.MatFormField, i4.MatSuffix, i5$1.MatInput, i4$1.MatIcon, i7.MatButton, i6.MatTooltip, i12$1.MatCheckbox, i13.MatMenu, i13.MatMenuItem, i13.MatMenuTrigger, i14.ListItemDirective, i14.ListComponent, i14.CollapsibleComponent, i14.ActionbarComponent, ContextItemComponent, i5.AsyncPipe, i14.KeyValuePipe, i9$1.TranslatePipe], styles: [".context-filter-max-width[_ngcontent-%COMP%]{width:calc(100% - 100px);margin:5px;padding-left:6px}.context-filter-min-width[_ngcontent-%COMP%]{width:calc(100% - 135px);margin:5px;padding-left:6px}.clear-button[_ngcontent-%COMP%]{padding-right:5px}mat-form-field[_ngcontent-%COMP%]{height:40px}.profilsMenu[_ngcontent-%COMP%]{display:flex}.profilsMenu[_ngcontent-%COMP%] > mat-checkbox[_ngcontent-%COMP%]{width:8px}.add-context-button[_ngcontent-%COMP%]{margin:0;width:40px;display:inline-flex;overflow:hidden}"], changeDetection: 0 });
2302
2299
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextListComponent, [{
2303
2300
  type: Component,
2304
- args: [{ selector: 'igo-context-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"true\">\r\n <mat-form-field *ngIf=\"showFilter()\" [ngClass]=\"auth.authenticated && configService.getConfig('context') ? 'context-filter-min-width' : 'context-filter-max-width'\">\r\n <input\r\n matInput\r\n type=\"text\"\r\n [placeholder]=\"'igo.context.contextManager.filterPlaceHolder' | translate\"\r\n [(ngModel)]=\"term\">\r\n <button\r\n mat-button\r\n mat-icon-button\r\n matSuffix\r\n class=\"clear-button\"\r\n *ngIf=\"term.length\"\r\n aria-label=\"Clear\"\r\n color=\"warn\"\r\n (click)=\"clearFilter()\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <button\r\n *ngIf=\"!sortedAlpha\"\r\n class=\"sort-alpha\"\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.contextManager.sortAlphabetically' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"toggleSort(true)\">\r\n <mat-icon color=\"primary\" svgIcon=\"sort-alphabetical-variant\"></mat-icon>\r\n </button>\r\n <button\r\n *ngIf=\"sortedAlpha\"\r\n class=\"sort-alpha\"\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.contextManager.sortContextOrder' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"toggleSort(false)\">\r\n <mat-icon color=\"warn\" svgIcon=\"sort-variant-remove\"></mat-icon>\r\n </button>\r\n\r\n <igo-actionbar *ngIf=\"auth.authenticated && configService.getConfig('context')\"\r\n class=\"add-context-button\"\r\n [iconColor]=\"color\"\r\n [store]=\"actionStore\"\r\n [withIcon]=\"true\"\r\n icon=\"plus\"\r\n [withTitle]=\"actionbarMode === 'overlay'\"\r\n [horizontal]=\"false\"\r\n [mode]=\"actionbarMode\">\r\n </igo-actionbar>\r\n\r\n <button *ngIf=\"auth.authenticated && configService.getConfig('context')\"\r\n class=\"users-filter\"\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.contextManager.filterUser' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n [matMenuTriggerFor]=\"accountMenu\">\r\n <mat-icon color=\"primary\" svgIcon=\"filter-menu\"></mat-icon>\r\n </button>\r\n\r\n <mat-menu #accountMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let user of users\">\r\n <span class=\"profilsMenu\">\r\n <mat-checkbox\r\n class=\"mat-menu-item\"\r\n [checked]=\"getPermission(user).checked\"\r\n [indeterminate]=\"getPermission(user).indeterminate\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"userSelection(user)\">\r\n </mat-checkbox>\r\n <button *ngIf=\"user.childs\"\r\n [matMenuTriggerFor]=\"subAccountMenu\"\r\n mat-menu-item>\r\n {{user.title}}\r\n </button>\r\n <button\r\n mat-menu-item\r\n *ngIf=\"!user.childs\">\r\n {{user.title}}\r\n </button>\r\n </span>\r\n\r\n <mat-menu #subAccountMenu=\"matMenu\">\r\n <mat-checkbox *ngFor=\"let child of user.childs\"\r\n class=\"mat-menu-item\"\r\n [checked]=\"getPermission(child).checked\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"userSelection(child, user)\">\r\n {{child.title}}\r\n </mat-checkbox>\r\n </mat-menu>\r\n </ng-container>\r\n\r\n <span class=\"profilsMenu\">\r\n <mat-checkbox\r\n class=\"mat-menu-item\"\r\n [checked]=\"showHidden\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"showHiddenContexts.emit()\">\r\n </mat-checkbox>\r\n <button mat-menu-item>\r\n {{ 'igo.context.contextManager.showHidden' | translate }}\r\n </button>\r\n </span>\r\n </mat-menu>\r\n\r\n <ng-template ngFor let-groupContexts [ngForOf]=\"contexts$ | async | keyvalue\">\r\n\r\n <igo-collapsible *ngIf=\"groupContexts.value.length && auth.authenticated\" [title]=\"titleMapping[groupContexts.key] | translate\"\r\n [collapsed]=\"collapsed[titleMapping[groupContexts.key]]\" (toggle)=\"collapsed[titleMapping[groupContexts.key]] = $event\">\r\n\r\n <ng-template ngFor let-context [ngForOf]=\"groupContexts.value\">\r\n <igo-context-item\r\n igoListItem\r\n color=\"accent\"\r\n [selected]=\"selectedContext && selectedContext.uri === context.uri\"\r\n [context]=\"context\"\r\n [default]=\"context.id && this.defaultContextId && this.defaultContextId === context.id\"\r\n (edit)=\"edit.emit(context)\"\r\n (delete)=\"delete.emit(context)\"\r\n (clone)=\"clone.emit(context)\"\r\n (save)=\"save.emit(context)\"\r\n (hide)=\"hideContext(context)\"\r\n (show)=\"showContext(context)\"\r\n (favorite)=\"favorite.emit(context)\"\r\n (manageTools)=\"manageTools.emit(context)\"\r\n (managePermissions)=\"managePermissions.emit(context)\"\r\n (select)=\"select.emit(context)\"\r\n (unselect)=\"unselect.emit(context)\">\r\n </igo-context-item>\r\n </ng-template>\r\n\r\n </igo-collapsible>\r\n\r\n <ng-template *ngIf=\"groupContexts.value.length && !auth.authenticated\" ngFor let-context [ngForOf]=\"groupContexts.value\">\r\n <igo-context-item\r\n igoListItem\r\n color=\"accent\"\r\n [showFavorite]=\"configService.getConfig('favoriteContext4NonAuthenticated')\"\r\n [selected]=\"selectedContext && selectedContext.uri === context.uri\"\r\n [context]=\"context\"\r\n [default]=\"configService.getConfig('context') ? defaultContextId === context.id : defaultContextId === context.uri\"\r\n (favorite)=\"favorite.emit(context)\"\r\n (select)=\"select.emit(context)\"\r\n (unselect)=\"unselect.emit(context)\">\r\n </igo-context-item>\r\n </ng-template>\r\n\r\n </ng-template>\r\n</igo-list>\r\n", styles: [".context-filter-max-width{width:calc(100% - 100px);margin:5px;padding-left:6px}.context-filter-min-width{width:calc(100% - 135px);margin:5px;padding-left:6px}.clear-button{padding-right:5px}mat-form-field{height:40px}.profilsMenu{display:flex}.profilsMenu>mat-checkbox{width:8px}.add-context-button{margin:0;width:40px;display:inline-flex;overflow:hidden}\n"] }]
2301
+ args: [{ selector: 'igo-context-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"true\">\n <mat-form-field *ngIf=\"showFilter()\" [ngClass]=\"auth.authenticated && configService.getConfig('context') ? 'context-filter-min-width' : 'context-filter-max-width'\">\n <input\n matInput\n type=\"text\"\n [placeholder]=\"'igo.context.contextManager.filterPlaceHolder' | translate\"\n [(ngModel)]=\"term\">\n <button\n mat-button\n mat-icon-button\n matSuffix\n class=\"clear-button\"\n *ngIf=\"term.length\"\n aria-label=\"Clear\"\n color=\"warn\"\n (click)=\"clearFilter()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n </mat-form-field>\n\n <button\n *ngIf=\"!sortedAlpha\"\n class=\"sort-alpha\"\n mat-icon-button\n [matTooltip]=\"'igo.context.contextManager.sortAlphabetically' | translate\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleSort(true)\">\n <mat-icon color=\"primary\" svgIcon=\"sort-alphabetical-variant\"></mat-icon>\n </button>\n <button\n *ngIf=\"sortedAlpha\"\n class=\"sort-alpha\"\n mat-icon-button\n [matTooltip]=\"'igo.context.contextManager.sortContextOrder' | translate\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleSort(false)\">\n <mat-icon color=\"warn\" svgIcon=\"sort-variant-remove\"></mat-icon>\n </button>\n\n <igo-actionbar *ngIf=\"auth.authenticated && configService.getConfig('context')\"\n class=\"add-context-button\"\n [iconColor]=\"color\"\n [store]=\"actionStore\"\n [withIcon]=\"true\"\n icon=\"plus\"\n [withTitle]=\"actionbarMode === 'overlay'\"\n [horizontal]=\"false\"\n [mode]=\"actionbarMode\">\n </igo-actionbar>\n\n <button *ngIf=\"auth.authenticated && configService.getConfig('context')\"\n class=\"users-filter\"\n mat-icon-button\n [matTooltip]=\"'igo.context.contextManager.filterUser' | translate\"\n matTooltipShowDelay=\"500\"\n [matMenuTriggerFor]=\"accountMenu\">\n <mat-icon color=\"primary\" svgIcon=\"filter-menu\"></mat-icon>\n </button>\n\n <mat-menu #accountMenu=\"matMenu\">\n <ng-container *ngFor=\"let user of users\">\n <span class=\"profilsMenu\">\n <mat-checkbox\n class=\"mat-menu-item\"\n [checked]=\"getPermission(user).checked\"\n [indeterminate]=\"getPermission(user).indeterminate\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"userSelection(user)\">\n </mat-checkbox>\n <button *ngIf=\"user.childs\"\n [matMenuTriggerFor]=\"subAccountMenu\"\n mat-menu-item>\n {{user.title}}\n </button>\n <button\n mat-menu-item\n *ngIf=\"!user.childs\">\n {{user.title}}\n </button>\n </span>\n\n <mat-menu #subAccountMenu=\"matMenu\">\n <mat-checkbox *ngFor=\"let child of user.childs\"\n class=\"mat-menu-item\"\n [checked]=\"getPermission(child).checked\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"userSelection(child, user)\">\n {{child.title}}\n </mat-checkbox>\n </mat-menu>\n </ng-container>\n\n <span class=\"profilsMenu\">\n <mat-checkbox\n class=\"mat-menu-item\"\n [checked]=\"showHidden\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"showHiddenContexts.emit()\">\n </mat-checkbox>\n <button mat-menu-item>\n {{ 'igo.context.contextManager.showHidden' | translate }}\n </button>\n </span>\n </mat-menu>\n\n <ng-template ngFor let-groupContexts [ngForOf]=\"contexts$ | async | keyvalue\">\n\n <igo-collapsible *ngIf=\"groupContexts.value.length && auth.authenticated\" [title]=\"titleMapping[groupContexts.key] | translate\"\n [collapsed]=\"collapsed[titleMapping[groupContexts.key]]\" (toggle)=\"collapsed[titleMapping[groupContexts.key]] = $event\">\n\n <ng-template ngFor let-context [ngForOf]=\"groupContexts.value\">\n <igo-context-item\n igoListItem\n color=\"accent\"\n [selected]=\"selectedContext && selectedContext.uri === context.uri\"\n [context]=\"context\"\n [default]=\"context.id && this.defaultContextId && this.defaultContextId === context.id\"\n (edit)=\"edit.emit(context)\"\n (delete)=\"delete.emit(context)\"\n (clone)=\"clone.emit(context)\"\n (save)=\"save.emit(context)\"\n (hide)=\"hideContext(context)\"\n (show)=\"showContext(context)\"\n (favorite)=\"favorite.emit(context)\"\n (manageTools)=\"manageTools.emit(context)\"\n (managePermissions)=\"managePermissions.emit(context)\"\n (select)=\"select.emit(context)\"\n (unselect)=\"unselect.emit(context)\">\n </igo-context-item>\n </ng-template>\n\n </igo-collapsible>\n\n <ng-template *ngIf=\"groupContexts.value.length && !auth.authenticated\" ngFor let-context [ngForOf]=\"groupContexts.value\">\n <igo-context-item\n igoListItem\n color=\"accent\"\n [showFavorite]=\"configService.getConfig('favoriteContext4NonAuthenticated')\"\n [selected]=\"selectedContext && selectedContext.uri === context.uri\"\n [context]=\"context\"\n [default]=\"configService.getConfig('context') ? defaultContextId === context.id : defaultContextId === context.uri\"\n (favorite)=\"favorite.emit(context)\"\n (select)=\"select.emit(context)\"\n (unselect)=\"unselect.emit(context)\">\n </igo-context-item>\n </ng-template>\n\n </ng-template>\n</igo-list>\n", styles: [".context-filter-max-width{width:calc(100% - 100px);margin:5px;padding-left:6px}.context-filter-min-width{width:calc(100% - 135px);margin:5px;padding-left:6px}.clear-button{padding-right:5px}mat-form-field{height:40px}.profilsMenu{display:flex}.profilsMenu>mat-checkbox{width:8px}.add-context-button{margin:0;width:40px;display:inline-flex;overflow:hidden}\n"] }]
2305
2302
  }], function () { return [{ type: i0.ChangeDetectorRef }, { type: ContextService }, { type: i3.ConfigService }, { type: i2.AuthService }, { type: i1$3.MatDialog }, { type: i3.LanguageService }, { type: i3.StorageService }]; }, { contexts: [{
2306
2303
  type: Input
2307
2304
  }], selectedContext: [{
@@ -2668,7 +2665,7 @@ class ContextFormComponent {
2668
2665
  });
2669
2666
  }
2670
2667
  }
2671
- ContextFormComponent.ɵfac = function ContextFormComponent_Factory(t) { return new (t || ContextFormComponent)(i0.ɵɵdirectiveInject(i1$1.FormBuilder), i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService)); };
2668
+ ContextFormComponent.ɵfac = function ContextFormComponent_Factory(t) { return new (t || ContextFormComponent)(i0.ɵɵdirectiveInject(i1$1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService)); };
2672
2669
  ContextFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextFormComponent, selectors: [["igo-context-form"]], inputs: { btnSubmitText: "btnSubmitText", context: "context", disabled: "disabled" }, outputs: { submitForm: "submitForm", clone: "clone", delete: "delete" }, decls: 19, vars: 18, consts: [[1, "igo-form", 3, "formGroup", "ngSubmit"], [1, "full-width"], ["matInput", "", "required", "", "maxlength", "128", "formControlName", "title", 3, "placeholder"], ["id", "uriInput", 1, "full-width"], ["class", "prefix", 4, "ngIf"], [1, "fieldWrapper"], ["matInput", "", "maxlength", "64", "floatLabel", "always", "formControlName", "uri", 3, "placeholder"], ["id", "copyButton", "type", "button", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", 3, "matTooltip", "click"], ["svgIcon", "content-copy"], [1, "igo-form-button-group"], ["mat-raised-button", "", "type", "submit", 3, "disabled"], [1, "prefix"]], template: function ContextFormComponent_Template(rf, ctx) { if (rf & 1) {
2673
2670
  i0.ɵɵelementStart(0, "form", 0);
2674
2671
  i0.ɵɵlistener("ngSubmit", function ContextFormComponent_Template_form_ngSubmit_0_listener() { return ctx.handleFormSubmit(ctx.form.value); });
@@ -2710,11 +2707,11 @@ ContextFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Contex
2710
2707
  i0.ɵɵproperty("disabled", !ctx.form.valid || ctx.disabled);
2711
2708
  i0.ɵɵadvance(1);
2712
2709
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 16, "igo.context.contextManager.form.edit"), " ");
2713
- } }, dependencies: [i5.NgIf, i1$1.ɵNgNoValidate, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgControlStatusGroup, i1$1.RequiredValidator, i1$1.MaxLengthValidator, i1$1.FormGroupDirective, i1$1.FormControlName, i4.MatError, i4.MatFormField, i5$1.MatInput, i4$1.MatIcon, i7.MatButton, i6$1.MatTooltip, i6.TranslatePipe], styles: ["form[_ngcontent-%COMP%]{margin:10px}.full-width[_ngcontent-%COMP%]{width:100%}#uriInput[_ngcontent-%COMP%] .fieldWrapper[_ngcontent-%COMP%]{display:block;overflow:hidden}#uriInput[_ngcontent-%COMP%] .prefix[_ngcontent-%COMP%]{float:left}#copyButton[_ngcontent-%COMP%]{width:24px;float:right;position:relative;top:-58px;left:5px}"] });
2710
+ } }, dependencies: [i5.NgIf, i1$1.ɵNgNoValidate, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgControlStatusGroup, i1$1.RequiredValidator, i1$1.MaxLengthValidator, i1$1.FormGroupDirective, i1$1.FormControlName, i4.MatError, i4.MatFormField, i5$1.MatInput, i4$1.MatIcon, i7.MatButton, i6.MatTooltip, i9$1.TranslatePipe], styles: ["form[_ngcontent-%COMP%]{margin:10px}.full-width[_ngcontent-%COMP%]{width:100%}#uriInput[_ngcontent-%COMP%] .fieldWrapper[_ngcontent-%COMP%]{display:block;overflow:hidden}#uriInput[_ngcontent-%COMP%] .prefix[_ngcontent-%COMP%]{float:left}#copyButton[_ngcontent-%COMP%]{width:24px;float:right;position:relative;top:-58px;left:5px}"] });
2714
2711
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextFormComponent, [{
2715
2712
  type: Component,
2716
- args: [{ selector: 'igo-context-form', template: "<form class=\"igo-form\" [formGroup]=\"form\"\r\n (ngSubmit)=\"handleFormSubmit(form.value)\">\r\n\r\n <mat-form-field class=\"full-width\">\r\n <input matInput required\r\n maxlength=\"128\"\r\n [placeholder]=\"'igo.context.contextManager.form.title' | translate\"\r\n formControlName=\"title\">\r\n <mat-error>\r\n {{ 'igo.context.contextManager.form.titleRequired' | translate }}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field id=\"uriInput\" class=\"full-width\">\r\n <span *ngIf=\"prefix\" class=\"prefix\">{{prefix}}-</span>\r\n <span class=\"fieldWrapper\">\r\n <input matInput\r\n maxlength=\"64\"\r\n floatLabel = \"always\"\r\n [placeholder]=\"'igo.context.contextManager.form.uri' | translate\"\r\n formControlName=\"uri\">\r\n </span>\r\n </mat-form-field>\r\n\r\n <button\r\n id=\"copyButton\"\r\n type=\"button\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.context.contextManager.form.copy' | translate\"\r\n color=\"primary\"\r\n (click)=\"copyTextToClipboard()\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n\r\n <div class=\"igo-form-button-group\">\r\n <button\r\n mat-raised-button\r\n type=\"submit\"\r\n [disabled]=\"!form.valid || disabled\">\r\n {{ 'igo.context.contextManager.form.edit' | translate }}\r\n </button>\r\n </div>\r\n\r\n</form>\r\n", styles: ["form{margin:10px}.full-width{width:100%}#uriInput .fieldWrapper{display:block;overflow:hidden}#uriInput .prefix{float:left}#copyButton{width:24px;float:right;position:relative;top:-58px;left:5px}\n"] }]
2717
- }], function () { return [{ type: i1$1.FormBuilder }, { type: i3.LanguageService }, { type: i3.MessageService }]; }, { btnSubmitText: [{
2713
+ args: [{ selector: 'igo-context-form', template: "<form class=\"igo-form\" [formGroup]=\"form\"\n (ngSubmit)=\"handleFormSubmit(form.value)\">\n\n <mat-form-field class=\"full-width\">\n <input matInput required\n maxlength=\"128\"\n [placeholder]=\"'igo.context.contextManager.form.title' | translate\"\n formControlName=\"title\">\n <mat-error>\n {{ 'igo.context.contextManager.form.titleRequired' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field id=\"uriInput\" class=\"full-width\">\n <span *ngIf=\"prefix\" class=\"prefix\">{{prefix}}-</span>\n <span class=\"fieldWrapper\">\n <input matInput\n maxlength=\"64\"\n floatLabel = \"always\"\n [placeholder]=\"'igo.context.contextManager.form.uri' | translate\"\n formControlName=\"uri\">\n </span>\n </mat-form-field>\n\n <button\n id=\"copyButton\"\n type=\"button\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.context.contextManager.form.copy' | translate\"\n color=\"primary\"\n (click)=\"copyTextToClipboard()\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n type=\"submit\"\n [disabled]=\"!form.valid || disabled\">\n {{ 'igo.context.contextManager.form.edit' | translate }}\n </button>\n </div>\n\n</form>\n", styles: ["form{margin:10px}.full-width{width:100%}#uriInput .fieldWrapper{display:block;overflow:hidden}#uriInput .prefix{float:left}#copyButton{width:24px;float:right;position:relative;top:-58px;left:5px}\n"] }]
2714
+ }], function () { return [{ type: i1$1.UntypedFormBuilder }, { type: i3.LanguageService }, { type: i3.MessageService }]; }, { btnSubmitText: [{
2718
2715
  type: Input
2719
2716
  }], context: [{
2720
2717
  type: Input
@@ -2759,10 +2756,10 @@ ContextEditComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Contex
2759
2756
  i0.ɵɵtemplate(0, ContextEditComponent_igo_context_form_0_Template, 2, 4, "igo-context-form", 0);
2760
2757
  } if (rf & 2) {
2761
2758
  i0.ɵɵproperty("ngIf", ctx.context);
2762
- } }, dependencies: [i5.NgIf, ContextFormComponent, i6.TranslatePipe], encapsulation: 2 });
2759
+ } }, dependencies: [i5.NgIf, ContextFormComponent, i9$1.TranslatePipe], encapsulation: 2 });
2763
2760
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextEditComponent, [{
2764
2761
  type: Component,
2765
- args: [{ selector: 'igo-context-edit', template: "<igo-context-form *ngIf=\"context\"\r\n [btnSubmitText]=\"'igo.context.contextManager.save' | translate\"\r\n [context]=\"context\"\r\n (submitForm)=\"submitForm.emit($event)\">\r\n</igo-context-form>\r\n" }]
2762
+ args: [{ selector: 'igo-context-edit', template: "<igo-context-form *ngIf=\"context\"\n [btnSubmitText]=\"'igo.context.contextManager.save' | translate\"\n [context]=\"context\"\n (submitForm)=\"submitForm.emit($event)\">\n</igo-context-form>\n" }]
2766
2763
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { context: [{
2767
2764
  type: Input
2768
2765
  }], submitForm: [{
@@ -3014,7 +3011,7 @@ class ContextPermissionsComponent {
3014
3011
  this.authService = authService;
3015
3012
  this.config = config;
3016
3013
  this._profils = [];
3017
- this.formControl = new FormControl();
3014
+ this.formControl = new UntypedFormControl();
3018
3015
  this.addPermission = new EventEmitter();
3019
3016
  this.removePermission = new EventEmitter();
3020
3017
  this.scopeChanged = new EventEmitter();
@@ -3083,16 +3080,16 @@ class ContextPermissionsComponent {
3083
3080
  });
3084
3081
  }
3085
3082
  }
3086
- ContextPermissionsComponent.ɵfac = function ContextPermissionsComponent_Factory(t) { return new (t || ContextPermissionsComponent)(i0.ɵɵdirectiveInject(i1$1.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.HttpClient), i0.ɵɵdirectiveInject(i2.AuthService), i0.ɵɵdirectiveInject(i3.ConfigService)); };
3083
+ ContextPermissionsComponent.ɵfac = function ContextPermissionsComponent_Factory(t) { return new (t || ContextPermissionsComponent)(i0.ɵɵdirectiveInject(i1$1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.HttpClient), i0.ɵɵdirectiveInject(i2.AuthService), i0.ɵɵdirectiveInject(i3.ConfigService)); };
3087
3084
  ContextPermissionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextPermissionsComponent, selectors: [["igo-context-permissions"]], inputs: { context: "context", permissions: "permissions" }, outputs: { addPermission: "addPermission", removePermission: "removePermission", scopeChanged: "scopeChanged" }, decls: 1, vars: 1, consts: [[4, "ngIf"], ["class", "scopeForm", 4, "ngIf"], [3, "formGroup", "ngSubmit", 4, "ngIf"], [1, "scopeForm"], [3, "ngModel", "ngModelChange", "change"], ["value", "private"], ["value", "protected"], ["value", "public", 4, "ngIf"], ["value", "public"], [3, "formGroup", "ngSubmit"], [1, "full-width"], ["matInput", "", "required", "", 3, "placeholder", "formControl", "matAutocomplete"], [3, "displayWith", "optionSelected"], ["auto", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], ["formControlName", "typePermission"], ["value", "read"], ["value", "write"], [1, "igo-form-button-group"], ["mat-raised-button", "", "type", "submit", 3, "disabled"], [3, "value"], [1, "mat-typography"], ["ngFor", "", 3, "ngForOf"], [3, "title", 4, "ngIf"], [3, "title"], ["mat-list-avatar", "", "svgIcon", "account-outline"], ["mat-line", ""], ["igoStopPropagation", "", 1, "igo-actions-container"], ["mat-icon-button", "", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click"], ["svgIcon", "delete"]], template: function ContextPermissionsComponent_Template(rf, ctx) { if (rf & 1) {
3088
3085
  i0.ɵɵtemplate(0, ContextPermissionsComponent_div_0_Template, 5, 4, "div", 0);
3089
3086
  } if (rf & 2) {
3090
3087
  i0.ɵɵproperty("ngIf", ctx.context);
3091
- } }, dependencies: [i5.NgForOf, i5.NgIf, i1$1.ɵNgNoValidate, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgControlStatusGroup, i1$1.RequiredValidator, i1$1.NgModel, i1$1.FormControlDirective, i1$1.FormGroupDirective, i1$1.FormControlName, i4.MatError, i4.MatFormField, i5$1.MatInput, i4$1.MatIcon, i7.MatButton, i6$1.MatTooltip, i7$1.MatListItem, i7$1.MatListAvatarCssMatStyler, i12.MatLine, i13$1.MatRadioGroup, i13$1.MatRadioButton, i12.MatOption, i14$1.MatAutocomplete, i14$1.MatAutocompleteTrigger, i14.ListComponent, i14.CollapsibleComponent, i14.StopPropagationDirective, i14.KeyValuePipe, i6.TranslatePipe], styles: ["[_nghost-%COMP%]{margin:10px}.full-width[_ngcontent-%COMP%]{width:100%}mat-radio-button[_ngcontent-%COMP%]{padding:14px 14px 14px 0}.scopeForm[_ngcontent-%COMP%], form[_ngcontent-%COMP%]{padding:5px}mat-option[_ngcontent-%COMP%] .mat-option-text{line-height:normal;line-height:initial}"] });
3088
+ } }, dependencies: [i5.NgForOf, i5.NgIf, i1$1.ɵNgNoValidate, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgControlStatusGroup, i1$1.RequiredValidator, i1$1.NgModel, i1$1.FormControlDirective, i1$1.FormGroupDirective, i1$1.FormControlName, i4.MatError, i4.MatFormField, i5$1.MatInput, i4$1.MatIcon, i7.MatButton, i6.MatTooltip, i7$1.MatListItem, i7$1.MatListAvatarCssMatStyler, i12.MatLine, i13$1.MatRadioGroup, i13$1.MatRadioButton, i12.MatOption, i14$1.MatAutocomplete, i14$1.MatAutocompleteTrigger, i14.ListComponent, i14.CollapsibleComponent, i14.StopPropagationDirective, i14.KeyValuePipe, i9$1.TranslatePipe], styles: ["[_nghost-%COMP%]{margin:10px}.full-width[_ngcontent-%COMP%]{width:100%}mat-radio-button[_ngcontent-%COMP%]{padding:14px 14px 14px 0}.scopeForm[_ngcontent-%COMP%], form[_ngcontent-%COMP%]{padding:5px}mat-option[_ngcontent-%COMP%] .mat-option-text{line-height:normal;line-height:initial}"] });
3092
3089
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextPermissionsComponent, [{
3093
3090
  type: Component,
3094
- args: [{ selector: 'igo-context-permissions', template: "<div *ngIf=\"context\">\r\n\r\n <div *ngIf=\"!canWrite\" class=\"scopeForm\">\r\n <h4>{{ 'igo.context.permission.readOnlyTitle' | translate }}</h4>\r\n <p>{{ 'igo.context.permission.readOnlyMsg' | translate }}</p>\r\n </div>\r\n\r\n <div *ngIf=\"canWrite\" class=\"scopeForm\">\r\n <mat-radio-group [(ngModel)]=\"context.scope\"\r\n (change)=\"scopeChanged.emit(context)\">\r\n <mat-radio-button value=\"private\">\r\n {{ 'igo.context.permission.scope.private' | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button value=\"protected\">\r\n {{ 'igo.context.permission.scope.shared' | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button *ngIf=\"authService.isAdmin\" value=\"public\">\r\n {{ 'igo.context.permission.scope.public' | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n\r\n <form *ngIf=\"context.scope !== 'private' && canWrite\" [formGroup]=\"form\"\r\n (ngSubmit)=\"handleFormSubmit(form.value)\">\r\n\r\n <mat-form-field class=\"full-width\">\r\n <input matInput required\r\n [placeholder]=\"'igo.context.permission.user' | translate\"\r\n [formControl]=\"formControl\"\r\n [matAutocomplete]=\"auto\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onProfilSelected($event.option.value)\"\r\n [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let profil of this.profils\" [value]=\"profil\">\r\n {{profil.title}}<br>\r\n <small class=\"mat-typography\">{{profil.name}}</small>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-error>\r\n {{ 'igo.context.permission.profilRequired' | translate }}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n\r\n <mat-radio-group formControlName=\"typePermission\">\r\n <mat-radio-button value=\"read\">\r\n {{ 'igo.context.permission.read' | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button value=\"write\">\r\n {{ 'igo.context.permission.write' | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n\r\n\r\n <div class=\"igo-form-button-group\">\r\n <button\r\n mat-raised-button\r\n type=\"submit\"\r\n [disabled]=\"!form.valid\">\r\n {{ 'igo.context.permission.addBtn' | translate }}\r\n </button>\r\n </div>\r\n\r\n </form>\r\n\r\n <igo-list *ngIf=\"permissions && context.scope !== 'private'\">\r\n <ng-template ngFor let-groupPermissions [ngForOf]=\"permissions | keyvalue\">\r\n <igo-collapsible\r\n *ngIf=\"groupPermissions.value.length\"\r\n [title]=\"'igo.context.permission.' + groupPermissions.key | translate\">\r\n\r\n <ng-template ngFor let-permission [ngForOf]=\"groupPermissions.value\">\r\n <mat-list-item>\r\n <mat-icon mat-list-avatar svgIcon=\"account-outline\"></mat-icon>\r\n <h4 mat-line>{{permission.profilTitle}} <small class=\"mat-typography\">{{permission.profil}}</small></h4>\r\n\r\n <div igoStopPropagation\r\n class=\"igo-actions-container\">\r\n\r\n <button *ngIf=\"canWrite || permission.profil === authService.decodeToken().user.sourceId\"\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.permission.delete' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n color=\"warn\"\r\n (click)=\"removePermission.emit(permission)\">\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n </div>\r\n\r\n </mat-list-item>\r\n </ng-template>\r\n </igo-collapsible>\r\n </ng-template>\r\n </igo-list>\r\n\r\n</div>\r\n", styles: [":host{margin:10px}.full-width{width:100%}mat-radio-button{padding:14px 14px 14px 0}.scopeForm,form{padding:5px}mat-option ::ng-deep .mat-option-text{line-height:normal;line-height:initial}\n"] }]
3095
- }], function () { return [{ type: i1$1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.ConfigService }]; }, { context: [{
3091
+ args: [{ selector: 'igo-context-permissions', template: "<div *ngIf=\"context\">\n\n <div *ngIf=\"!canWrite\" class=\"scopeForm\">\n <h4>{{ 'igo.context.permission.readOnlyTitle' | translate }}</h4>\n <p>{{ 'igo.context.permission.readOnlyMsg' | translate }}</p>\n </div>\n\n <div *ngIf=\"canWrite\" class=\"scopeForm\">\n <mat-radio-group [(ngModel)]=\"context.scope\"\n (change)=\"scopeChanged.emit(context)\">\n <mat-radio-button value=\"private\">\n {{ 'igo.context.permission.scope.private' | translate }}\n </mat-radio-button>\n <mat-radio-button value=\"protected\">\n {{ 'igo.context.permission.scope.shared' | translate }}\n </mat-radio-button>\n <mat-radio-button *ngIf=\"authService.isAdmin\" value=\"public\">\n {{ 'igo.context.permission.scope.public' | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </div>\n\n <form *ngIf=\"context.scope !== 'private' && canWrite\" [formGroup]=\"form\"\n (ngSubmit)=\"handleFormSubmit(form.value)\">\n\n <mat-form-field class=\"full-width\">\n <input matInput required\n [placeholder]=\"'igo.context.permission.user' | translate\"\n [formControl]=\"formControl\"\n [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onProfilSelected($event.option.value)\"\n [displayWith]=\"displayFn\">\n <mat-option *ngFor=\"let profil of this.profils\" [value]=\"profil\">\n {{profil.title}}<br>\n <small class=\"mat-typography\">{{profil.name}}</small>\n </mat-option>\n </mat-autocomplete>\n <mat-error>\n {{ 'igo.context.permission.profilRequired' | translate }}\n </mat-error>\n </mat-form-field>\n\n\n <mat-radio-group formControlName=\"typePermission\">\n <mat-radio-button value=\"read\">\n {{ 'igo.context.permission.read' | translate }}\n </mat-radio-button>\n <mat-radio-button value=\"write\">\n {{ 'igo.context.permission.write' | translate }}\n </mat-radio-button>\n </mat-radio-group>\n\n\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n type=\"submit\"\n [disabled]=\"!form.valid\">\n {{ 'igo.context.permission.addBtn' | translate }}\n </button>\n </div>\n\n </form>\n\n <igo-list *ngIf=\"permissions && context.scope !== 'private'\">\n <ng-template ngFor let-groupPermissions [ngForOf]=\"permissions | keyvalue\">\n <igo-collapsible\n *ngIf=\"groupPermissions.value.length\"\n [title]=\"'igo.context.permission.' + groupPermissions.key | translate\">\n\n <ng-template ngFor let-permission [ngForOf]=\"groupPermissions.value\">\n <mat-list-item>\n <mat-icon mat-list-avatar svgIcon=\"account-outline\"></mat-icon>\n <h4 mat-line>{{permission.profilTitle}} <small class=\"mat-typography\">{{permission.profil}}</small></h4>\n\n <div igoStopPropagation\n class=\"igo-actions-container\">\n\n <button *ngIf=\"canWrite || permission.profil === authService.decodeToken().user.sourceId\"\n mat-icon-button\n [matTooltip]=\"'igo.context.permission.delete' | translate\"\n matTooltipShowDelay=\"500\"\n color=\"warn\"\n (click)=\"removePermission.emit(permission)\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n </div>\n\n </mat-list-item>\n </ng-template>\n </igo-collapsible>\n </ng-template>\n </igo-list>\n\n</div>\n", styles: [":host{margin:10px}.full-width{width:100%}mat-radio-button{padding:14px 14px 14px 0}.scopeForm,form{padding:5px}mat-option ::ng-deep .mat-option-text{line-height:normal;line-height:initial}\n"] }]
3092
+ }], function () { return [{ type: i1$1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }, { type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.ConfigService }]; }, { context: [{
3096
3093
  type: Input
3097
3094
  }], permissions: [{
3098
3095
  type: Input
@@ -3266,10 +3263,10 @@ BookmarkButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Boo
3266
3263
  } if (rf & 2) {
3267
3264
  i0.ɵɵadvance(1);
3268
3265
  i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 2, "igo.context.bookmarkButton.create"))("color", ctx.color);
3269
- } }, dependencies: [i4$1.MatIcon, i7.MatButton, i6$1.MatTooltip, i6.TranslatePipe], styles: [".igo-bookmark-button-container[_ngcontent-%COMP%]{width:40px}.igo-bookmark-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#fff}.igo-bookmark-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#efefef}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
3266
+ } }, dependencies: [i4$1.MatIcon, i7.MatButton, i6.MatTooltip, i9$1.TranslatePipe], styles: [".igo-bookmark-button-container[_ngcontent-%COMP%]{width:40px}.igo-bookmark-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#fff}.igo-bookmark-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#efefef}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
3270
3267
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BookmarkButtonComponent, [{
3271
3268
  type: Component,
3272
- args: [{ selector: 'igo-bookmark-button', template: "<div class=\"igo-bookmark-button-container\">\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.bookmarkButton.create' | translate\"\r\n matTooltipPosition=\"above\"\r\n [color]=\"color\"\r\n (click)=\"createContext()\">\r\n <mat-icon svgIcon=\"star\"></mat-icon>\r\n </button>\r\n</div>\r\n", styles: [".igo-bookmark-button-container{width:40px}.igo-bookmark-button-container button{background-color:#fff}.igo-bookmark-button-container button:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
3269
+ args: [{ selector: 'igo-bookmark-button', template: "<div class=\"igo-bookmark-button-container\">\n <button\n mat-icon-button\n [matTooltip]=\"'igo.context.bookmarkButton.create' | translate\"\n matTooltipPosition=\"above\"\n [color]=\"color\"\n (click)=\"createContext()\">\n <mat-icon svgIcon=\"star\"></mat-icon>\n </button>\n</div>\n", styles: [".igo-bookmark-button-container{width:40px}.igo-bookmark-button-container button{background-color:#fff}.igo-bookmark-button-container button:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
3273
3270
  }], function () { return [{ type: i1$3.MatDialog }, { type: ContextService }, { type: i3.LanguageService }, { type: i3.MessageService }]; }, { map: [{
3274
3271
  type: Input
3275
3272
  }], color: [{
@@ -3312,10 +3309,10 @@ PoiDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoiDialo
3312
3309
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 10, "igo.common.confirmDialog.confirmBtn"), " ");
3313
3310
  i0.ɵɵadvance(3);
3314
3311
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 12, "igo.common.confirmDialog.cancelBtn"), " ");
3315
- } }, dependencies: [i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.RequiredValidator, i1$1.NgModel, i7.MatButton, i4.MatFormField, i1$3.MatDialogTitle, i1$3.MatDialogContent, i1$3.MatDialogActions, i5$1.MatInput, i6.TranslatePipe], encapsulation: 2 });
3312
+ } }, dependencies: [i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.RequiredValidator, i1$1.NgModel, i7.MatButton, i4.MatFormField, i1$3.MatDialogTitle, i1$3.MatDialogContent, i1$3.MatDialogActions, i5$1.MatInput, i9$1.TranslatePipe], encapsulation: 2 });
3316
3313
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoiDialogComponent, [{
3317
3314
  type: Component,
3318
- args: [{ selector: 'igo-poi-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{ 'igo.context.poiButton.dialog.title' | translate }}</h1>\r\n<div mat-dialog-content>\r\n <mat-form-field>\r\n <input matInput required autocomplete=\"off\"\r\n [placeholder]=\"'igo.context.poiButton.dialog.placeholder' | translate\"\r\n [(ngModel)]=\"title\">\r\n </mat-form-field>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-button color=\"primary\"\r\n [disabled]=\"!title\"\r\n (click)=\"dialogRef.close(title)\">\r\n {{'igo.common.confirmDialog.confirmBtn' | translate}}\r\n </button>\r\n <button mat-button\r\n (click)=\"dialogRef.close(false)\">\r\n {{'igo.common.confirmDialog.cancelBtn' |\u00A0translate}}\r\n </button>\r\n</div>\r\n" }]
3315
+ args: [{ selector: 'igo-poi-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{ 'igo.context.poiButton.dialog.title' | translate }}</h1>\n<div mat-dialog-content>\n <mat-form-field>\n <input matInput required autocomplete=\"off\"\n [placeholder]=\"'igo.context.poiButton.dialog.placeholder' | translate\"\n [(ngModel)]=\"title\">\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button mat-button color=\"primary\"\n [disabled]=\"!title\"\n (click)=\"dialogRef.close(title)\">\n {{'igo.common.confirmDialog.confirmBtn' | translate}}\n </button>\n <button mat-button\n (click)=\"dialogRef.close(false)\">\n {{'igo.common.confirmDialog.cancelBtn' |\u00A0translate}}\n </button>\n</div>\n" }]
3319
3316
  }], function () { return [{ type: i1$3.MatDialogRef }]; }, null); })();
3320
3317
 
3321
3318
  class PoiService {
@@ -3489,10 +3486,10 @@ PoiButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoiButto
3489
3486
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 5, "igo.context.poiButton.create"));
3490
3487
  i0.ɵɵadvance(4);
3491
3488
  i0.ɵɵproperty("ngForOf", ctx.pois);
3492
- } }, dependencies: [i5.NgForOf, i14.StopPropagationDirective, i4$1.MatIcon, i7.MatButton, i11.MatSelect, i12.MatOption, i6.TranslatePipe], styles: ["mat-select[_ngcontent-%COMP%]{width:150px;background-color:#fff;height:40px;padding-top:0}mat-select[_ngcontent-%COMP%] .mat-select-trigger{height:40px}mat-select[_ngcontent-%COMP%] .mat-select-value-text, mat-select[_ngcontent-%COMP%] .mat-select-placeholder{padding:5px;top:12px;position:relative}.mat-option[_ngcontent-%COMP%]{text-overflow:inherit}.titlePoi[_ngcontent-%COMP%]{max-width:135px;overflow:hidden;text-overflow:ellipsis;float:left}.buttonPoi[_ngcontent-%COMP%]{float:right;margin:4px -10px 4px 0}.buttonPoi[_ngcontent-%COMP%] .mat-icon{margin:0 8px}"] });
3489
+ } }, dependencies: [i5.NgForOf, i14.StopPropagationDirective, i4$1.MatIcon, i7.MatButton, i11.MatSelect, i12.MatOption, i9$1.TranslatePipe], styles: ["mat-select[_ngcontent-%COMP%]{width:150px;background-color:#fff;height:40px;padding-top:0}mat-select[_ngcontent-%COMP%] .mat-select-trigger{height:40px}mat-select[_ngcontent-%COMP%] .mat-select-value-text, mat-select[_ngcontent-%COMP%] .mat-select-placeholder{padding:5px;position:relative}.mat-option[_ngcontent-%COMP%]{text-overflow:inherit}.titlePoi[_ngcontent-%COMP%]{max-width:135px;overflow:hidden;text-overflow:ellipsis;float:left}.buttonPoi[_ngcontent-%COMP%]{float:right;margin:4px -10px 4px 0}.buttonPoi[_ngcontent-%COMP%] .mat-icon{margin:0 8px}"] });
3493
3490
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoiButtonComponent, [{
3494
3491
  type: Component,
3495
- args: [{ selector: 'igo-poi-button', template: "<mat-select [placeholder]=\"'igo.context.poiButton.placeholder' |\u00A0translate\"\r\n floatPlaceholder=\"never\">\r\n\r\n <mat-option (click)=\"createPoi()\">\r\n <div class=\"titlePoi\">{{ 'igo.context.poiButton.create' |\u00A0translate }}</div>\r\n <button igoStopPropagation class=\"addPoi buttonPoi\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"createPoi()\">\r\n <mat-icon svgIcon=\"plus-circle\"></mat-icon>\r\n </button>\r\n </mat-option>\r\n <mat-option *ngFor=\"let poi of pois\" [value]=\"poi.id\" (click)=\"zoomOnPoi(poi.id)\">\r\n <div class=\"titlePoi\">{{ poi.title }}</div>\r\n <button igoStopPropagation class=\"deletePoi buttonPoi\"\r\n mat-icon-button\r\n color=\"warn\"\r\n (click)=\"deletePoi(poi)\">\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n </mat-option>\r\n</mat-select>\r\n", styles: ["mat-select{width:150px;background-color:#fff;height:40px;padding-top:0}mat-select ::ng-deep .mat-select-trigger{height:40px}mat-select ::ng-deep .mat-select-value-text,mat-select ::ng-deep .mat-select-placeholder{padding:5px;top:12px;position:relative}.mat-option{text-overflow:inherit}.titlePoi{max-width:135px;overflow:hidden;text-overflow:ellipsis;float:left}.buttonPoi{float:right;margin:4px -10px 4px 0}.buttonPoi ::ng-deep .mat-icon{margin:0 8px}\n"] }]
3492
+ args: [{ selector: 'igo-poi-button', template: "<mat-select [placeholder]=\"'igo.context.poiButton.placeholder' |\u00A0translate\"\n floatPlaceholder=\"never\">\n\n <mat-option (click)=\"createPoi()\">\n <div class=\"titlePoi\">{{ 'igo.context.poiButton.create' |\u00A0translate }}</div>\n <button igoStopPropagation class=\"addPoi buttonPoi\"\n mat-icon-button\n color=\"primary\"\n (click)=\"createPoi()\">\n <mat-icon svgIcon=\"plus-circle\"></mat-icon>\n </button>\n </mat-option>\n <mat-option *ngFor=\"let poi of pois\" [value]=\"poi.id\" (click)=\"zoomOnPoi(poi.id)\">\n <div class=\"titlePoi\">{{ poi.title }}</div>\n <button igoStopPropagation class=\"deletePoi buttonPoi\"\n mat-icon-button\n color=\"warn\"\n (click)=\"deletePoi(poi)\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n </mat-option>\n</mat-select>\n", styles: ["mat-select{width:150px;background-color:#fff;height:40px;padding-top:0}mat-select ::ng-deep .mat-select-trigger{height:40px}mat-select ::ng-deep .mat-select-value-text,mat-select ::ng-deep .mat-select-placeholder{padding:5px;position:relative}.mat-option{text-overflow:inherit}.titlePoi{max-width:135px;overflow:hidden;text-overflow:ellipsis;float:left}.buttonPoi{float:right;margin:4px -10px 4px 0}.buttonPoi ::ng-deep .mat-icon{margin:0 8px}\n"] }]
3496
3493
  }], function () { return [{ type: i1$3.MatDialog }, { type: i2.AuthService }, { type: PoiService }, { type: i3.MessageService }, { type: i3.LanguageService }, { type: i14.ConfirmDialogService }]; }, { map: [{
3497
3494
  type: Input
3498
3495
  }], color: [{
@@ -3552,10 +3549,10 @@ UserDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserDia
3552
3549
  i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(12, 14, "igo.context.userButton.dialog.expiration"), ": ", ctx.exp, "");
3553
3550
  i0.ɵɵadvance(3);
3554
3551
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 16, "igo.context.userButton.dialog.clearPreferences"), " ");
3555
- } }, dependencies: [i7.MatButton, i1$3.MatDialogTitle, i1$3.MatDialogContent, i1$3.MatDialogActions, i6.TranslatePipe], encapsulation: 2 });
3552
+ } }, dependencies: [i7.MatButton, i1$3.MatDialogTitle, i1$3.MatDialogContent, i1$3.MatDialogActions, i9$1.TranslatePipe], encapsulation: 2 });
3556
3553
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserDialogComponent, [{
3557
3554
  type: Component,
3558
- args: [{ selector: 'igo-user-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{'igo.context.userButton.infoTitle' | translate}}</h1>\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <p>{{'igo.context.userButton.dialog.user' | translate}}: {{user.sourceId}}</p>\r\n <p>{{'igo.context.userButton.dialog.email' | translate}}: {{user.email}}</p>\r\n <p>{{'igo.context.userButton.dialog.expiration' | translate}}: {{exp}}</p>\r\n <button mat-stroked-button color=\"primary\" (click)=\"clearPreferences()\">\r\n {{'igo.context.userButton.dialog.clearPreferences' | translate}}\r\n </button>\r\n <br>\r\n</div>\r\n<div mat-dialog-actions style=\"justify-content: center\">\r\n <button mat-raised-button color=\"primary\"\r\n (click)=\"dialogRef.close(false)\">\r\n OK\r\n </button>\r\n</div>\r\n" }]
3555
+ args: [{ selector: 'igo-user-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{'igo.context.userButton.infoTitle' | translate}}</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <p>{{'igo.context.userButton.dialog.user' | translate}}: {{user.sourceId}}</p>\n <p>{{'igo.context.userButton.dialog.email' | translate}}: {{user.email}}</p>\n <p>{{'igo.context.userButton.dialog.expiration' | translate}}: {{exp}}</p>\n <button mat-stroked-button color=\"primary\" (click)=\"clearPreferences()\">\n {{'igo.context.userButton.dialog.clearPreferences' | translate}}\n </button>\n <br>\n</div>\n<div mat-dialog-actions style=\"justify-content: center\">\n <button mat-raised-button color=\"primary\"\n (click)=\"dialogRef.close(false)\">\n OK\n </button>\n</div>\n" }]
3559
3556
  }], function () { return [{ type: i1$3.MatDialogRef }, { type: i2.AuthService }, { type: i3.StorageService }]; }, null); })();
3560
3557
 
3561
3558
  function userButtonSlideInOut() {
@@ -3655,10 +3652,10 @@ UserButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserBut
3655
3652
  i0.ɵɵtemplate(0, UserButtonComponent_div_0_Template, 11, 11, "div", 0);
3656
3653
  } if (rf & 2) {
3657
3654
  i0.ɵɵproperty("ngIf", ctx.visible);
3658
- } }, dependencies: [i5.NgIf, i4$1.MatIcon, i7.MatButton, i6$1.MatTooltip, PoiButtonComponent, i6.TranslatePipe], styles: [".igo-user-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#fff}.igo-user-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#efefef}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.igo-user-button-container[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{position:absolute;bottom:0}}.igo-user-button-more-container[_ngcontent-%COMP%]{float:left;height:40px}.igo-user-button-more-container[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-right:2px;float:left}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.igo-user-button-more-container[_ngcontent-%COMP%]{height:80px;width:150px;position:relative;left:24px}}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"], data: { animation: [userButtonSlideInOut()] } });
3655
+ } }, dependencies: [i5.NgIf, i4$1.MatIcon, i7.MatButton, i6.MatTooltip, PoiButtonComponent, i9$1.TranslatePipe], styles: [".igo-user-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#fff}.igo-user-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#efefef}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.igo-user-button-container[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{position:absolute;bottom:0}}.igo-user-button-more-container[_ngcontent-%COMP%]{float:left;height:40px}.igo-user-button-more-container[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-right:2px;float:left}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.igo-user-button-more-container[_ngcontent-%COMP%]{height:80px;width:150px;position:relative;left:24px}}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"], data: { animation: [userButtonSlideInOut()] } });
3659
3656
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserButtonComponent, [{
3660
3657
  type: Component,
3661
- args: [{ selector: 'igo-user-button', animations: [userButtonSlideInOut()], template: "<div *ngIf=\"visible\" class=\"igo-user-button-container\">\r\n <div class=\"igo-user-button-more-container\" [@userButtonState]=\"expand ? 'expand' : 'collapse'\">\r\n\r\n <igo-poi-button *ngIf=\"hasApi\" [color]=\"color\" [map]=\"map\"></igo-poi-button>\r\n\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.userButton.infoTitle' | translate\"\r\n matTooltipPosition=\"above\"\r\n [color]=\"color\"\r\n (click)=\"infoUser()\">\r\n <mat-icon svgIcon=\"information-outline\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.userButton.logout' |\u00A0translate\"\r\n matTooltipPosition=\"above\"\r\n [color]=\"color\"\r\n (click)=\"logout()\">\r\n <mat-icon svgIcon=\"power\"></mat-icon>\r\n </button>\r\n\r\n </div>\r\n\r\n <button\r\n mat-icon-button\r\n [color]=\"auth.authenticated ? color : 'warn'\"\r\n (click)=\"accountClick()\">\r\n <mat-icon svgIcon=\"account-box\"></mat-icon>\r\n </button>\r\n</div>\r\n", styles: [".igo-user-button-container button{background-color:#fff}.igo-user-button-container button:hover{background-color:#efefef}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.igo-user-button-container>button{position:absolute;bottom:0}}.igo-user-button-more-container{float:left;height:40px}.igo-user-button-more-container>*{margin-right:2px;float:left}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.igo-user-button-more-container{height:80px;width:150px;position:relative;left:24px}}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
3658
+ args: [{ selector: 'igo-user-button', animations: [userButtonSlideInOut()], template: "<div *ngIf=\"visible\" class=\"igo-user-button-container\">\n <div class=\"igo-user-button-more-container\" [@userButtonState]=\"expand ? 'expand' : 'collapse'\">\n\n <igo-poi-button *ngIf=\"hasApi\" [color]=\"color\" [map]=\"map\"></igo-poi-button>\n\n <button\n mat-icon-button\n [matTooltip]=\"'igo.context.userButton.infoTitle' | translate\"\n matTooltipPosition=\"above\"\n [color]=\"color\"\n (click)=\"infoUser()\">\n <mat-icon svgIcon=\"information-outline\"></mat-icon>\n </button>\n\n <button\n mat-icon-button\n [matTooltip]=\"'igo.context.userButton.logout' |\u00A0translate\"\n matTooltipPosition=\"above\"\n [color]=\"color\"\n (click)=\"logout()\">\n <mat-icon svgIcon=\"power\"></mat-icon>\n </button>\n\n </div>\n\n <button\n mat-icon-button\n [color]=\"auth.authenticated ? color : 'warn'\"\n (click)=\"accountClick()\">\n <mat-icon svgIcon=\"account-box\"></mat-icon>\n </button>\n</div>\n", styles: [".igo-user-button-container button{background-color:#fff}.igo-user-button-container button:hover{background-color:#efefef}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.igo-user-button-container>button{position:absolute;bottom:0}}.igo-user-button-more-container{float:left;height:40px}.igo-user-button-more-container>*{margin-right:2px;float:left}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.igo-user-button-more-container{height:80px;width:150px;position:relative;left:24px}}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
3662
3659
  }], function () { return [{ type: i1$3.MatDialog }, { type: i3.ConfigService }, { type: i2.AuthService }]; }, { map: [{
3663
3660
  type: Input
3664
3661
  }], color: [{
@@ -4067,7 +4064,7 @@ ShareMapService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ShareMap
4067
4064
  type: Optional
4068
4065
  }] }]; }, null); })();
4069
4066
 
4070
- function ShareMapUrlComponent_h4_13_Template(rf, ctx) { if (rf & 1) {
4067
+ function ShareMapUrlComponent_div_13_h4_1_Template(rf, ctx) { if (rf & 1) {
4071
4068
  i0.ɵɵelementStart(0, "h4");
4072
4069
  i0.ɵɵtext(1);
4073
4070
  i0.ɵɵpipe(2, "translate");
@@ -4076,7 +4073,7 @@ function ShareMapUrlComponent_h4_13_Template(rf, ctx) { if (rf & 1) {
4076
4073
  i0.ɵɵadvance(1);
4077
4074
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.included"));
4078
4075
  } }
4079
- function ShareMapUrlComponent_li_16_Template(rf, ctx) { if (rf & 1) {
4076
+ function ShareMapUrlComponent_div_13_li_4_Template(rf, ctx) { if (rf & 1) {
4080
4077
  i0.ɵɵelementStart(0, "li");
4081
4078
  i0.ɵɵtext(1);
4082
4079
  i0.ɵɵpipe(2, "translate");
@@ -4085,7 +4082,7 @@ function ShareMapUrlComponent_li_16_Template(rf, ctx) { if (rf & 1) {
4085
4082
  i0.ɵɵadvance(1);
4086
4083
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.context"));
4087
4084
  } }
4088
- function ShareMapUrlComponent_li_18_Template(rf, ctx) { if (rf & 1) {
4085
+ function ShareMapUrlComponent_div_13_li_6_Template(rf, ctx) { if (rf & 1) {
4089
4086
  i0.ɵɵelementStart(0, "li");
4090
4087
  i0.ɵɵtext(1);
4091
4088
  i0.ɵɵpipe(2, "translate");
@@ -4094,7 +4091,7 @@ function ShareMapUrlComponent_li_18_Template(rf, ctx) { if (rf & 1) {
4094
4091
  i0.ɵɵadvance(1);
4095
4092
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.center"));
4096
4093
  } }
4097
- function ShareMapUrlComponent_li_20_Template(rf, ctx) { if (rf & 1) {
4094
+ function ShareMapUrlComponent_div_13_li_8_Template(rf, ctx) { if (rf & 1) {
4098
4095
  i0.ɵɵelementStart(0, "li");
4099
4096
  i0.ɵɵtext(1);
4100
4097
  i0.ɵɵpipe(2, "translate");
@@ -4103,7 +4100,7 @@ function ShareMapUrlComponent_li_20_Template(rf, ctx) { if (rf & 1) {
4103
4100
  i0.ɵɵadvance(1);
4104
4101
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.zoom"));
4105
4102
  } }
4106
- function ShareMapUrlComponent_li_22_Template(rf, ctx) { if (rf & 1) {
4103
+ function ShareMapUrlComponent_div_13_li_10_Template(rf, ctx) { if (rf & 1) {
4107
4104
  i0.ɵɵelementStart(0, "li");
4108
4105
  i0.ɵɵtext(1);
4109
4106
  i0.ɵɵpipe(2, "translate");
@@ -4112,7 +4109,7 @@ function ShareMapUrlComponent_li_22_Template(rf, ctx) { if (rf & 1) {
4112
4109
  i0.ɵɵadvance(1);
4113
4110
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.addedLayers"));
4114
4111
  } }
4115
- function ShareMapUrlComponent_li_24_Template(rf, ctx) { if (rf & 1) {
4112
+ function ShareMapUrlComponent_div_13_li_12_Template(rf, ctx) { if (rf & 1) {
4116
4113
  i0.ɵɵelementStart(0, "li");
4117
4114
  i0.ɵɵtext(1);
4118
4115
  i0.ɵɵpipe(2, "translate");
@@ -4121,7 +4118,7 @@ function ShareMapUrlComponent_li_24_Template(rf, ctx) { if (rf & 1) {
4121
4118
  i0.ɵɵadvance(1);
4122
4119
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.visibleInvisible"));
4123
4120
  } }
4124
- function ShareMapUrlComponent_h4_26_Template(rf, ctx) { if (rf & 1) {
4121
+ function ShareMapUrlComponent_div_13_h4_14_Template(rf, ctx) { if (rf & 1) {
4125
4122
  i0.ɵɵelementStart(0, "h4");
4126
4123
  i0.ɵɵtext(1);
4127
4124
  i0.ɵɵpipe(2, "translate");
@@ -4130,7 +4127,7 @@ function ShareMapUrlComponent_h4_26_Template(rf, ctx) { if (rf & 1) {
4130
4127
  i0.ɵɵadvance(1);
4131
4128
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.excluded"));
4132
4129
  } }
4133
- function ShareMapUrlComponent_li_29_Template(rf, ctx) { if (rf & 1) {
4130
+ function ShareMapUrlComponent_div_13_li_17_Template(rf, ctx) { if (rf & 1) {
4134
4131
  i0.ɵɵelementStart(0, "li");
4135
4132
  i0.ɵɵtext(1);
4136
4133
  i0.ɵɵpipe(2, "translate");
@@ -4139,7 +4136,7 @@ function ShareMapUrlComponent_li_29_Template(rf, ctx) { if (rf & 1) {
4139
4136
  i0.ɵɵadvance(1);
4140
4137
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.order"));
4141
4138
  } }
4142
- function ShareMapUrlComponent_li_31_Template(rf, ctx) { if (rf & 1) {
4139
+ function ShareMapUrlComponent_div_13_li_19_Template(rf, ctx) { if (rf & 1) {
4143
4140
  i0.ɵɵelementStart(0, "li");
4144
4141
  i0.ɵɵtext(1);
4145
4142
  i0.ɵɵpipe(2, "translate");
@@ -4148,7 +4145,7 @@ function ShareMapUrlComponent_li_31_Template(rf, ctx) { if (rf & 1) {
4148
4145
  i0.ɵɵadvance(1);
4149
4146
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.opacity"));
4150
4147
  } }
4151
- function ShareMapUrlComponent_li_33_Template(rf, ctx) { if (rf & 1) {
4148
+ function ShareMapUrlComponent_div_13_li_21_Template(rf, ctx) { if (rf & 1) {
4152
4149
  i0.ɵɵelementStart(0, "li");
4153
4150
  i0.ɵɵtext(1);
4154
4151
  i0.ɵɵpipe(2, "translate");
@@ -4157,7 +4154,7 @@ function ShareMapUrlComponent_li_33_Template(rf, ctx) { if (rf & 1) {
4157
4154
  i0.ɵɵadvance(1);
4158
4155
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.filterOgc"));
4159
4156
  } }
4160
- function ShareMapUrlComponent_li_35_Template(rf, ctx) { if (rf & 1) {
4157
+ function ShareMapUrlComponent_div_13_li_23_Template(rf, ctx) { if (rf & 1) {
4161
4158
  i0.ɵɵelementStart(0, "li");
4162
4159
  i0.ɵɵtext(1);
4163
4160
  i0.ɵɵpipe(2, "translate");
@@ -4166,9 +4163,66 @@ function ShareMapUrlComponent_li_35_Template(rf, ctx) { if (rf & 1) {
4166
4163
  i0.ɵɵadvance(1);
4167
4164
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.filterTime"));
4168
4165
  } }
4166
+ function ShareMapUrlComponent_div_13_Template(rf, ctx) { if (rf & 1) {
4167
+ i0.ɵɵelementStart(0, "div");
4168
+ i0.ɵɵtemplate(1, ShareMapUrlComponent_div_13_h4_1_Template, 3, 3, "h4", 7);
4169
+ i0.ɵɵpipe(2, "translate");
4170
+ i0.ɵɵelementStart(3, "ul");
4171
+ i0.ɵɵtemplate(4, ShareMapUrlComponent_div_13_li_4_Template, 3, 3, "li", 7);
4172
+ i0.ɵɵpipe(5, "translate");
4173
+ i0.ɵɵtemplate(6, ShareMapUrlComponent_div_13_li_6_Template, 3, 3, "li", 7);
4174
+ i0.ɵɵpipe(7, "translate");
4175
+ i0.ɵɵtemplate(8, ShareMapUrlComponent_div_13_li_8_Template, 3, 3, "li", 7);
4176
+ i0.ɵɵpipe(9, "translate");
4177
+ i0.ɵɵtemplate(10, ShareMapUrlComponent_div_13_li_10_Template, 3, 3, "li", 7);
4178
+ i0.ɵɵpipe(11, "translate");
4179
+ i0.ɵɵtemplate(12, ShareMapUrlComponent_div_13_li_12_Template, 3, 3, "li", 7);
4180
+ i0.ɵɵpipe(13, "translate");
4181
+ i0.ɵɵelementEnd();
4182
+ i0.ɵɵtemplate(14, ShareMapUrlComponent_div_13_h4_14_Template, 3, 3, "h4", 7);
4183
+ i0.ɵɵpipe(15, "translate");
4184
+ i0.ɵɵelementStart(16, "ul");
4185
+ i0.ɵɵtemplate(17, ShareMapUrlComponent_div_13_li_17_Template, 3, 3, "li", 7);
4186
+ i0.ɵɵpipe(18, "translate");
4187
+ i0.ɵɵtemplate(19, ShareMapUrlComponent_div_13_li_19_Template, 3, 3, "li", 7);
4188
+ i0.ɵɵpipe(20, "translate");
4189
+ i0.ɵɵtemplate(21, ShareMapUrlComponent_div_13_li_21_Template, 3, 3, "li", 7);
4190
+ i0.ɵɵpipe(22, "translate");
4191
+ i0.ɵɵtemplate(23, ShareMapUrlComponent_div_13_li_23_Template, 3, 3, "li", 7);
4192
+ i0.ɵɵpipe(24, "translate");
4193
+ i0.ɵɵelementEnd()();
4194
+ } if (rf & 2) {
4195
+ i0.ɵɵadvance(1);
4196
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 11, "igo.context.shareMap.included") !== "");
4197
+ i0.ɵɵadvance(3);
4198
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 13, "igo.context.shareMap.context") !== "");
4199
+ i0.ɵɵadvance(2);
4200
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(7, 15, "igo.context.shareMap.center") !== "");
4201
+ i0.ɵɵadvance(2);
4202
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(9, 17, "igo.context.shareMap.zoom") !== "");
4203
+ i0.ɵɵadvance(2);
4204
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 19, "igo.context.shareMap.addedLayers") !== "");
4205
+ i0.ɵɵadvance(2);
4206
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(13, 21, "igo.context.shareMap.visibleInvisible") !== "");
4207
+ i0.ɵɵadvance(2);
4208
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(15, 23, "igo.context.shareMap.excluded") !== "");
4209
+ i0.ɵɵadvance(3);
4210
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(18, 25, "igo.context.shareMap.order") !== "");
4211
+ i0.ɵɵadvance(2);
4212
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(20, 27, "igo.context.shareMap.opacity") !== "");
4213
+ i0.ɵɵadvance(2);
4214
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(22, 29, "igo.context.shareMap.filterOgc") !== "");
4215
+ i0.ɵɵadvance(2);
4216
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(24, 31, "igo.context.shareMap.filterTime") !== "");
4217
+ } }
4218
+ function ShareMapUrlComponent_igo_custom_html_15_Template(rf, ctx) { if (rf & 1) {
4219
+ i0.ɵɵelement(0, "igo-custom-html", 9);
4220
+ i0.ɵɵpipe(1, "translate");
4221
+ } if (rf & 2) {
4222
+ i0.ɵɵproperty("html", i0.ɵɵpipeBind1(1, 1, "igo.context.shareMap.htmlClarifications"));
4223
+ } }
4169
4224
  class ShareMapUrlComponent {
4170
- constructor(languageService, messageService, shareMapService, cdRef) {
4171
- this.languageService = languageService;
4225
+ constructor(messageService, shareMapService, cdRef) {
4172
4226
  this.messageService = messageService;
4173
4227
  this.shareMapService = shareMapService;
4174
4228
  this.cdRef = cdRef;
@@ -4198,22 +4252,19 @@ class ShareMapUrlComponent {
4198
4252
  copyTextToClipboard(textArea) {
4199
4253
  const successful = Clipboard.copy(textArea);
4200
4254
  if (successful) {
4201
- const translate = this.languageService.translate;
4202
- const title = translate.instant('igo.context.shareMap.dialog.copyTitle');
4203
- const msg = translate.instant('igo.context.shareMap.dialog.copyMsg');
4204
- this.messageService.success(msg, title);
4255
+ this.messageService.success('igo.context.shareMap.dialog.copyMsg', 'igo.context.shareMap.dialog.copyTitle');
4205
4256
  }
4206
4257
  }
4207
4258
  }
4208
- ShareMapUrlComponent.ɵfac = function ShareMapUrlComponent_Factory(t) { return new (t || ShareMapUrlComponent)(i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(ShareMapService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
4209
- ShareMapUrlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareMapUrlComponent, selectors: [["igo-share-map-url"]], inputs: { map: "map" }, decls: 37, vars: 40, consts: [[1, "igo-input-container", "linkToShare"], ["matInput", "", "readonly", "", "rows", "3", 3, "placeholder", "value"], ["textArea", ""], [1, "igo-form-button-group"], ["mat-raised-button", "", 3, "click"], ["svgIcon", "content-copy"], [1, "mat-typography"], [4, "ngIf"]], template: function ShareMapUrlComponent_Template(rf, ctx) { if (rf & 1) {
4210
- const _r12 = i0.ɵɵgetCurrentView();
4259
+ ShareMapUrlComponent.ɵfac = function ShareMapUrlComponent_Factory(t) { return new (t || ShareMapUrlComponent)(i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(ShareMapService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
4260
+ ShareMapUrlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareMapUrlComponent, selectors: [["igo-share-map-url"]], inputs: { map: "map" }, decls: 17, vars: 13, consts: [[1, "igo-input-container", "linkToShare"], ["matInput", "", "readonly", "", "rows", "3", 3, "placeholder", "value"], ["textArea", ""], [1, "igo-form-button-group"], ["mat-raised-button", "", 3, "click"], ["svgIcon", "content-copy"], [1, "mat-typography"], [4, "ngIf"], ["class", "shareCustomPadding", "class", "mat-typography", 3, "html", 4, "ngIf"], [1, "mat-typography", 3, "html"]], template: function ShareMapUrlComponent_Template(rf, ctx) { if (rf & 1) {
4261
+ const _r14 = i0.ɵɵgetCurrentView();
4211
4262
  i0.ɵɵelementStart(0, "div", 0)(1, "mat-form-field");
4212
4263
  i0.ɵɵelement(2, "textarea", 1, 2);
4213
4264
  i0.ɵɵpipe(4, "translate");
4214
4265
  i0.ɵɵelementEnd();
4215
4266
  i0.ɵɵelementStart(5, "div", 3)(6, "button", 4);
4216
- i0.ɵɵlistener("click", function ShareMapUrlComponent_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r12); const _r0 = i0.ɵɵreference(3); return i0.ɵɵresetView(ctx.copyTextToClipboard(_r0)); });
4267
+ i0.ɵɵlistener("click", function ShareMapUrlComponent_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r14); const _r0 = i0.ɵɵreference(3); return i0.ɵɵresetView(ctx.copyTextToClipboard(_r0)); });
4217
4268
  i0.ɵɵelement(7, "mat-icon", 5);
4218
4269
  i0.ɵɵtext(8);
4219
4270
  i0.ɵɵpipe(9, "translate");
@@ -4221,64 +4272,25 @@ ShareMapUrlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareM
4221
4272
  i0.ɵɵelementStart(10, "div");
4222
4273
  i0.ɵɵelement(11, "br");
4223
4274
  i0.ɵɵelementStart(12, "section", 6);
4224
- i0.ɵɵtemplate(13, ShareMapUrlComponent_h4_13_Template, 3, 3, "h4", 7);
4275
+ i0.ɵɵtemplate(13, ShareMapUrlComponent_div_13_Template, 25, 33, "div", 7);
4225
4276
  i0.ɵɵpipe(14, "translate");
4226
- i0.ɵɵelementStart(15, "ul");
4227
- i0.ɵɵtemplate(16, ShareMapUrlComponent_li_16_Template, 3, 3, "li", 7);
4228
- i0.ɵɵpipe(17, "translate");
4229
- i0.ɵɵtemplate(18, ShareMapUrlComponent_li_18_Template, 3, 3, "li", 7);
4230
- i0.ɵɵpipe(19, "translate");
4231
- i0.ɵɵtemplate(20, ShareMapUrlComponent_li_20_Template, 3, 3, "li", 7);
4232
- i0.ɵɵpipe(21, "translate");
4233
- i0.ɵɵtemplate(22, ShareMapUrlComponent_li_22_Template, 3, 3, "li", 7);
4234
- i0.ɵɵpipe(23, "translate");
4235
- i0.ɵɵtemplate(24, ShareMapUrlComponent_li_24_Template, 3, 3, "li", 7);
4236
- i0.ɵɵpipe(25, "translate");
4237
- i0.ɵɵelementEnd();
4238
- i0.ɵɵtemplate(26, ShareMapUrlComponent_h4_26_Template, 3, 3, "h4", 7);
4239
- i0.ɵɵpipe(27, "translate");
4240
- i0.ɵɵelementStart(28, "ul");
4241
- i0.ɵɵtemplate(29, ShareMapUrlComponent_li_29_Template, 3, 3, "li", 7);
4242
- i0.ɵɵpipe(30, "translate");
4243
- i0.ɵɵtemplate(31, ShareMapUrlComponent_li_31_Template, 3, 3, "li", 7);
4244
- i0.ɵɵpipe(32, "translate");
4245
- i0.ɵɵtemplate(33, ShareMapUrlComponent_li_33_Template, 3, 3, "li", 7);
4246
- i0.ɵɵpipe(34, "translate");
4247
- i0.ɵɵtemplate(35, ShareMapUrlComponent_li_35_Template, 3, 3, "li", 7);
4248
- i0.ɵɵpipe(36, "translate");
4249
- i0.ɵɵelementEnd()()()();
4277
+ i0.ɵɵtemplate(15, ShareMapUrlComponent_igo_custom_html_15_Template, 2, 3, "igo-custom-html", 8);
4278
+ i0.ɵɵpipe(16, "translate");
4279
+ i0.ɵɵelementEnd()()();
4250
4280
  } if (rf & 2) {
4251
4281
  i0.ɵɵadvance(2);
4252
- i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(4, 14, "igo.context.shareMap.placeholderLink"))("value", ctx.url);
4282
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(4, 5, "igo.context.shareMap.placeholderLink"))("value", ctx.url);
4253
4283
  i0.ɵɵadvance(6);
4254
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 16, "igo.context.shareMap.copy"), " ");
4284
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 7, "igo.context.shareMap.copy"), " ");
4255
4285
  i0.ɵɵadvance(5);
4256
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(14, 18, "igo.context.shareMap.included") !== "");
4257
- i0.ɵɵadvance(3);
4258
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(17, 20, "igo.context.shareMap.context") !== "");
4259
- i0.ɵɵadvance(2);
4260
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(19, 22, "igo.context.shareMap.center") !== "");
4261
- i0.ɵɵadvance(2);
4262
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(21, 24, "igo.context.shareMap.zoom") !== "");
4263
- i0.ɵɵadvance(2);
4264
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(23, 26, "igo.context.shareMap.addedLayers") !== "");
4265
- i0.ɵɵadvance(2);
4266
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(25, 28, "igo.context.shareMap.visibleInvisible") !== "");
4267
- i0.ɵɵadvance(2);
4268
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(27, 30, "igo.context.shareMap.excluded") !== "");
4269
- i0.ɵɵadvance(3);
4270
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(30, 32, "igo.context.shareMap.order") !== "");
4271
- i0.ɵɵadvance(2);
4272
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(32, 34, "igo.context.shareMap.opacity") !== "");
4273
- i0.ɵɵadvance(2);
4274
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(34, 36, "igo.context.shareMap.filterOgc") !== "");
4286
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(14, 9, "igo.context.shareMap.htmlClarifications") === "");
4275
4287
  i0.ɵɵadvance(2);
4276
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(36, 38, "igo.context.shareMap.filterTime") !== "");
4277
- } }, dependencies: [i5.NgIf, i4$1.MatIcon, i4.MatFormField, i5$1.MatInput, i7.MatButton, i6.TranslatePipe], styles: ["@charset \"UTF-8\";mat-form-field[_ngcontent-%COMP%]{width:100%}.linkToShare\\a0[_ngcontent-%COMP%] {padding:25px 5px 5px}.linkToShare\\a0[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0[_ngcontent-%COMP%] textarea.textAreaWithButton[_ngcontent-%COMP%]{width:calc(100% - 60px)}.linkToShare\\a0[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{float:right;margin:-10px 0}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}"] });
4288
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(16, 11, "igo.context.shareMap.htmlClarifications") !== "");
4289
+ } }, dependencies: [i5.NgIf, i4$1.MatIcon, i4.MatFormField, i5$1.MatInput, i7.MatButton, i14.CustomHtmlComponent, i9$1.TranslatePipe], styles: ["@charset \"UTF-8\";mat-form-field[_ngcontent-%COMP%]{width:100%}.linkToShare\\a0[_ngcontent-%COMP%] {padding:25px 5px 5px}.linkToShare\\a0[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0[_ngcontent-%COMP%] textarea.textAreaWithButton[_ngcontent-%COMP%]{width:calc(100% - 60px)}.linkToShare\\a0[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{float:right;margin:-10px 0}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}igo-custom-html.shareCustomPadding[_ngcontent-%COMP%]{padding:0}"] });
4278
4290
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareMapUrlComponent, [{
4279
4291
  type: Component,
4280
- args: [{ selector: 'igo-share-map-url', template: "<div class=\"igo-input-container linkToShare\">\r\n <mat-form-field>\r\n <textarea #textArea matInput readonly rows=\"3\"\r\n [placeholder]=\"'igo.context.shareMap.placeholderLink' | translate\"\r\n [value]=\"url\"></textarea>\r\n </mat-form-field>\r\n\r\n <div class=\"igo-form-button-group\">\r\n <button\r\n mat-raised-button\r\n (click)=\"copyTextToClipboard(textArea)\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n {{ 'igo.context.shareMap.copy' | translate }}\r\n </button>\r\n </div>\r\n <div>\r\n <br/>\r\n <section class=\"mat-typography\">\r\n <h4 *ngIf=\"('igo.context.shareMap.included' | translate)!==''\">{{'igo.context.shareMap.included' | translate}}</h4>\r\n <ul>\r\n <li *ngIf=\"('igo.context.shareMap.context' | translate)!==''\">{{'igo.context.shareMap.context' | translate}}</li>\r\n <li *ngIf=\"('igo.context.shareMap.center' | translate)!==''\">{{'igo.context.shareMap.center' | translate}}</li>\r\n <li *ngIf=\"('igo.context.shareMap.zoom' | translate)!==''\">{{'igo.context.shareMap.zoom' | translate}}</li>\r\n <li *ngIf=\"('igo.context.shareMap.addedLayers' | translate)!==''\">{{'igo.context.shareMap.addedLayers' | translate}}</li>\r\n <li *ngIf=\"('igo.context.shareMap.visibleInvisible' | translate)!==''\">{{'igo.context.shareMap.visibleInvisible' | translate}}</li>\r\n </ul>\r\n\r\n <h4 *ngIf=\"('igo.context.shareMap.excluded' | translate)!==''\">{{'igo.context.shareMap.excluded' | translate}}</h4>\r\n <ul>\r\n <li *ngIf=\"('igo.context.shareMap.order' | translate)!==''\">{{'igo.context.shareMap.order' | translate}}</li>\r\n <li *ngIf=\"('igo.context.shareMap.opacity' | translate)!==''\">{{'igo.context.shareMap.opacity' | translate}}</li>\r\n <li *ngIf=\"('igo.context.shareMap.filterOgc' | translate)!==''\">{{'igo.context.shareMap.filterOgc' | translate}}</li>\r\n <li *ngIf=\"('igo.context.shareMap.filterTime' | translate)!==''\">{{'igo.context.shareMap.filterTime' | translate}}</li>\r\n </ul>\r\n </section>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";mat-form-field{width:100%}.linkToShare\\a0 {padding:25px 5px 5px}.linkToShare\\a0 textarea{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0 textarea.textAreaWithButton{width:calc(100% - 60px)}.linkToShare\\a0 mat-form-field>button{float:right;margin:-10px 0}.igo-form-button-group{text-align:center;padding-top:10px}\n"] }]
4281
- }], function () { return [{ type: i3.LanguageService }, { type: i3.MessageService }, { type: ShareMapService }, { type: i0.ChangeDetectorRef }]; }, { map: [{
4292
+ args: [{ selector: 'igo-share-map-url', template: "<div class=\"igo-input-container linkToShare\">\n <mat-form-field>\n <textarea #textArea matInput readonly rows=\"3\"\n [placeholder]=\"'igo.context.shareMap.placeholderLink' | translate\"\n [value]=\"url\"></textarea>\n </mat-form-field>\n\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n (click)=\"copyTextToClipboard(textArea)\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n {{ 'igo.context.shareMap.copy' | translate }}\n </button>\n </div>\n <div>\n <br/>\n <section class=\"mat-typography\">\n <div *ngIf=\"('igo.context.shareMap.htmlClarifications' | translate)===''\">\n <h4 *ngIf=\"('igo.context.shareMap.included' | translate)!==''\">{{'igo.context.shareMap.included' | translate}}</h4>\n <ul>\n <li *ngIf=\"('igo.context.shareMap.context' | translate)!==''\">{{'igo.context.shareMap.context' | translate}}</li>\n <li *ngIf=\"('igo.context.shareMap.center' | translate)!==''\">{{'igo.context.shareMap.center' | translate}}</li>\n <li *ngIf=\"('igo.context.shareMap.zoom' | translate)!==''\">{{'igo.context.shareMap.zoom' | translate}}</li>\n <li *ngIf=\"('igo.context.shareMap.addedLayers' | translate)!==''\">{{'igo.context.shareMap.addedLayers' | translate}}</li>\n <li *ngIf=\"('igo.context.shareMap.visibleInvisible' | translate)!==''\">{{'igo.context.shareMap.visibleInvisible' | translate}}</li>\n </ul>\n\n <h4 *ngIf=\"('igo.context.shareMap.excluded' | translate)!==''\">{{'igo.context.shareMap.excluded' | translate}}</h4>\n <ul>\n <li *ngIf=\"('igo.context.shareMap.order' | translate)!==''\">{{'igo.context.shareMap.order' | translate}}</li>\n <li *ngIf=\"('igo.context.shareMap.opacity' | translate)!==''\">{{'igo.context.shareMap.opacity' | translate}}</li>\n <li *ngIf=\"('igo.context.shareMap.filterOgc' | translate)!==''\">{{'igo.context.shareMap.filterOgc' | translate}}</li>\n <li *ngIf=\"('igo.context.shareMap.filterTime' | translate)!==''\">{{'igo.context.shareMap.filterTime' | translate}}</li>\n </ul>\n </div>\n <igo-custom-html class=\"shareCustomPadding\" *ngIf=\"('igo.context.shareMap.htmlClarifications' | translate)!==''\" class=\"mat-typography\"\n [html]=\"('igo.context.shareMap.htmlClarifications' | translate)\">\n </igo-custom-html>\n </section>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";mat-form-field{width:100%}.linkToShare\\a0 {padding:25px 5px 5px}.linkToShare\\a0 textarea{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0 textarea.textAreaWithButton{width:calc(100% - 60px)}.linkToShare\\a0 mat-form-field>button{float:right;margin:-10px 0}.igo-form-button-group{text-align:center;padding-top:10px}igo-custom-html.shareCustomPadding{padding:0}\n"] }]
4293
+ }], function () { return [{ type: i3.MessageService }, { type: ShareMapService }, { type: i0.ChangeDetectorRef }]; }, { map: [{
4282
4294
  type: Input
4283
4295
  }] }); })();
4284
4296
 
@@ -4397,7 +4409,7 @@ class ShareMapApiComponent {
4397
4409
  });
4398
4410
  }
4399
4411
  }
4400
- ShareMapApiComponent.ɵfac = function ShareMapApiComponent_Factory(t) { return new (t || ShareMapApiComponent)(i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(i2.AuthService), i0.ɵɵdirectiveInject(ShareMapService), i0.ɵɵdirectiveInject(i1$1.FormBuilder)); };
4412
+ ShareMapApiComponent.ɵfac = function ShareMapApiComponent_Factory(t) { return new (t || ShareMapApiComponent)(i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(i2.AuthService), i0.ɵɵdirectiveInject(ShareMapService), i0.ɵɵdirectiveInject(i1$1.UntypedFormBuilder)); };
4401
4413
  ShareMapApiComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareMapApiComponent, selectors: [["igo-share-map-api"]], inputs: { map: "map" }, decls: 21, vars: 18, consts: [[1, "igo-form", 3, "formGroup", "ngSubmit"], [1, "igo-input-container"], ["matInput", "", "required", "", "formControlName", "title", 3, "placeholder"], ["id", "uriInput", 1, "igo-input-container"], ["class", "prefix", 4, "ngIf"], [1, "fieldWrapper"], ["matInput", "", "required", "", "formControlName", "uri", 3, "readonly", "placeholder"], [1, "igo-form-button-group"], ["mat-raised-button", "", "type", "submit", 3, "disabled", 4, "ngIf"], ["mat-raised-button", "", "type", "button", 3, "click", 4, "ngIf"], ["class", "igo-input-container linkToShare", 4, "ngIf"], [1, "prefix"], ["mat-raised-button", "", "type", "submit", 3, "disabled"], ["mat-raised-button", "", "type", "button", 3, "click"], [1, "igo-input-container", "linkToShare"], ["matInput", "", "readonly", "", "rows", "3", 1, "textAreaWithButton", 3, "placeholder", "value"], ["textArea", ""], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", 3, "matTooltip", "click"], ["svgIcon", "content-copy"]], template: function ShareMapApiComponent_Template(rf, ctx) { if (rf & 1) {
4402
4414
  i0.ɵɵelementStart(0, "form", 0);
4403
4415
  i0.ɵɵlistener("ngSubmit", function ShareMapApiComponent_Template_form_ngSubmit_0_listener() { return ctx.createUrl(ctx.form.value); });
@@ -4441,11 +4453,11 @@ ShareMapApiComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareM
4441
4453
  i0.ɵɵproperty("ngIf", ctx.url);
4442
4454
  i0.ɵɵadvance(1);
4443
4455
  i0.ɵɵproperty("ngIf", ctx.url);
4444
- } }, dependencies: [i5.NgIf, i1$1.ɵNgNoValidate, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgControlStatusGroup, i1$1.RequiredValidator, i1$1.FormGroupDirective, i1$1.FormControlName, i4$1.MatIcon, i6$1.MatTooltip, i4.MatError, i4.MatFormField, i5$1.MatInput, i7.MatButton, i6.TranslatePipe], styles: ["@charset \"UTF-8\";mat-form-field[_ngcontent-%COMP%]{width:100%}#uriInput[_ngcontent-%COMP%] .fieldWrapper[_ngcontent-%COMP%]{display:block;overflow:hidden}#uriInput[_ngcontent-%COMP%] .prefix[_ngcontent-%COMP%]{float:left}.linkToShare\\a0[_ngcontent-%COMP%] {padding:25px 5px 5px}.linkToShare\\a0[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0[_ngcontent-%COMP%] textarea.textAreaWithButton[_ngcontent-%COMP%]{width:calc(100% - 60px)}.linkToShare\\a0[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{float:right;margin:-10px 0}.igo-form[_ngcontent-%COMP%]{padding:20px 5px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}"] });
4456
+ } }, dependencies: [i5.NgIf, i1$1.ɵNgNoValidate, i1$1.DefaultValueAccessor, i1$1.NgControlStatus, i1$1.NgControlStatusGroup, i1$1.RequiredValidator, i1$1.FormGroupDirective, i1$1.FormControlName, i4$1.MatIcon, i6.MatTooltip, i4.MatError, i4.MatFormField, i5$1.MatInput, i7.MatButton, i9$1.TranslatePipe], styles: ["@charset \"UTF-8\";mat-form-field[_ngcontent-%COMP%]{width:100%}#uriInput[_ngcontent-%COMP%] .fieldWrapper[_ngcontent-%COMP%]{display:block;overflow:hidden}#uriInput[_ngcontent-%COMP%] .prefix[_ngcontent-%COMP%]{float:left}.linkToShare\\a0[_ngcontent-%COMP%] {padding:25px 5px 5px}.linkToShare\\a0[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0[_ngcontent-%COMP%] textarea.textAreaWithButton[_ngcontent-%COMP%]{width:calc(100% - 60px)}.linkToShare\\a0[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{float:right;margin:-10px 0}.igo-form[_ngcontent-%COMP%]{padding:20px 5px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}"] });
4445
4457
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareMapApiComponent, [{
4446
4458
  type: Component,
4447
- args: [{ selector: 'igo-share-map-api', template: "<form class=\"igo-form\" [formGroup]=\"form\"\r\n (ngSubmit)=\"createUrl(form.value)\">\r\n\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input matInput required\r\n [placeholder]=\"'igo.context.contextManager.form.title' | translate\"\r\n formControlName=\"title\">\r\n <mat-error>\r\n {{ 'igo.context.contextManager.form.titleRequired' | translate }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div id=\"uriInput\" class=\"igo-input-container\">\r\n <mat-form-field>\r\n <span *ngIf=\"userId\" class=\"prefix\">{{userId}}-</span>\r\n <span class=\"fieldWrapper\">\r\n <input matInput required\r\n [readonly]=\"!userId\"\r\n [placeholder]=\"'igo.context.contextManager.form.uri' | translate\"\r\n formControlName=\"uri\">\r\n </span>\r\n <mat-error>\r\n {{ 'igo.context.contextManager.form.uriRequired' | translate }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-form-button-group\">\r\n <button *ngIf=\"!url\"\r\n mat-raised-button\r\n type=\"submit\"\r\n [disabled]=\"!form.valid\">\r\n {{ 'igo.context.shareMap.button' | translate }}\r\n </button>\r\n <button *ngIf=\"url\"\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"updateContextShared(form.value)\">\r\n {{ 'igo.context.shareMap.refreshBtn' | translate }}\r\n </button>\r\n </div>\r\n</form>\r\n\r\n<div *ngIf=\"url\" class=\"igo-input-container linkToShare\">\r\n <mat-form-field>\r\n <textarea #textArea matInput readonly rows=\"3\"\r\n class=\"textAreaWithButton\"\r\n [placeholder]=\"'igo.context.shareMap.placeholderLink' | translate\"\r\n [value]=\"url\"></textarea>\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.context.shareMap.copy' | translate\"\r\n color=\"primary\"\r\n (click)=\"copyTextToClipboard(textArea)\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n </mat-form-field>\r\n<div>\r\n", styles: ["@charset \"UTF-8\";mat-form-field{width:100%}#uriInput .fieldWrapper{display:block;overflow:hidden}#uriInput .prefix{float:left}.linkToShare\\a0 {padding:25px 5px 5px}.linkToShare\\a0 textarea{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0 textarea.textAreaWithButton{width:calc(100% - 60px)}.linkToShare\\a0 mat-form-field>button{float:right;margin:-10px 0}.igo-form{padding:20px 5px 5px}.igo-form-button-group{text-align:center;padding-top:10px}\n"] }]
4448
- }], function () { return [{ type: i3.LanguageService }, { type: i3.MessageService }, { type: i2.AuthService }, { type: ShareMapService }, { type: i1$1.FormBuilder }]; }, { map: [{
4459
+ args: [{ selector: 'igo-share-map-api', template: "<form class=\"igo-form\" [formGroup]=\"form\"\n (ngSubmit)=\"createUrl(form.value)\">\n\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input matInput required\n [placeholder]=\"'igo.context.contextManager.form.title' | translate\"\n formControlName=\"title\">\n <mat-error>\n {{ 'igo.context.contextManager.form.titleRequired' | translate }}\n </mat-error>\n </mat-form-field>\n </div>\n\n <div id=\"uriInput\" class=\"igo-input-container\">\n <mat-form-field>\n <span *ngIf=\"userId\" class=\"prefix\">{{userId}}-</span>\n <span class=\"fieldWrapper\">\n <input matInput required\n [readonly]=\"!userId\"\n [placeholder]=\"'igo.context.contextManager.form.uri' | translate\"\n formControlName=\"uri\">\n </span>\n <mat-error>\n {{ 'igo.context.contextManager.form.uriRequired' | translate }}\n </mat-error>\n </mat-form-field>\n </div>\n\n <div class=\"igo-form-button-group\">\n <button *ngIf=\"!url\"\n mat-raised-button\n type=\"submit\"\n [disabled]=\"!form.valid\">\n {{ 'igo.context.shareMap.button' | translate }}\n </button>\n <button *ngIf=\"url\"\n mat-raised-button\n type=\"button\"\n (click)=\"updateContextShared(form.value)\">\n {{ 'igo.context.shareMap.refreshBtn' | translate }}\n </button>\n </div>\n</form>\n\n<div *ngIf=\"url\" class=\"igo-input-container linkToShare\">\n <mat-form-field>\n <textarea #textArea matInput readonly rows=\"3\"\n class=\"textAreaWithButton\"\n [placeholder]=\"'igo.context.shareMap.placeholderLink' | translate\"\n [value]=\"url\"></textarea>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.context.shareMap.copy' | translate\"\n color=\"primary\"\n (click)=\"copyTextToClipboard(textArea)\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n </mat-form-field>\n<div>\n", styles: ["@charset \"UTF-8\";mat-form-field{width:100%}#uriInput .fieldWrapper{display:block;overflow:hidden}#uriInput .prefix{float:left}.linkToShare\\a0 {padding:25px 5px 5px}.linkToShare\\a0 textarea{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0 textarea.textAreaWithButton{width:calc(100% - 60px)}.linkToShare\\a0 mat-form-field>button{float:right;margin:-10px 0}.igo-form{padding:20px 5px 5px}.igo-form-button-group{text-align:center;padding-top:10px}\n"] }]
4460
+ }], function () { return [{ type: i3.LanguageService }, { type: i3.MessageService }, { type: i2.AuthService }, { type: ShareMapService }, { type: i1$1.UntypedFormBuilder }]; }, { map: [{
4449
4461
  type: Input
4450
4462
  }] }); })();
4451
4463
 
@@ -4490,10 +4502,10 @@ ShareMapComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareMapC
4490
4502
  i0.ɵɵproperty("ngIf", ctx.hasApi);
4491
4503
  i0.ɵɵadvance(1);
4492
4504
  i0.ɵɵproperty("ngIf", !ctx.hasApi);
4493
- } }, dependencies: [i5.NgIf, i3$1.MatTabGroup, i3$1.MatTab, ShareMapUrlComponent, ShareMapApiComponent, i6.TranslatePipe] });
4505
+ } }, dependencies: [i5.NgIf, i3$1.MatTabGroup, i3$1.MatTab, ShareMapUrlComponent, ShareMapApiComponent, i9$1.TranslatePipe] });
4494
4506
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareMapComponent, [{
4495
4507
  type: Component,
4496
- args: [{ selector: 'igo-share-map', template: "<mat-tab-group *ngIf=\"hasApi\" >\r\n <mat-tab [label]=\"'igo.context.shareMap.shareWithApi' | translate\">\r\n <igo-share-map-api [map]=\"map\"></igo-share-map-api>\r\n </mat-tab>\r\n <mat-tab [label]=\"'igo.context.shareMap.shareWithUrl' | translate\">\r\n <igo-share-map-url [map]=\"map\"></igo-share-map-url>\r\n </mat-tab>\r\n</mat-tab-group>\r\n\r\n<igo-share-map-url *ngIf=\"!hasApi\" [map]=\"map\"></igo-share-map-url>\r\n" }]
4508
+ args: [{ selector: 'igo-share-map', template: "<mat-tab-group *ngIf=\"hasApi\" >\n <mat-tab [label]=\"'igo.context.shareMap.shareWithApi' | translate\">\n <igo-share-map-api [map]=\"map\"></igo-share-map-api>\n </mat-tab>\n <mat-tab [label]=\"'igo.context.shareMap.shareWithUrl' | translate\">\n <igo-share-map-url [map]=\"map\"></igo-share-map-url>\n </mat-tab>\n</mat-tab-group>\n\n<igo-share-map-url *ngIf=\"!hasApi\" [map]=\"map\"></igo-share-map-url>\n" }]
4497
4509
  }], function () { return [{ type: i3.ConfigService }]; }, { map: [{
4498
4510
  type: Input
4499
4511
  }] }); })();
@@ -4516,7 +4528,8 @@ IgoShareMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Common
4516
4528
  MatFormFieldModule,
4517
4529
  MatInputModule,
4518
4530
  MatButtonModule,
4519
- IgoLanguageModule] });
4531
+ IgoLanguageModule,
4532
+ IgoCustomHtmlModule] });
4520
4533
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoShareMapModule, [{
4521
4534
  type: NgModule,
4522
4535
  args: [{
@@ -4530,7 +4543,8 @@ IgoShareMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Common
4530
4543
  MatFormFieldModule,
4531
4544
  MatInputModule,
4532
4545
  MatButtonModule,
4533
- IgoLanguageModule
4546
+ IgoLanguageModule,
4547
+ IgoCustomHtmlModule
4534
4548
  ],
4535
4549
  exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent],
4536
4550
  declarations: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent]
@@ -4545,7 +4559,8 @@ IgoShareMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Common
4545
4559
  MatFormFieldModule,
4546
4560
  MatInputModule,
4547
4561
  MatButtonModule,
4548
- IgoLanguageModule], exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent] }); })();
4562
+ IgoLanguageModule,
4563
+ IgoCustomHtmlModule], exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent] }); })();
4549
4564
 
4550
4565
  function SidenavComponent_button_8_Template(rf, ctx) { if (rf & 1) {
4551
4566
  i0.ɵɵelementStart(0, "button", 11);
@@ -4685,10 +4700,10 @@ SidenavComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SidenavCom
4685
4700
  i0.ɵɵproperty("ngIf", ctx.tool);
4686
4701
  i0.ɵɵadvance(2);
4687
4702
  i0.ɵɵproperty("ngIf", ctx.feature && ctx.media !== "mobile");
4688
- } }, dependencies: [i5.NgIf, i4$1.MatIcon, i7.MatButton, i5$2.MatSidenav, i6$1.MatTooltip, i14.PanelComponent, i14.FlexibleComponent, i1$2.FeatureDetailsComponent, i6.TranslatePipe], styles: ["[_nghost-%COMP%] .igo-flexible-fill .igo-container, .igo-sidenav-content[_ngcontent-%COMP%] .igo-flexible-fill[_ngcontent-%COMP%] .igo-container[_ngcontent-%COMP%]{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}[_nghost-%COMP%] .igo-flexible-fill .igo-container, .igo-sidenav-content[_ngcontent-%COMP%] .igo-flexible-fill[_ngcontent-%COMP%] .igo-container[_ngcontent-%COMP%]{border-top-width:1px;border-top-style:solid;border-top-color:#0003}mat-sidenav[_ngcontent-%COMP%]{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd}[_nghost-%COMP%]{background-color:#fff}[_nghost-%COMP%] mat-sidenav{z-index:3!important}mat-sidenav[_ngcontent-%COMP%]{width:400px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){mat-sidenav[_ngcontent-%COMP%]{width:calc(100% - 45px)}}.igo-sidenav-content[_ngcontent-%COMP%]{margin-top:50px;height:calc(100% - 50px)}igo-feature-details[_ngcontent-%COMP%] table{width:100%}"] });
4703
+ } }, dependencies: [i5.NgIf, i4$1.MatIcon, i7.MatButton, i5$2.MatSidenav, i6.MatTooltip, i14.PanelComponent, i14.FlexibleComponent, i1$2.FeatureDetailsComponent, i9$1.TranslatePipe], styles: ["[_nghost-%COMP%] .igo-flexible-fill .igo-container, .igo-sidenav-content[_ngcontent-%COMP%] .igo-flexible-fill[_ngcontent-%COMP%] .igo-container[_ngcontent-%COMP%]{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}[_nghost-%COMP%] .igo-flexible-fill .igo-container, .igo-sidenav-content[_ngcontent-%COMP%] .igo-flexible-fill[_ngcontent-%COMP%] .igo-container[_ngcontent-%COMP%]{border-top-width:1px;border-top-style:solid;border-top-color:#0003}mat-sidenav[_ngcontent-%COMP%]{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd}[_nghost-%COMP%]{background-color:#fff}[_nghost-%COMP%] mat-sidenav{z-index:3!important}mat-sidenav[_ngcontent-%COMP%]{width:400px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){mat-sidenav[_ngcontent-%COMP%]{width:calc(100% - 45px)}}.igo-sidenav-content[_ngcontent-%COMP%]{margin-top:50px;height:calc(100% - 50px)}igo-feature-details[_ngcontent-%COMP%] table{width:100%}"] });
4689
4704
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SidenavComponent, [{
4690
4705
  type: Component,
4691
- args: [{ selector: 'igo-sidenav', template: "<mat-sidenav\r\n #sidenav\r\n igoSidenavShim\r\n mode=\"side\"\r\n [opened]=\"opened\">\r\n\r\n <div class=\"igo-sidenav-content\">\r\n\r\n <igo-flexible\r\n #topPanel\r\n initial=\"50%\" initialMobile=\"100%\"\r\n expanded=\"calc(100% - 58px)\"\r\n [state]=\"topPanelState\">\r\n\r\n <div class=\"igo-content\">\r\n <igo-panel [title]=\"tool ? (tool.title | translate) : title\">\r\n <button\r\n mat-icon-button\r\n panelLeftButton\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.context.sidenav.goBack' | translate\"\r\n *ngIf=\"tool\">\r\n <mat-icon svgIcon=\"arrow-back\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n mat-icon-button\r\n panelRightButton\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.context.sidenav.mainMenu' | translate\"\r\n *ngIf=\"tool\">\r\n <mat-icon svgIcon=\"menu\"></mat-icon>\r\n </button>\r\n\r\n </igo-panel>\r\n </div>\r\n\r\n <div igoFlexibleFill class=\"igo-content\">\r\n <igo-panel\r\n [title]=\"featureTitle\"\r\n *ngIf=\"feature && media !== 'mobile'\">\r\n\r\n <button\r\n mat-icon-button\r\n panelLeftButton\r\n class=\"igo-icon-button\"\r\n (click)=\"toggleTopPanel()\">\r\n <mat-icon [svgIcon]=\"['collapsed', 'initial'].indexOf(topPanel.state) >= 0 ? 'arrow_downward' : 'arrow_upward'\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n mat-icon-button\r\n panelRightButton\r\n class=\"igo-icon-button\"\r\n (click)=\"zoomToFeatureExtent()\"\r\n *ngIf=\"feature.geometry\">\r\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\r\n </button>\r\n\r\n <igo-feature-details\r\n [feature]=\"feature\"\r\n *ngIf=\"['collapsed', 'initial'].indexOf(topPanel.state) >= 0\">\r\n </igo-feature-details>\r\n </igo-panel>\r\n </div>\r\n\r\n </igo-flexible>\r\n\r\n </div>\r\n</mat-sidenav>\r\n", styles: [":host ::ng-deep .igo-flexible-fill .igo-container,.igo-sidenav-content .igo-flexible-fill .igo-container{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}:host ::ng-deep .igo-flexible-fill .igo-container,.igo-sidenav-content .igo-flexible-fill .igo-container{border-top-width:1px;border-top-style:solid;border-top-color:#0003}mat-sidenav{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd}:host{background-color:#fff}:host ::ng-deep mat-sidenav{z-index:3!important}mat-sidenav{width:400px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){mat-sidenav{width:calc(100% - 45px)}}.igo-sidenav-content{margin-top:50px;height:calc(100% - 50px)}igo-feature-details ::ng-deep table{width:100%}\n"] }]
4706
+ args: [{ selector: 'igo-sidenav', template: "<mat-sidenav\n #sidenav\n igoSidenavShim\n mode=\"side\"\n [opened]=\"opened\">\n\n <div class=\"igo-sidenav-content\">\n\n <igo-flexible\n #topPanel\n initial=\"50%\" initialMobile=\"100%\"\n expanded=\"calc(100% - 58px)\"\n [state]=\"topPanelState\">\n\n <div class=\"igo-content\">\n <igo-panel [title]=\"tool ? (tool.title | translate) : title\">\n <button\n mat-icon-button\n panelLeftButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.context.sidenav.goBack' | translate\"\n *ngIf=\"tool\">\n <mat-icon svgIcon=\"arrow-back\"></mat-icon>\n </button>\n\n <button\n mat-icon-button\n panelRightButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.context.sidenav.mainMenu' | translate\"\n *ngIf=\"tool\">\n <mat-icon svgIcon=\"menu\"></mat-icon>\n </button>\n\n </igo-panel>\n </div>\n\n <div igoFlexibleFill class=\"igo-content\">\n <igo-panel\n [title]=\"featureTitle\"\n *ngIf=\"feature && media !== 'mobile'\">\n\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\">\n <mat-icon [svgIcon]=\"['collapsed', 'initial'].indexOf(topPanel.state) >= 0 ? 'arrow_downward' : 'arrow_upward'\"></mat-icon>\n </button>\n\n <button\n mat-icon-button\n panelRightButton\n class=\"igo-icon-button\"\n (click)=\"zoomToFeatureExtent()\"\n *ngIf=\"feature.geometry\">\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\n </button>\n\n <igo-feature-details\n [feature]=\"feature\"\n *ngIf=\"['collapsed', 'initial'].indexOf(topPanel.state) >= 0\">\n </igo-feature-details>\n </igo-panel>\n </div>\n\n </igo-flexible>\n\n </div>\n</mat-sidenav>\n", styles: [":host ::ng-deep .igo-flexible-fill .igo-container,.igo-sidenav-content .igo-flexible-fill .igo-container{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}:host ::ng-deep .igo-flexible-fill .igo-container,.igo-sidenav-content .igo-flexible-fill .igo-container{border-top-width:1px;border-top-style:solid;border-top-color:#0003}mat-sidenav{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd}:host{background-color:#fff}:host ::ng-deep mat-sidenav{z-index:3!important}mat-sidenav{width:400px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){mat-sidenav{width:calc(100% - 45px)}}.igo-sidenav-content{margin-top:50px;height:calc(100% - 50px)}igo-feature-details ::ng-deep table{width:100%}\n"] }]
4692
4707
  }], function () { return [{ type: i1$4.Title }]; }, { map: [{
4693
4708
  type: Input
4694
4709
  }], opened: [{