@igo2/integration 16.0.2 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/esm2022/lib/about/about-tool/about-tool.component.mjs +15 -91
  2. package/esm2022/lib/about/about.module.mjs +29 -30
  3. package/esm2022/lib/analytics/analytics-listener.service.mjs +12 -12
  4. package/esm2022/lib/analytics/analytics.module.mjs +12 -12
  5. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +9 -21
  6. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +13 -14
  7. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +11 -17
  8. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +13 -14
  9. package/esm2022/lib/catalog/catalog.module.mjs +12 -13
  10. package/esm2022/lib/catalog/catalog.state.mjs +9 -9
  11. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +7 -11
  12. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +9 -15
  13. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +7 -9
  14. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +7 -11
  15. package/esm2022/lib/context/context.module.mjs +29 -30
  16. package/esm2022/lib/context/context.state.mjs +9 -9
  17. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +7 -11
  18. package/esm2022/lib/directions/directions.module.mjs +13 -14
  19. package/esm2022/lib/directions/directions.state.mjs +9 -9
  20. package/esm2022/lib/draw/draw.module.mjs +11 -12
  21. package/esm2022/lib/draw/draw.state.mjs +9 -9
  22. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +7 -13
  23. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +13 -14
  24. package/esm2022/lib/draw/index.mjs +2 -1
  25. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +7 -11
  26. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +7 -11
  27. package/esm2022/lib/filter/filter.module.mjs +33 -34
  28. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +7 -9
  29. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +13 -40
  30. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +7 -9
  31. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +15 -66
  32. package/esm2022/lib/import-export/import-export.module.mjs +27 -28
  33. package/esm2022/lib/import-export/import-export.state.mjs +9 -9
  34. package/esm2022/lib/integration.module.mjs +40 -41
  35. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +9 -137
  36. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +7 -50
  37. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +7 -104
  38. package/esm2022/lib/map/layer-list-tool.state.mjs +9 -9
  39. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +23 -149
  40. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +17 -147
  41. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +10 -99
  42. package/esm2022/lib/map/map-proximity.state.mjs +9 -9
  43. package/esm2022/lib/map/map-tool/map-tool.component.mjs +21 -60
  44. package/esm2022/lib/map/map-tools/map-tools.component.mjs +32 -257
  45. package/esm2022/lib/map/map.module.mjs +99 -100
  46. package/esm2022/lib/map/map.state.mjs +9 -9
  47. package/esm2022/lib/measure/measure.module.mjs +12 -13
  48. package/esm2022/lib/measure/measure.state.mjs +9 -9
  49. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +7 -11
  50. package/esm2022/lib/measure/measurer-tool/measurer-tool.module.mjs +13 -14
  51. package/esm2022/lib/print/print-tool/print-tool.component.mjs +7 -11
  52. package/esm2022/lib/print/print.module.mjs +13 -14
  53. package/esm2022/lib/search/query.state.mjs +9 -9
  54. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +17 -19
  55. package/esm2022/lib/search/search-bar/search-bar.module.mjs +12 -13
  56. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +13 -110
  57. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +37 -38
  58. package/esm2022/lib/search/search.module.mjs +12 -13
  59. package/esm2022/lib/search/search.state.mjs +9 -9
  60. package/esm2022/lib/storage/storage.module.mjs +12 -12
  61. package/esm2022/lib/storage/storage.state.mjs +9 -9
  62. package/esm2022/lib/tool/tool.module.mjs +12 -12
  63. package/esm2022/lib/tool/tool.state.mjs +9 -9
  64. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +12 -12
  65. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +9 -9
  66. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +12 -12
  67. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +11 -27
  68. package/esm2022/lib/workspace/workspace.module.mjs +23 -24
  69. package/esm2022/lib/workspace/workspace.state.mjs +9 -9
  70. package/fesm2022/igo2-integration.mjs +910 -2139
  71. package/fesm2022/igo2-integration.mjs.map +1 -1
  72. package/lib/draw/index.d.ts +1 -0
  73. package/package.json +19 -22
@@ -14,121 +14,6 @@ import * as i4 from "@angular/common";
14
14
  import * as i5 from "@angular/material/list";
15
15
  import * as i6 from "@angular/material/icon";
16
16
  import * as i7 from "@ngx-translate/core";
17
- function MapLegendToolComponent_igo_layer_legend_list_0_Template(rf, ctx) { if (rf & 1) {
18
- const _r6 = i0.ɵɵgetCurrentView();
19
- i0.ɵɵelementStart(0, "igo-layer-legend-list", 4);
20
- i0.ɵɵlistener("allLegendsShown", function MapLegendToolComponent_igo_layer_legend_list_0_Template_igo_layer_legend_list_allLegendsShown_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.onShowAllLegends($event)); });
21
- i0.ɵɵpipe(1, "async");
22
- i0.ɵɵelementEnd();
23
- } if (rf & 2) {
24
- const ctx_r0 = i0.ɵɵnextContext();
25
- i0.ɵɵproperty("excludeBaseLayers", ctx_r0.excludeBaseLayers)("allowShowAllLegends", ctx_r0.allowShowAllLegends)("updateLegendOnResolutionChange", ctx_r0.updateLegendOnResolutionChange)("showAllLegendsValue", i0.ɵɵpipeBind1(1, 4, ctx_r0.showAllLegendsValue$));
26
- } }
27
- function MapLegendToolComponent_1_ng_template_0_Template(rf, ctx) { }
28
- function MapLegendToolComponent_1_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵtemplate(0, MapLegendToolComponent_1_ng_template_0_Template, 0, 0, "ng-template");
30
- } }
31
- function MapLegendToolComponent_p_3_Template(rf, ctx) { if (rf & 1) {
32
- i0.ɵɵelementStart(0, "p", 5);
33
- i0.ɵɵtext(1);
34
- i0.ɵɵpipe(2, "async");
35
- i0.ɵɵpipe(3, "translate");
36
- i0.ɵɵpipe(4, "translate");
37
- i0.ɵɵelementEnd();
38
- } if (rf & 2) {
39
- const ctx_r2 = i0.ɵɵnextContext();
40
- i0.ɵɵadvance(1);
41
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r2.visibleLayers$).length ? i0.ɵɵpipeBind1(3, 3, "igo.integration.mapTool.noLayersInRange") : i0.ɵɵpipeBind1(4, 5, "igo.integration.mapTool.noLayersVisible"), "\n");
42
- } }
43
- function MapLegendToolComponent_ng_template_6_mat_list_0_p_4_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵelementStart(0, "p", 5);
45
- i0.ɵɵtext(1);
46
- i0.ɵɵpipe(2, "translate");
47
- i0.ɵɵelementEnd();
48
- } if (rf & 2) {
49
- i0.ɵɵadvance(1);
50
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "igo.integration.mapTool.customize"), " ");
51
- } }
52
- function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_5_Template(rf, ctx) { if (rf & 1) {
53
- const _r14 = i0.ɵɵgetCurrentView();
54
- i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 7);
55
- i0.ɵɵnamespaceSVG();
56
- i0.ɵɵelementStart(2, "svg", 8);
57
- i0.ɵɵelement(3, "path", 9);
58
- i0.ɵɵelementEnd()();
59
- i0.ɵɵnamespaceHTML();
60
- i0.ɵɵelementStart(4, "span", 10);
61
- i0.ɵɵlistener("click", function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_5_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r13.searchEmit()); });
62
- i0.ɵɵtext(5);
63
- i0.ɵɵpipe(6, "translate");
64
- i0.ɵɵelementEnd()();
65
- } if (rf & 2) {
66
- i0.ɵɵadvance(5);
67
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.search-tool"), " ");
68
- } }
69
- function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_6_Template(rf, ctx) { if (rf & 1) {
70
- const _r16 = i0.ɵɵgetCurrentView();
71
- i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 7);
72
- i0.ɵɵnamespaceSVG();
73
- i0.ɵɵelementStart(2, "svg", 8);
74
- i0.ɵɵelement(3, "path", 11);
75
- i0.ɵɵelementEnd()();
76
- i0.ɵɵnamespaceHTML();
77
- i0.ɵɵelementStart(4, "span", 12);
78
- i0.ɵɵlistener("click", function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_6_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r15.catalogEmit()); });
79
- i0.ɵɵtext(5);
80
- i0.ɵɵpipe(6, "translate");
81
- i0.ɵɵelementEnd()();
82
- } if (rf & 2) {
83
- i0.ɵɵadvance(5);
84
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.catalog-tool"), " ");
85
- } }
86
- function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_7_Template(rf, ctx) { if (rf & 1) {
87
- const _r18 = i0.ɵɵgetCurrentView();
88
- i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 7);
89
- i0.ɵɵnamespaceSVG();
90
- i0.ɵɵelementStart(2, "svg", 8);
91
- i0.ɵɵelement(3, "path", 13);
92
- i0.ɵɵelementEnd()();
93
- i0.ɵɵnamespaceHTML();
94
- i0.ɵɵelementStart(4, "span", 14);
95
- i0.ɵɵlistener("click", function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_7_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r17.contextEmit()); });
96
- i0.ɵɵtext(5);
97
- i0.ɵɵpipe(6, "translate");
98
- i0.ɵɵelementEnd()();
99
- } if (rf & 2) {
100
- i0.ɵɵadvance(5);
101
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.context-tool"), " ");
102
- } }
103
- function MapLegendToolComponent_ng_template_6_mat_list_0_Template(rf, ctx) { if (rf & 1) {
104
- i0.ɵɵelementStart(0, "mat-list")(1, "p", 5);
105
- i0.ɵɵtext(2);
106
- i0.ɵɵpipe(3, "translate");
107
- i0.ɵɵelementEnd();
108
- i0.ɵɵtemplate(4, MapLegendToolComponent_ng_template_6_mat_list_0_p_4_Template, 3, 3, "p", 2);
109
- i0.ɵɵtemplate(5, MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_5_Template, 7, 3, "mat-list-item", 6);
110
- i0.ɵɵtemplate(6, MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_6_Template, 7, 3, "mat-list-item", 6);
111
- i0.ɵɵtemplate(7, MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_7_Template, 7, 3, "mat-list-item", 6);
112
- i0.ɵɵelementEnd();
113
- } if (rf & 2) {
114
- const ctx_r8 = i0.ɵɵnextContext(2);
115
- i0.ɵɵadvance(2);
116
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.integration.mapTool.empty"), " ");
117
- i0.ɵɵadvance(2);
118
- i0.ɵɵproperty("ngIf", ctx_r8.layerAdditionAllowed && (ctx_r8.searchToolInToolbar || ctx_r8.catalogToolInToolbar || ctx_r8.contextToolInToolbar));
119
- i0.ɵɵadvance(1);
120
- i0.ɵɵproperty("ngIf", ctx_r8.layerAdditionAllowed && ctx_r8.searchToolInToolbar);
121
- i0.ɵɵadvance(1);
122
- i0.ɵɵproperty("ngIf", ctx_r8.layerAdditionAllowed && ctx_r8.catalogToolInToolbar);
123
- i0.ɵɵadvance(1);
124
- i0.ɵɵproperty("ngIf", ctx_r8.layerAdditionAllowed && ctx_r8.contextToolInToolbar);
125
- } }
126
- function MapLegendToolComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
127
- i0.ɵɵtemplate(0, MapLegendToolComponent_ng_template_6_mat_list_0_Template, 8, 7, "mat-list", 6);
128
- } if (rf & 2) {
129
- const ctx_r4 = i0.ɵɵnextContext();
130
- i0.ɵɵproperty("ngIf", ctx_r4.delayedShowEmptyMapContent);
131
- } }
132
17
  export let MapLegendToolComponent = class MapLegendToolComponent {
133
18
  mapState;
134
19
  toolState;
@@ -239,23 +124,8 @@ export let MapLegendToolComponent = class MapLegendToolComponent {
239
124
  contextEmit() {
240
125
  this.toolState.toolbox.activateTool('contextManager');
241
126
  }
242
- static ɵfac = function MapLegendToolComponent_Factory(t) { return new (t || MapLegendToolComponent)(i0.ɵɵdirectiveInject(i1.MapState), i0.ɵɵdirectiveInject(i2.ToolState), i0.ɵɵdirectiveInject(i3.SearchSourceService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
243
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapLegendToolComponent, selectors: [["igo-map-legend-tool"]], inputs: { updateLegendOnResolutionChange: "updateLegendOnResolutionChange", layerAdditionAllowed: "layerAdditionAllowed", allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", layerListControls: "layerListControls" }, decls: 8, vars: 10, consts: [["igoLayerLegendListBinding", "", 3, "excludeBaseLayers", "allowShowAllLegends", "updateLegendOnResolutionChange", "showAllLegendsValue", "allLegendsShown", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["class", "map-empty mat-typography", 4, "ngIf"], ["emptyLayers", ""], ["igoLayerLegendListBinding", "", 3, "excludeBaseLayers", "allowShowAllLegends", "updateLegendOnResolutionChange", "showAllLegendsValue", "allLegendsShown"], [1, "map-empty", "mat-typography"], [4, "ngIf"], ["matListItemIcon", ""], ["viewBox", "0 0 24 24", "fit", "", "height", "100%", "width", "100%", "preserveAspectRatio", "xMidYMid meet", "focusable", "false"], ["d", "M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"], ["matListItemTitle", "", 1, "search-tool", "mat-typography", 3, "click"], ["d", "M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z"], ["matListItemTitle", "", 1, "catalog-tool", "mat-typography", 3, "click"], ["d", "M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"], ["matListItemTitle", "", 1, "context-tool", "mat-typography", 3, "click"]], template: function MapLegendToolComponent_Template(rf, ctx) { if (rf & 1) {
244
- i0.ɵɵtemplate(0, MapLegendToolComponent_igo_layer_legend_list_0_Template, 2, 6, "igo-layer-legend-list", 0);
245
- i0.ɵɵtemplate(1, MapLegendToolComponent_1_Template, 1, 0, null, 1);
246
- i0.ɵɵpipe(2, "async");
247
- i0.ɵɵtemplate(3, MapLegendToolComponent_p_3_Template, 5, 7, "p", 2);
248
- i0.ɵɵpipe(4, "async");
249
- i0.ɵɵpipe(5, "async");
250
- i0.ɵɵtemplate(6, MapLegendToolComponent_ng_template_6_Template, 1, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
251
- } if (rf & 2) {
252
- const _r3 = i0.ɵɵreference(7);
253
- i0.ɵɵproperty("ngIf", ctx.showAllLegend());
254
- i0.ɵɵadvance(1);
255
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 4, ctx.layers$).length !== 0)("ngIfElse", _r3);
256
- i0.ɵɵadvance(2);
257
- i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(4, 6, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(5, 8, ctx.visibleOrInRangeLayers$).length === 0);
258
- } }, dependencies: [i4.NgIf, i5.MatList, i5.MatListItem, i5.MatListItemIcon, i5.MatListItemTitle, i6.MatIcon, i3.LayerLegendListComponent, i3.LayerLegendListBindingDirective, i4.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%] .map-empty[_ngcontent-%COMP%], [_nghost-%COMP%] .search-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .catalog-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .context-tool[_ngcontent-%COMP%]{margin:10px}[_nghost-%COMP%] .map-empty[_ngcontent-%COMP%]{text-align:justify}[_nghost-%COMP%] .search-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .catalog-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .context-tool[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}[_nghost-%COMP%] mat-list-item[_ngcontent-%COMP%] .mdc-list-item__primary-text{font-size:smaller}[_nghost-%COMP%] mat-list.mat-mdc-list-base[_ngcontent-%COMP%] mat-list-item.mat-mdc-list-item[_ngcontent-%COMP%] div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}"] });
127
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapLegendToolComponent, deps: [{ token: i1.MapState }, { token: i2.ToolState }, { token: i3.SearchSourceService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
128
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapLegendToolComponent, selector: "igo-map-legend-tool", inputs: { updateLegendOnResolutionChange: "updateLegendOnResolutionChange", layerAdditionAllowed: "layerAdditionAllowed", allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", layerListControls: "layerListControls" }, ngImport: i0, template: "<igo-layer-legend-list\r\n *ngIf=\"showAllLegend()\"\r\n igoLayerLegendListBinding\r\n [excludeBaseLayers]=\"excludeBaseLayers\"\r\n [allowShowAllLegends]=\"allowShowAllLegends\"\r\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\r\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\r\n (allLegendsShown)=\"onShowAllLegends($event)\"\r\n>\r\n</igo-layer-legend-list>\r\n<ng-template\r\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\r\n></ng-template>\r\n\r\n<p\r\n class=\"map-empty mat-typography\"\r\n *ngIf=\"\r\n !allowShowAllLegends &&\r\n (layers$ | async).length !== 0 &&\r\n (visibleOrInRangeLayers$ | async).length === 0\r\n \"\r\n>\r\n {{\r\n (visibleLayers$ | async).length\r\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\r\n : ('igo.integration.mapTool.noLayersVisible' | translate)\r\n }}\r\n</p>\r\n\r\n<ng-template #emptyLayers>\r\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\r\n <p class=\"map-empty mat-typography\">\r\n {{ 'igo.integration.mapTool.empty' | translate }}\r\n </p>\r\n <p\r\n *ngIf=\"\r\n layerAdditionAllowed &&\r\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\r\n \"\r\n class=\"map-empty mat-typography\"\r\n >\r\n {{ 'igo.integration.mapTool.customize' | translate }}\r\n </p>\r\n\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"search-tool mat-typography\"\r\n (click)=\"searchEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.search-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"catalog-tool mat-typography\"\r\n (click)=\"catalogEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"context-tool mat-typography\"\r\n (click)=\"contextEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.context-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["allLegendsShown"] }, { kind: "directive", type: i3.LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
259
129
  };
260
130
  MapLegendToolComponent = __decorate([
261
131
  ToolComponent({
@@ -268,18 +138,18 @@ MapLegendToolComponent = __decorate([
268
138
  SearchSourceService,
269
139
  ChangeDetectorRef])
270
140
  ], MapLegendToolComponent);
271
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapLegendToolComponent, [{
272
- type: Component,
273
- args: [{ selector: 'igo-map-legend-tool', template: "<igo-layer-legend-list\r\n *ngIf=\"showAllLegend()\"\r\n igoLayerLegendListBinding\r\n [excludeBaseLayers]=\"excludeBaseLayers\"\r\n [allowShowAllLegends]=\"allowShowAllLegends\"\r\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\r\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\r\n (allLegendsShown)=\"onShowAllLegends($event)\"\r\n>\r\n</igo-layer-legend-list>\r\n<ng-template\r\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\r\n></ng-template>\r\n\r\n<p\r\n class=\"map-empty mat-typography\"\r\n *ngIf=\"\r\n !allowShowAllLegends &&\r\n (layers$ | async).length !== 0 &&\r\n (visibleOrInRangeLayers$ | async).length === 0\r\n \"\r\n>\r\n {{\r\n (visibleLayers$ | async).length\r\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\r\n : ('igo.integration.mapTool.noLayersVisible' | translate)\r\n }}\r\n</p>\r\n\r\n<ng-template #emptyLayers>\r\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\r\n <p class=\"map-empty mat-typography\">\r\n {{ 'igo.integration.mapTool.empty' | translate }}\r\n </p>\r\n <p\r\n *ngIf=\"\r\n layerAdditionAllowed &&\r\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\r\n \"\r\n class=\"map-empty mat-typography\"\r\n >\r\n {{ 'igo.integration.mapTool.customize' | translate }}\r\n </p>\r\n\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"search-tool mat-typography\"\r\n (click)=\"searchEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.search-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"catalog-tool mat-typography\"\r\n (click)=\"catalogEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"context-tool mat-typography\"\r\n (click)=\"contextEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.context-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"] }]
274
- }], function () { return [{ type: i1.MapState }, { type: i2.ToolState }, { type: i3.SearchSourceService }, { type: i0.ChangeDetectorRef }]; }, { updateLegendOnResolutionChange: [{
275
- type: Input
276
- }], layerAdditionAllowed: [{
277
- type: Input
278
- }], allowShowAllLegends: [{
279
- type: Input
280
- }], showAllLegendsValue: [{
281
- type: Input
282
- }], layerListControls: [{
283
- type: Input
284
- }] }); })();
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBSUwsbUJBQW1CLEVBQ25CLGVBQWUsRUFDaEIsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUNMLGVBQWUsRUFFZixhQUFhLEVBRWIsYUFBYSxFQUNkLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztJQzNCMUMsZ0RBUUM7SUFEQyw4TkFBbUIsZUFBQSwrQkFBd0IsQ0FBQSxJQUFDOztJQUU5QyxpQkFBd0I7OztJQU50Qiw0REFBdUMsbURBQUEseUVBQUEsMEVBQUE7Ozs7SUFPekMsc0ZBRWU7OztJQUVmLDRCQU9DO0lBQ0MsWUFLRjs7OztJQUFBLGlCQUFJOzs7SUFMRixlQUtGO0lBTEUsd05BS0Y7OztJQU9JLDRCQU1DO0lBQ0MsWUFDRjs7SUFBQSxpQkFBSTs7SUFERixlQUNGO0lBREUsMEZBQ0Y7Ozs7SUFFQSxxQ0FBbUUs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QUFzQjtZQ3ZDbkMsMkdBU3dCO1lBQ3hCLGtFQUVlOztZQUVmLG1FQWFJOzs7WUFFSix3SEFrRmM7OztZQTlHWCwwQ0FBcUI7WUFVckIsZUFBc0M7WUFBdEMscUVBQXNDLGlCQUFBO1lBS3RDLGVBSUY7WUFKRSxtS0FJRjs7O0FEbUJZLHNCQUFzQjtJQVZsQyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsV0FBVztRQUNqQixLQUFLLEVBQUUsOEJBQThCO1FBQ3JDLElBQUksRUFBRSwyQkFBMkI7S0FDbEMsQ0FBQztxQ0FvRW9CLFFBQVE7UUFDUCxTQUFTO1FBQ0MsbUJBQW1CO1FBQ2pDLGlCQUFpQjtHQWpFdkIsc0JBQXNCLENBbUpsQzt1RkFuSlksc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0UscUJBQXFCO3FKQWN0Qiw4QkFBOEI7a0JBQXRDLEtBQUs7WUFFRyxvQkFBb0I7a0JBQTVCLEtBQUs7WUFFRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFFRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFFRyxpQkFBaUI7a0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBJZ29NYXAsXHJcbiAgTGF5ZXIsXHJcbiAgTGF5ZXJMaXN0Q29udHJvbHNPcHRpb25zLFxyXG4gIFNlYXJjaFNvdXJjZVNlcnZpY2UsXHJcbiAgc291cmNlQ2FuU2VhcmNoXHJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIE9ic2VydmFibGUsXHJcbiAgUmVwbGF5U3ViamVjdCxcclxuICBTdWJzY3JpcHRpb24sXHJcbiAgY29tYmluZUxhdGVzdFxyXG59IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4vLi4vLi4vdG9vbC90b29sLnN0YXRlJztcclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLy4uL21hcC5zdGF0ZSc7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ21hcExlZ2VuZCcsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMubGVnZW5kJyxcclxuICBpY29uOiAnZm9ybWF0LWxpc3QtYnVsbGV0ZWQtdHlwZSdcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tbWFwLWxlZ2VuZC10b29sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tYXAtbGVnZW5kLXRvb2wuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFwTGVnZW5kVG9vbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgZGVsYXllZFNob3dFbXB0eU1hcENvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgbGF5ZXJzJDogQmVoYXZpb3JTdWJqZWN0PExheWVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XHJcbiAgc2hvd0FsbExlZ2VuZHNWYWx1ZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIGNoYW5nZSQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcclxuXHJcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHZpc2libGVPckluUmFuZ2VMYXllcnMkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASW5wdXQoKSB1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGF5ZXJBZGRpdGlvbkFsbG93ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBhbGxvd1Nob3dBbGxMZWdlbmRzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dBbGxMZWdlbmRzVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGF5ZXJMaXN0Q29udHJvbHM6IExheWVyTGlzdENvbnRyb2xzT3B0aW9ucyA9IHt9O1xyXG5cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBnZXQgdmlzaWJsZU9ySW5SYW5nZUxheWVycyQoKTogT2JzZXJ2YWJsZTxMYXllcltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXllcnMkLnBpcGUoXHJcbiAgICAgIG1hcCgobGF5ZXJzKSA9PlxyXG4gICAgICAgIGxheWVycy5maWx0ZXIoXHJcbiAgICAgICAgICAobGF5ZXIpID0+IGxheWVyLnZpc2libGUkLnZhbHVlICYmIGxheWVyLmlzSW5SZXNvbHV0aW9uc1JhbmdlJC52YWx1ZVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCB2aXNpYmxlTGF5ZXJzJCgpOiBPYnNlcnZhYmxlPExheWVyW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycyQucGlwZShcclxuICAgICAgbWFwKChsYXllcnMpID0+IGxheWVycy5maWx0ZXIoKGxheWVyKSA9PiBsYXllci52aXNpYmxlJC52YWx1ZSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGV4Y2x1ZGVCYXNlTGF5ZXJzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXJMaXN0Q29udHJvbHMuZXhjbHVkZUJhc2VMYXllcnMgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgc2VhcmNoVG9vbEluVG9vbGJhcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guZ2V0VG9vbGJhcigpLmluZGV4T2YoJ3NlYXJjaFJlc3VsdHMnKSAhPT0gLTEgJiZcclxuICAgICAgdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmdldFNvdXJjZXMoKVxyXG4gICAgICAgIC5maWx0ZXIoc291cmNlQ2FuU2VhcmNoKVxyXG4gICAgICAgIC5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICYmIHMuZ2V0VHlwZSgpID09PSAnTGF5ZXInKS5sZW5ndGggPiAwXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhdGFsb2dUb29sSW5Ub29sYmFyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudG9vbFN0YXRlLnRvb2xib3guZ2V0VG9vbGJhcigpLmluZGV4T2YoJ2NhdGFsb2cnKSAhPT0gLTE7XHJcbiAgfVxyXG5cclxuICBnZXQgY29udGV4dFRvb2xJblRvb2xiYXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sU3RhdGUudG9vbGJveC5nZXRUb29sYmFyKCkuaW5kZXhPZignY29udGV4dE1hbmFnZXInKSAhPT0gLTE7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXHJcbiAgICBwcml2YXRlIHRvb2xTdGF0ZTogVG9vbFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNvbHV0aW9uJCQgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5tYXAubGF5ZXJzJCxcclxuICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiRcclxuICAgIF0pXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGJ1bmNoOiBbTGF5ZXJbXSwgbnVtYmVyXSkgPT4ge1xyXG4gICAgICAgIHRoaXMubGF5ZXJzJC5uZXh0KFxyXG4gICAgICAgICAgYnVuY2hbMF0uZmlsdGVyKFxyXG4gICAgICAgICAgICAobGF5ZXIpID0+XHJcbiAgICAgICAgICAgICAgbGF5ZXIuc2hvd0luTGF5ZXJMaXN0ICE9PSBmYWxzZSAmJlxyXG4gICAgICAgICAgICAgICghdGhpcy5leGNsdWRlQmFzZUxheWVycyB8fCAhbGF5ZXIuYmFzZUxheWVyKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLmFsbG93U2hvd0FsbExlZ2VuZHMpIHtcclxuICAgICAgdGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlID1cclxuICAgICAgICB0aGlzLm1hcFN0YXRlLnNob3dBbGxMZWdlbmRzVmFsdWUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgPyB0aGlzLm1hcFN0YXRlLnNob3dBbGxMZWdlbmRzVmFsdWVcclxuICAgICAgICAgIDogdGhpcy5zaG93QWxsTGVnZW5kc1ZhbHVlIHx8IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dBbGxMZWdlbmRzVmFsdWUkLm5leHQodGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0FsbExlZ2VuZHNWYWx1ZSQubmV4dChmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcHJldmVudCBtZXNzYWdlIHRvIGJlIHNob3duIHRvbyBxdWlja2x5LiBXYWl0aW5nIGZvciBsYXllcnNcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRlbGF5ZWRTaG93RW1wdHlNYXBDb250ZW50ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LCAyNTApO1xyXG4gIH1cclxuXHJcbiAgb25TaG93QWxsTGVnZW5kcyhldmVudCkge1xyXG4gICAgdGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlID0gZXZlbnQ7XHJcbiAgICB0aGlzLnNob3dBbGxMZWdlbmRzVmFsdWUkLm5leHQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0FsbExlZ2VuZCgpIHtcclxuICAgIGlmICh0aGlzLmxheWVycyQuZ2V0VmFsdWUoKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgdGhpcy5sYXllcnMkLmdldFZhbHVlKCkubGVuZ3RoICE9PSAwICYmXHJcbiAgICAgIHRoaXMuYWxsb3dTaG93QWxsTGVnZW5kcyA9PT0gZmFsc2VcclxuICAgICkge1xyXG4gICAgICBsZXQgdmlzaWJsZU9ySW5SYW5nZUxheWVycztcclxuICAgICAgdGhpcy52aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCQgPSB0aGlzLnZpc2libGVPckluUmFuZ2VMYXllcnMkLnN1YnNjcmliZShcclxuICAgICAgICAodmFsdWUpID0+IHtcclxuICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gMFxyXG4gICAgICAgICAgICA/ICh2aXNpYmxlT3JJblJhbmdlTGF5ZXJzID0gZmFsc2UpXHJcbiAgICAgICAgICAgIDogKHZpc2libGVPckluUmFuZ2VMYXllcnMgPSB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gICAgICBpZiAodmlzaWJsZU9ySW5SYW5nZUxheWVycyA9PT0gZmFsc2UpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xyXG4gICAgaWYgKHRoaXMudmlzaWJsZU9ySW5SYW5nZUxheWVycyQkKSB7XHJcbiAgICAgIHRoaXMudmlzaWJsZU9ySW5SYW5nZUxheWVycyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2hFbWl0KCkge1xyXG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ3NlYXJjaFJlc3VsdHMnKTtcclxuICB9XHJcblxyXG4gIGNhdGFsb2dFbWl0KCkge1xyXG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2NhdGFsb2cnKTtcclxuICB9XHJcblxyXG4gIGNvbnRleHRFbWl0KCkge1xyXG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2NvbnRleHRNYW5hZ2VyJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tbGF5ZXItbGVnZW5kLWxpc3RcclxuICAqbmdJZj1cInNob3dBbGxMZWdlbmQoKVwiXHJcbiAgaWdvTGF5ZXJMZWdlbmRMaXN0QmluZGluZ1xyXG4gIFtleGNsdWRlQmFzZUxheWVyc109XCJleGNsdWRlQmFzZUxheWVyc1wiXHJcbiAgW2FsbG93U2hvd0FsbExlZ2VuZHNdPVwiYWxsb3dTaG93QWxsTGVnZW5kc1wiXHJcbiAgW3VwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZV09XCJ1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VcIlxyXG4gIFtzaG93QWxsTGVnZW5kc1ZhbHVlXT1cInNob3dBbGxMZWdlbmRzVmFsdWUkIHwgYXN5bmNcIlxyXG4gIChhbGxMZWdlbmRzU2hvd24pPVwib25TaG93QWxsTGVnZW5kcygkZXZlbnQpXCJcclxuPlxyXG48L2lnby1sYXllci1sZWdlbmQtbGlzdD5cclxuPG5nLXRlbXBsYXRlXHJcbiAgKm5nSWY9XCIobGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGggIT09IDA7IGVsc2UgZW1wdHlMYXllcnNcIlxyXG4+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxwXHJcbiAgY2xhc3M9XCJtYXAtZW1wdHkgbWF0LXR5cG9ncmFwaHlcIlxyXG4gICpuZ0lmPVwiXHJcbiAgICAhYWxsb3dTaG93QWxsTGVnZW5kcyAmJlxyXG4gICAgKGxheWVycyQgfCBhc3luYykubGVuZ3RoICE9PSAwICYmXHJcbiAgICAodmlzaWJsZU9ySW5SYW5nZUxheWVycyQgfCBhc3luYykubGVuZ3RoID09PSAwXHJcbiAgXCJcclxuPlxyXG4gIHt7XHJcbiAgICAodmlzaWJsZUxheWVycyQgfCBhc3luYykubGVuZ3RoXHJcbiAgICAgID8gKCdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5ub0xheWVyc0luUmFuZ2UnIHwgdHJhbnNsYXRlKVxyXG4gICAgICA6ICgnaWdvLmludGVncmF0aW9uLm1hcFRvb2wubm9MYXllcnNWaXNpYmxlJyB8IHRyYW5zbGF0ZSlcclxuICB9fVxyXG48L3A+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtcHR5TGF5ZXJzPlxyXG4gIDxtYXQtbGlzdCAqbmdJZj1cImRlbGF5ZWRTaG93RW1wdHlNYXBDb250ZW50XCI+XHJcbiAgICA8cCBjbGFzcz1cIm1hcC1lbXB0eSBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuZW1wdHknIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L3A+XHJcbiAgICA8cFxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgIGxheWVyQWRkaXRpb25BbGxvd2VkICYmXHJcbiAgICAgICAgKHNlYXJjaFRvb2xJblRvb2xiYXIgfHwgY2F0YWxvZ1Rvb2xJblRvb2xiYXIgfHwgY29udGV4dFRvb2xJblRvb2xiYXIpXHJcbiAgICAgIFwiXHJcbiAgICAgIGNsYXNzPVwibWFwLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCJcclxuICAgID5cclxuICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLmN1c3RvbWl6ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvcD5cclxuXHJcbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImxheWVyQWRkaXRpb25BbGxvd2VkICYmIHNlYXJjaFRvb2xJblRvb2xiYXJcIj5cclxuICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5cclxuICAgICAgICA8c3ZnXHJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgIGZpdD1cIlwiXHJcbiAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcclxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXHJcbiAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk05LjUsM0E2LjUsNi41IDAgMCwxIDE2LDkuNUMxNiwxMS4xMSAxNS40MSwxMi41OSAxNC40NCwxMy43M0wxNC43MSwxNEgxNS41TDIwLjUsMTlMMTksMjAuNUwxNCwxNS41VjE0LjcxTDEzLjczLDE0LjQ0QzEyLjU5LDE1LjQxIDExLjExLDE2IDkuNSwxNkE2LjUsNi41IDAgMCwxIDMsOS41QTYuNSw2LjUgMCAwLDEgOS41LDNNOS41LDVDNyw1IDUsNyA1LDkuNUM1LDEyIDcsMTQgOS41LDE0QzEyLDE0IDE0LDEyIDE0LDkuNUMxNCw3IDEyLDUgOS41LDVaXCJcclxuICAgICAgICAgID48L3BhdGg+PC9zdmdcclxuICAgICAgPjwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLXRvb2wgbWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgICAgIChjbGljayk9XCJzZWFyY2hFbWl0KClcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLnNlYXJjaC10b29sJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImxheWVyQWRkaXRpb25BbGxvd2VkICYmIGNhdGFsb2dUb29sSW5Ub29sYmFyXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+XHJcbiAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICBmaXQ9XCJcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXHJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxyXG4gICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNMTcsMTRIMTlWMTdIMjJWMTlIMTlWMjJIMTdWMTlIMTRWMTdIMTdWMTRNMTEsMTZMMiw5TDExLDJMMjAsOUwxMSwxNk0xMSwxOC41NEwxMiwxNy43NVYxOEMxMiwxOC43MSAxMi4xMiwxOS4zOSAxMi4zNSwyMEwxMSwyMS4wN0wyLDE0LjA3TDMuNjIsMTIuODFMMTEsMTguNTRaXCJcclxuICAgICAgICAgID48L3BhdGg+PC9zdmdcclxuICAgICAgPjwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgICAgIGNsYXNzPVwiY2F0YWxvZy10b29sIG1hdC10eXBvZ3JhcGh5XCJcclxuICAgICAgICAoY2xpY2spPVwiY2F0YWxvZ0VtaXQoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuY2F0YWxvZy10b29sJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImxheWVyQWRkaXRpb25BbGxvd2VkICYmIGNvbnRleHRUb29sSW5Ub29sYmFyXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+XHJcbiAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICBmaXQ9XCJcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXHJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxyXG4gICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNMTIsMTcuMjdMMTguMTgsMjFMMTYuNTQsMTMuOTdMMjIsOS4yNEwxNC44MSw4LjYyTDEyLDJMOS4xOSw4LjYyTDIsOS4yNEw3LjQ1LDEzLjk3TDUuODIsMjFMMTIsMTcuMjdaXCJcclxuICAgICAgICAgID48L3BhdGg+PC9zdmdcclxuICAgICAgPjwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgICAgIGNsYXNzPVwiY29udGV4dC10b29sIG1hdC10eXBvZ3JhcGh5XCJcclxuICAgICAgICAoY2xpY2spPVwiY29udGV4dEVtaXQoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuY29udGV4dC10b29sJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgPC9tYXQtbGlzdD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapLegendToolComponent, decorators: [{
142
+ type: Component,
143
+ args: [{ selector: 'igo-map-legend-tool', template: "<igo-layer-legend-list\r\n *ngIf=\"showAllLegend()\"\r\n igoLayerLegendListBinding\r\n [excludeBaseLayers]=\"excludeBaseLayers\"\r\n [allowShowAllLegends]=\"allowShowAllLegends\"\r\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\r\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\r\n (allLegendsShown)=\"onShowAllLegends($event)\"\r\n>\r\n</igo-layer-legend-list>\r\n<ng-template\r\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\r\n></ng-template>\r\n\r\n<p\r\n class=\"map-empty mat-typography\"\r\n *ngIf=\"\r\n !allowShowAllLegends &&\r\n (layers$ | async).length !== 0 &&\r\n (visibleOrInRangeLayers$ | async).length === 0\r\n \"\r\n>\r\n {{\r\n (visibleLayers$ | async).length\r\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\r\n : ('igo.integration.mapTool.noLayersVisible' | translate)\r\n }}\r\n</p>\r\n\r\n<ng-template #emptyLayers>\r\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\r\n <p class=\"map-empty mat-typography\">\r\n {{ 'igo.integration.mapTool.empty' | translate }}\r\n </p>\r\n <p\r\n *ngIf=\"\r\n layerAdditionAllowed &&\r\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\r\n \"\r\n class=\"map-empty mat-typography\"\r\n >\r\n {{ 'igo.integration.mapTool.customize' | translate }}\r\n </p>\r\n\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"search-tool mat-typography\"\r\n (click)=\"searchEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.search-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"catalog-tool mat-typography\"\r\n (click)=\"catalogEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"context-tool mat-typography\"\r\n (click)=\"contextEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.context-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"] }]
144
+ }], ctorParameters: function () { return [{ type: i1.MapState }, { type: i2.ToolState }, { type: i3.SearchSourceService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { updateLegendOnResolutionChange: [{
145
+ type: Input
146
+ }], layerAdditionAllowed: [{
147
+ type: Input
148
+ }], allowShowAllLegends: [{
149
+ type: Input
150
+ }], showAllLegendsValue: [{
151
+ type: Input
152
+ }], layerListControls: [{
153
+ type: Input
154
+ }] } });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBSUwsbUJBQW1CLEVBQ25CLGVBQWUsRUFDaEIsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUNMLGVBQWUsRUFFZixhQUFhLEVBRWIsYUFBYSxFQUNkLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFZbkMsV0FBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBc0I7SUE4RHZCO0lBQ0E7SUFDQTtJQUNBO0lBaEVILDBCQUEwQixHQUFZLEtBQUssQ0FBQztJQUVuRCxPQUFPLEdBQTZCLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVELG9CQUFvQixHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RSxPQUFPLEdBQUcsSUFBSSxhQUFhLENBQU8sQ0FBQyxDQUFDLENBQUM7SUFFN0IsWUFBWSxDQUFl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QTJCO0tBQ2xDLENBQUM7cUNBb0VvQixRQUFRO1FBQ1AsU0FBUztRQUNDLG1CQUFtQjtRQUNqQyxpQkFBaUI7R0FqRXZCLHNCQUFzQixDQW1KbEM7NEZBbkpZLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxxQkFBcUI7eUxBY3RCLDhCQUE4QjtzQkFBdEMsS0FBSztnQkFFRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBJZ29NYXAsXHJcbiAgTGF5ZXIsXHJcbiAgTGF5ZXJMaXN0Q29udHJvbHNPcHRpb25zLFxyXG4gIFNlYXJjaFNvdXJjZVNlcnZpY2UsXHJcbiAgc291cmNlQ2FuU2VhcmNoXHJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIE9ic2VydmFibGUsXHJcbiAgUmVwbGF5U3ViamVjdCxcclxuICBTdWJzY3JpcHRpb24sXHJcbiAgY29tYmluZUxhdGVzdFxyXG59IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4vLi4vLi4vdG9vbC90b29sLnN0YXRlJztcclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLy4uL21hcC5zdGF0ZSc7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ21hcExlZ2VuZCcsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMubGVnZW5kJyxcclxuICBpY29uOiAnZm9ybWF0LWxpc3QtYnVsbGV0ZWQtdHlwZSdcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tbWFwLWxlZ2VuZC10b29sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tYXAtbGVnZW5kLXRvb2wuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFwTGVnZW5kVG9vbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgZGVsYXllZFNob3dFbXB0eU1hcENvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgbGF5ZXJzJDogQmVoYXZpb3JTdWJqZWN0PExheWVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XHJcbiAgc2hvd0FsbExlZ2VuZHNWYWx1ZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIGNoYW5nZSQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcclxuXHJcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHZpc2libGVPckluUmFuZ2VMYXllcnMkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASW5wdXQoKSB1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGF5ZXJBZGRpdGlvbkFsbG93ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBhbGxvd1Nob3dBbGxMZWdlbmRzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dBbGxMZWdlbmRzVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGF5ZXJMaXN0Q29udHJvbHM6IExheWVyTGlzdENvbnRyb2xzT3B0aW9ucyA9IHt9O1xyXG5cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBnZXQgdmlzaWJsZU9ySW5SYW5nZUxheWVycyQoKTogT2JzZXJ2YWJsZTxMYXllcltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXllcnMkLnBpcGUoXHJcbiAgICAgIG1hcCgobGF5ZXJzKSA9PlxyXG4gICAgICAgIGxheWVycy5maWx0ZXIoXHJcbiAgICAgICAgICAobGF5ZXIpID0+IGxheWVyLnZpc2libGUkLnZhbHVlICYmIGxheWVyLmlzSW5SZXNvbHV0aW9uc1JhbmdlJC52YWx1ZVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCB2aXNpYmxlTGF5ZXJzJCgpOiBPYnNlcnZhYmxlPExheWVyW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycyQucGlwZShcclxuICAgICAgbWFwKChsYXllcnMpID0+IGxheWVycy5maWx0ZXIoKGxheWVyKSA9PiBsYXllci52aXNpYmxlJC52YWx1ZSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGV4Y2x1ZGVCYXNlTGF5ZXJzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXJMaXN0Q29udHJvbHMuZXhjbHVkZUJhc2VMYXllcnMgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgc2VhcmNoVG9vbEluVG9vbGJhcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guZ2V0VG9vbGJhcigpLmluZGV4T2YoJ3NlYXJjaFJlc3VsdHMnKSAhPT0gLTEgJiZcclxuICAgICAgdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmdldFNvdXJjZXMoKVxyXG4gICAgICAgIC5maWx0ZXIoc291cmNlQ2FuU2VhcmNoKVxyXG4gICAgICAgIC5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICYmIHMuZ2V0VHlwZSgpID09PSAnTGF5ZXInKS5sZW5ndGggPiAwXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhdGFsb2dUb29sSW5Ub29sYmFyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudG9vbFN0YXRlLnRvb2xib3guZ2V0VG9vbGJhcigpLmluZGV4T2YoJ2NhdGFsb2cnKSAhPT0gLTE7XHJcbiAgfVxyXG5cclxuICBnZXQgY29udGV4dFRvb2xJblRvb2xiYXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sU3RhdGUudG9vbGJveC5nZXRUb29sYmFyKCkuaW5kZXhPZignY29udGV4dE1hbmFnZXInKSAhPT0gLTE7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXHJcbiAgICBwcml2YXRlIHRvb2xTdGF0ZTogVG9vbFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNvbHV0aW9uJCQgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5tYXAubGF5ZXJzJCxcclxuICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiRcclxuICAgIF0pXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGJ1bmNoOiBbTGF5ZXJbXSwgbnVtYmVyXSkgPT4ge1xyXG4gICAgICAgIHRoaXMubGF5ZXJzJC5uZXh0KFxyXG4gICAgICAgICAgYnVuY2hbMF0uZmlsdGVyKFxyXG4gICAgICAgICAgICAobGF5ZXIpID0+XHJcbiAgICAgICAgICAgICAgbGF5ZXIuc2hvd0luTGF5ZXJMaXN0ICE9PSBmYWxzZSAmJlxyXG4gICAgICAgICAgICAgICghdGhpcy5leGNsdWRlQmFzZUxheWVycyB8fCAhbGF5ZXIuYmFzZUxheWVyKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLmFsbG93U2hvd0FsbExlZ2VuZHMpIHtcclxuICAgICAgdGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlID1cclxuICAgICAgICB0aGlzLm1hcFN0YXRlLnNob3dBbGxMZWdlbmRzVmFsdWUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgPyB0aGlzLm1hcFN0YXRlLnNob3dBbGxMZWdlbmRzVmFsdWVcclxuICAgICAgICAgIDogdGhpcy5zaG93QWxsTGVnZW5kc1ZhbHVlIHx8IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dBbGxMZWdlbmRzVmFsdWUkLm5leHQodGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0FsbExlZ2VuZHNWYWx1ZSQubmV4dChmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcHJldmVudCBtZXNzYWdlIHRvIGJlIHNob3duIHRvbyBxdWlja2x5LiBXYWl0aW5nIGZvciBsYXllcnNcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRlbGF5ZWRTaG93RW1wdHlNYXBDb250ZW50ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LCAyNTApO1xyXG4gIH1cclxuXHJcbiAgb25TaG93QWxsTGVnZW5kcyhldmVudCkge1xyXG4gICAgdGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlID0gZXZlbnQ7XHJcbiAgICB0aGlzLnNob3dBbGxMZWdlbmRzVmFsdWUkLm5leHQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0FsbExlZ2VuZCgpIHtcclxuICAgIGlmICh0aGlzLmxheWVycyQuZ2V0VmFsdWUoKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgdGhpcy5sYXllcnMkLmdldFZhbHVlKCkubGVuZ3RoICE9PSAwICYmXHJcbiAgICAgIHRoaXMuYWxsb3dTaG93QWxsTGVnZW5kcyA9PT0gZmFsc2VcclxuICAgICkge1xyXG4gICAgICBsZXQgdmlzaWJsZU9ySW5SYW5nZUxheWVycztcclxuICAgICAgdGhpcy52aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCQgPSB0aGlzLnZpc2libGVPckluUmFuZ2VMYXllcnMkLnN1YnNjcmliZShcclxuICAgICAgICAodmFsdWUpID0+IHtcclxuICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gMFxyXG4gICAgICAgICAgICA/ICh2aXNpYmxlT3JJblJhbmdlTGF5ZXJzID0gZmFsc2UpXHJcbiAgICAgICAgICAgIDogKHZpc2libGVPckluUmFuZ2VMYXllcnMgPSB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gICAgICBpZiAodmlzaWJsZU9ySW5SYW5nZUxheWVycyA9PT0gZmFsc2UpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xyXG4gICAgaWYgKHRoaXMudmlzaWJsZU9ySW5SYW5nZUxheWVycyQkKSB7XHJcbiAgICAgIHRoaXMudmlzaWJsZU9ySW5SYW5nZUxheWVycyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2hFbWl0KCkge1xyXG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ3NlYXJjaFJlc3VsdHMnKTtcclxuICB9XHJcblxyXG4gIGNhdGFsb2dFbWl0KCkge1xyXG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2NhdGFsb2cnKTtcclxuICB9XHJcblxyXG4gIGNvbnRleHRFbWl0KCkge1xyXG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2NvbnRleHRNYW5hZ2VyJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tbGF5ZXItbGVnZW5kLWxpc3RcclxuICAqbmdJZj1cInNob3dBbGxMZWdlbmQoKVwiXHJcbiAgaWdvTGF5ZXJMZWdlbmRMaXN0QmluZGluZ1xyXG4gIFtleGNsdWRlQmFzZUxheWVyc109XCJleGNsdWRlQmFzZUxheWVyc1wiXHJcbiAgW2FsbG93U2hvd0FsbExlZ2VuZHNdPVwiYWxsb3dTaG93QWxsTGVnZW5kc1wiXHJcbiAgW3VwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZV09XCJ1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VcIlxyXG4gIFtzaG93QWxsTGVnZW5kc1ZhbHVlXT1cInNob3dBbGxMZWdlbmRzVmFsdWUkIHwgYXN5bmNcIlxyXG4gIChhbGxMZWdlbmRzU2hvd24pPVwib25TaG93QWxsTGVnZW5kcygkZXZlbnQpXCJcclxuPlxyXG48L2lnby1sYXllci1sZWdlbmQtbGlzdD5cclxuPG5nLXRlbXBsYXRlXHJcbiAgKm5nSWY9XCIobGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGggIT09IDA7IGVsc2UgZW1wdHlMYXllcnNcIlxyXG4+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxwXHJcbiAgY2xhc3M9XCJtYXAtZW1wdHkgbWF0LXR5cG9ncmFwaHlcIlxyXG4gICpuZ0lmPVwiXHJcbiAgICAhYWxsb3dTaG93QWxsTGVnZW5kcyAmJlxyXG4gICAgKGxheWVycyQgfCBhc3luYykubGVuZ3RoICE9PSAwICYmXHJcbiAgICAodmlzaWJsZU9ySW5SYW5nZUxheWVycyQgfCBhc3luYykubGVuZ3RoID09PSAwXHJcbiAgXCJcclxuPlxyXG4gIHt7XHJcbiAgICAodmlzaWJsZUxheWVycyQgfCBhc3luYykubGVuZ3RoXHJcbiAgICAgID8gKCdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5ub0xheWVyc0luUmFuZ2UnIHwgdHJhbnNsYXRlKVxyXG4gICAgICA6ICgnaWdvLmludGVncmF0aW9uLm1hcFRvb2wubm9MYXllcnNWaXNpYmxlJyB8IHRyYW5zbGF0ZSlcclxuICB9fVxyXG48L3A+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtcHR5TGF5ZXJzPlxyXG4gIDxtYXQtbGlzdCAqbmdJZj1cImRlbGF5ZWRTaG93RW1wdHlNYXBDb250ZW50XCI+XHJcbiAgICA8cCBjbGFzcz1cIm1hcC1lbXB0eSBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuZW1wdHknIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L3A+XHJcbiAgICA8cFxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgIGxheWVyQWRkaXRpb25BbGxvd2VkICYmXHJcbiAgICAgICAgKHNlYXJjaFRvb2xJblRvb2xiYXIgfHwgY2F0YWxvZ1Rvb2xJblRvb2xiYXIgfHwgY29udGV4dFRvb2xJblRvb2xiYXIpXHJcbiAgICAgIFwiXHJcbiAgICAgIGNsYXNzPVwibWFwLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCJcclxuICAgID5cclxuICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLmN1c3RvbWl6ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvcD5cclxuXHJcbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImxheWVyQWRkaXRpb25BbGxvd2VkICYmIHNlYXJjaFRvb2xJblRvb2xiYXJcIj5cclxuICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5cclxuICAgICAgICA8c3ZnXHJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgIGZpdD1cIlwiXHJcbiAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcclxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXHJcbiAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk05LjUsM0E2LjUsNi41IDAgMCwxIDE2LDkuNUMxNiwxMS4xMSAxNS40MSwxMi41OSAxNC40NCwxMy43M0wxNC43MSwxNEgxNS41TDIwLjUsMTlMMTksMjAuNUwxNCwxNS41VjE0LjcxTDEzLjczLDE0LjQ0QzEyLjU5LDE1LjQxIDExLjExLDE2IDkuNSwxNkE2LjUsNi41IDAgMCwxIDMsOS41QTYuNSw2LjUgMCAwLDEgOS41LDNNOS41LDVDNyw1IDUsNyA1LDkuNUM1LDEyIDcsMTQgOS41LDE0QzEyLDE0IDE0LDEyIDE0LDkuNUMxNCw3IDEyLDUgOS41LDVaXCJcclxuICAgICAgICAgID48L3BhdGg+PC9zdmdcclxuICAgICAgPjwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLXRvb2wgbWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgICAgIChjbGljayk9XCJzZWFyY2hFbWl0KClcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLnNlYXJjaC10b29sJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImxheWVyQWRkaXRpb25BbGxvd2VkICYmIGNhdGFsb2dUb29sSW5Ub29sYmFyXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+XHJcbiAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICBmaXQ9XCJcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXHJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxyXG4gICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNMTcsMTRIMTlWMTdIMjJWMTlIMTlWMjJIMTdWMTlIMTRWMTdIMTdWMTRNMTEsMTZMMiw5TDExLDJMMjAsOUwxMSwxNk0xMSwxOC41NEwxMiwxNy43NVYxOEMxMiwxOC43MSAxMi4xMiwxOS4zOSAxMi4zNSwyMEwxMSwyMS4wN0wyLDE0LjA3TDMuNjIsMTIuODFMMTEsMTguNTRaXCJcclxuICAgICAgICAgID48L3BhdGg+PC9zdmdcclxuICAgICAgPjwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgICAgIGNsYXNzPVwiY2F0YWxvZy10b29sIG1hdC10eXBvZ3JhcGh5XCJcclxuICAgICAgICAoY2xpY2spPVwiY2F0YWxvZ0VtaXQoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuY2F0YWxvZy10b29sJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImxheWVyQWRkaXRpb25BbGxvd2VkICYmIGNvbnRleHRUb29sSW5Ub29sYmFyXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+XHJcbiAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICBmaXQ9XCJcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXHJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxyXG4gICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNMTIsMTcuMjdMMTguMTgsMjFMMTYuNTQsMTMuOTdMMjIsOS4yNEwxNC44MSw4LjYyTDEyLDJMOS4xOSw4LjYyTDIsOS4yNEw3LjQ1LDEzLjk3TDUuODIsMjFMMTIsMTcuMjdaXCJcclxuICAgICAgICAgID48L3BhdGg+PC9zdmdcclxuICAgICAgPjwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgICAgIGNsYXNzPVwiY29udGV4dC10b29sIG1hdC10eXBvZ3JhcGh5XCJcclxuICAgICAgICAoY2xpY2spPVwiY29udGV4dEVtaXQoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuY29udGV4dC10b29sJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgPC9tYXQtbGlzdD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -18,34 +18,6 @@ import * as i9 from "@angular/material/radio";
18
18
  import * as i10 from "@angular/material/button";
19
19
  import * as i11 from "@igo2/common";
20
20
  import * as i12 from "@ngx-translate/core";
21
- const _c0 = ["table"];
22
- function MapProximityToolComponent_mat_form_field_3_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelementStart(0, "mat-form-field", 14);
24
- i0.ɵɵelement(1, "textarea", 15, 16);
25
- i0.ɵɵpipe(3, "translate");
26
- i0.ɵɵelementEnd();
27
- } if (rf & 2) {
28
- const coord_r4 = ctx.ngIf;
29
- i0.ɵɵadvance(1);
30
- i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.map-proximity-tool.lon"))("value", coord_r4[0]);
31
- } }
32
- function MapProximityToolComponent_mat_form_field_5_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelementStart(0, "mat-form-field", 17);
34
- i0.ɵɵelement(1, "textarea", 15, 16);
35
- i0.ɵɵpipe(3, "translate");
36
- i0.ɵɵelementEnd();
37
- } if (rf & 2) {
38
- const coord2_r6 = ctx.ngIf;
39
- i0.ɵɵadvance(1);
40
- i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.map-proximity-tool.lat"))("value", coord2_r6[1]);
41
- } }
42
- function MapProximityToolComponent_button_7_Template(rf, ctx) { if (rf & 1) {
43
- const _r9 = i0.ɵɵgetCurrentView();
44
- i0.ɵɵelementStart(0, "button", 18);
45
- i0.ɵɵlistener("click", function MapProximityToolComponent_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.copyTextToClipboard()); });
46
- i0.ɵɵelement(1, "mat-icon", 19);
47
- i0.ɵɵelementEnd();
48
- } }
49
21
  export let MapProximityToolComponent = class MapProximityToolComponent {
50
22
  mapState;
51
23
  mapProximityState;
@@ -131,69 +103,8 @@ export let MapProximityToolComponent = class MapProximityToolComponent {
131
103
  this.messageService.success('igo.integration.map-proximity-tool.copyMsg', 'igo.integration.map-proximity-tool.copyTitle');
132
104
  }
133
105
  }
134
- static ɵfac = function MapProximityToolComponent_Factory(t) { return new (t || MapProximityToolComponent)(i0.ɵɵdirectiveInject(i1.MapState), i0.ɵɵdirectiveInject(i2.MapProximityState), i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService)); };
135
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapProximityToolComponent, selectors: [["igo-map-proximity-tool"]], viewQuery: function MapProximityToolComponent_Query(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵviewQuery(_c0, 7);
137
- } if (rf & 2) {
138
- let _t;
139
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
140
- } }, decls: 31, vars: 35, consts: [[1, "table-compact", 3, "store", "template"], ["table", ""], ["class", "coordinates", 4, "ngIf"], ["class", "coordinates2", 4, "ngIf"], ["mat-icon-button", "", 3, "click", 4, "ngIf"], [1, "title-container"], [1, "title", "mat-typography"], [1, "igo-input-container", "mat-typography"], [3, "change"], ["value", "geolocation", 3, "checked"], ["value", "mapCenter", 3, "checked"], [1, "radius-unit"], ["floatLabel", "always", 1, "radius-field"], ["type", "number", "pattern", "[0-9]*", "matInput", "", 3, "ngModel", "placeholder", "ngModelChange"], [1, "coordinates"], ["matInput", "", "readonly", "", "rows", "1", 3, "placeholder", "value"], ["textArea", ""], [1, "coordinates2"], ["mat-icon-button", "", 3, "click"], ["svgIcon", "content-copy"]], template: function MapProximityToolComponent_Template(rf, ctx) { if (rf & 1) {
141
- i0.ɵɵelement(0, "igo-entity-table", 0, 1)(2, "br");
142
- i0.ɵɵtemplate(3, MapProximityToolComponent_mat_form_field_3_Template, 4, 4, "mat-form-field", 2);
143
- i0.ɵɵpipe(4, "async");
144
- i0.ɵɵtemplate(5, MapProximityToolComponent_mat_form_field_5_Template, 4, 4, "mat-form-field", 3);
145
- i0.ɵɵpipe(6, "async");
146
- i0.ɵɵtemplate(7, MapProximityToolComponent_button_7_Template, 2, 0, "button", 4);
147
- i0.ɵɵpipe(8, "async");
148
- i0.ɵɵpipe(9, "async");
149
- i0.ɵɵelementStart(10, "div", 5)(11, "mat-label", 6);
150
- i0.ɵɵtext(12);
151
- i0.ɵɵpipe(13, "translate");
152
- i0.ɵɵelementEnd()();
153
- i0.ɵɵelementStart(14, "div", 7)(15, "mat-radio-group", 8);
154
- i0.ɵɵlistener("change", function MapProximityToolComponent_Template_mat_radio_group_change_15_listener($event) { return ctx.onLocationTypeChange($event); });
155
- i0.ɵɵelementStart(16, "mat-radio-button", 9);
156
- i0.ɵɵpipe(17, "async");
157
- i0.ɵɵtext(18);
158
- i0.ɵɵpipe(19, "translate");
159
- i0.ɵɵelementEnd();
160
- i0.ɵɵelementStart(20, "mat-radio-button", 10);
161
- i0.ɵɵpipe(21, "async");
162
- i0.ɵɵtext(22);
163
- i0.ɵɵpipe(23, "translate");
164
- i0.ɵɵelementEnd()()();
165
- i0.ɵɵelementStart(24, "div", 11)(25, "mat-form-field", 12)(26, "mat-label");
166
- i0.ɵɵtext(27);
167
- i0.ɵɵpipe(28, "translate");
168
- i0.ɵɵelementEnd();
169
- i0.ɵɵelementStart(29, "input", 13);
170
- i0.ɵɵlistener("ngModelChange", function MapProximityToolComponent_Template_input_ngModelChange_29_listener($event) { return ctx.maxDistance = $event; });
171
- i0.ɵɵpipe(30, "translate");
172
- i0.ɵɵelementEnd()()();
173
- } if (rf & 2) {
174
- i0.ɵɵproperty("store", ctx.mapProximityState.proximityFeatureStore)("template", ctx.tableTemplate);
175
- i0.ɵɵadvance(3);
176
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(4, 13, ctx.mapProximityState.currentPositionCoordinate$));
177
- i0.ɵɵadvance(2);
178
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(6, 15, ctx.mapProximityState.currentPositionCoordinate$));
179
- i0.ɵɵadvance(2);
180
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(8, 17, ctx.mapProximityState.currentPositionCoordinate$) && i0.ɵɵpipeBind1(9, 19, ctx.mapProximityState.currentPositionCoordinate$).length);
181
- i0.ɵɵadvance(5);
182
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 21, "igo.integration.map-proximity-tool.method"));
183
- i0.ɵɵadvance(4);
184
- i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(17, 23, ctx.mapProximityState.proximitylocationType$) === "geolocation");
185
- i0.ɵɵadvance(2);
186
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 25, "igo.integration.map-proximity-tool.geolocation"));
187
- i0.ɵɵadvance(2);
188
- i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(21, 27, ctx.mapProximityState.proximitylocationType$) === "mapCenter");
189
- i0.ɵɵadvance(2);
190
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 29, "igo.integration.map-proximity-tool.mapCenter"));
191
- i0.ɵɵadvance(5);
192
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(28, 31, "igo.integration.map-proximity-tool.radiusM"));
193
- i0.ɵɵadvance(2);
194
- i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(30, 33, "igo.integration.map-proximity-tool.radiusM"));
195
- i0.ɵɵproperty("ngModel", ctx.maxDistance);
196
- } }, dependencies: [i4.DefaultValueAccessor, i4.NumberValueAccessor, i4.NgControlStatus, i4.PatternValidator, i4.NgModel, i5.MatFormField, i5.MatLabel, i6.MatInput, i7.NgIf, i8.MatIcon, i9.MatRadioGroup, i9.MatRadioButton, i10.MatIconButton, i11.EntityTableComponent, i7.AsyncPipe, i12.TranslatePipe], styles: ["[_nghost-%COMP%] .table-compact[_ngcontent-%COMP%]{height:auto}[_nghost-%COMP%] .table-compact[_ngcontent-%COMP%] .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}[_nghost-%COMP%] textarea[_ngcontent-%COMP%]{resize:none}[_nghost-%COMP%] mat-form-field[_ngcontent-%COMP%]{padding:10px 15px}[_nghost-%COMP%] mat-form-field.coordinates[_ngcontent-%COMP%]{width:110px}[_nghost-%COMP%] mat-form-field.coordinates2[_ngcontent-%COMP%]{width:100px;padding:0 10px 0 3px}[_nghost-%COMP%] mat-form-field.igo-input-container[_ngcontent-%COMP%]{width:60%;padding:0 15px}[_nghost-%COMP%] .radius-unit[_ngcontent-%COMP%]{display:flex;width:90%;margin-left:2px;padding:5px}[_nghost-%COMP%] .radius-unit[_ngcontent-%COMP%] mat-form-field.radius-field[_ngcontent-%COMP%]{display:flex;flex-flow:column nowrap;width:100%}[_nghost-%COMP%] .title-container[_ngcontent-%COMP%]{padding:10px}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{margin-left:5px;font-size:initial}[_nghost-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .mat-mdc-radio-button[_ngcontent-%COMP%]{display:inline-flex;position:relative;margin-left:12px}"] });
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapProximityToolComponent, deps: [{ token: i1.MapState }, { token: i2.MapProximityState }, { token: i3.LanguageService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Component });
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapProximityToolComponent, selector: "igo-map-proximity-tool", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true, static: true }], ngImport: i0, template: "<igo-entity-table\r\n #table\r\n class=\"table-compact\"\r\n [store]=\"mapProximityState.proximityFeatureStore\"\r\n [template]=\"tableTemplate\"\r\n></igo-entity-table>\r\n<br />\r\n<mat-form-field\r\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\"\r\n class=\"coordinates\"\r\n>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\r\n [value]=\"coord[0]\"\r\n ></textarea>\r\n</mat-form-field>\r\n<mat-form-field\r\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\"\r\n class=\"coordinates2\"\r\n>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\r\n [value]=\"coord2[1]\"\r\n ></textarea>\r\n</mat-form-field>\r\n\r\n<button\r\n *ngIf=\"\r\n (mapProximityState.currentPositionCoordinate$ | async) &&\r\n (mapProximityState.currentPositionCoordinate$ | async).length\r\n \"\r\n mat-icon-button\r\n (click)=\"copyTextToClipboard()\"\r\n>\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n</button>\r\n<div class=\"title-container\">\r\n <mat-label class=\"title mat-typography\">{{\r\n 'igo.integration.map-proximity-tool.method' | translate\r\n }}</mat-label>\r\n</div>\r\n<div class=\"igo-input-container mat-typography\">\r\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\r\n <mat-radio-button\r\n [checked]=\"\r\n (mapProximityState.proximitylocationType$ | async) === 'geolocation'\r\n \"\r\n value=\"geolocation\"\r\n >{{\r\n 'igo.integration.map-proximity-tool.geolocation' | translate\r\n }}</mat-radio-button\r\n >\r\n <mat-radio-button\r\n [checked]=\"\r\n (mapProximityState.proximitylocationType$ | async) === 'mapCenter'\r\n \"\r\n value=\"mapCenter\"\r\n >{{\r\n 'igo.integration.map-proximity-tool.mapCenter' | translate\r\n }}</mat-radio-button\r\n >\r\n </mat-radio-group>\r\n</div>\r\n\r\n<div class=\"radius-unit\">\r\n <mat-form-field class=\"radius-field\" floatLabel=\"always\">\r\n <mat-label>{{\r\n 'igo.integration.map-proximity-tool.radiusM' | translate\r\n }}</mat-label>\r\n <input\r\n type=\"number\"\r\n pattern=\"[0-9]*\"\r\n [(ngModel)]=\"maxDistance\"\r\n matInput\r\n placeholder=\"{{\r\n 'igo.integration.map-proximity-tool.radiusM' | translate\r\n }}\"\r\n />\r\n </mat-form-field>\r\n</div>\r\n", styles: [":host .table-compact{height:auto}:host .table-compact ::ng-deep .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}:host textarea{resize:none}:host mat-form-field{padding:10px 15px}:host mat-form-field.coordinates{width:110px}:host mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}:host mat-form-field.igo-input-container{width:60%;padding:0 15px}:host .radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}:host .radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}:host .title-container{padding:10px}:host .title{margin-left:5px;font-size:initial}:host .mat-mdc-radio-group{display:flex;flex-direction:column}:host .mat-mdc-radio-button{display:inline-flex;position:relative;margin-left:12px}\n"], dependencies: [{ kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i10.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i11.EntityTableComponent, selector: "igo-entity-table", inputs: ["store", "paginator", "template", "scrollBehavior", "sortNullsFirst", "withPaginator", "paginatorOptions"], outputs: ["entityClick", "entitySelectChange", "entitySortChange"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] });
197
108
  };
198
109
  MapProximityToolComponent = __decorate([
199
110
  ToolComponent({
@@ -210,11 +121,11 @@ MapProximityToolComponent = __decorate([
210
121
  LanguageService,
211
122
  MessageService])
212
123
  ], MapProximityToolComponent);
213
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityToolComponent, [{
214
- type: Component,
215
- args: [{ selector: 'igo-map-proximity-tool', template: "<igo-entity-table\r\n #table\r\n class=\"table-compact\"\r\n [store]=\"mapProximityState.proximityFeatureStore\"\r\n [template]=\"tableTemplate\"\r\n></igo-entity-table>\r\n<br />\r\n<mat-form-field\r\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\"\r\n class=\"coordinates\"\r\n>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\r\n [value]=\"coord[0]\"\r\n ></textarea>\r\n</mat-form-field>\r\n<mat-form-field\r\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\"\r\n class=\"coordinates2\"\r\n>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\r\n [value]=\"coord2[1]\"\r\n ></textarea>\r\n</mat-form-field>\r\n\r\n<button\r\n *ngIf=\"\r\n (mapProximityState.currentPositionCoordinate$ | async) &&\r\n (mapProximityState.currentPositionCoordinate$ | async).length\r\n \"\r\n mat-icon-button\r\n (click)=\"copyTextToClipboard()\"\r\n>\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n</button>\r\n<div class=\"title-container\">\r\n <mat-label class=\"title mat-typography\">{{\r\n 'igo.integration.map-proximity-tool.method' | translate\r\n }}</mat-label>\r\n</div>\r\n<div class=\"igo-input-container mat-typography\">\r\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\r\n <mat-radio-button\r\n [checked]=\"\r\n (mapProximityState.proximitylocationType$ | async) === 'geolocation'\r\n \"\r\n value=\"geolocation\"\r\n >{{\r\n 'igo.integration.map-proximity-tool.geolocation' | translate\r\n }}</mat-radio-button\r\n >\r\n <mat-radio-button\r\n [checked]=\"\r\n (mapProximityState.proximitylocationType$ | async) === 'mapCenter'\r\n \"\r\n value=\"mapCenter\"\r\n >{{\r\n 'igo.integration.map-proximity-tool.mapCenter' | translate\r\n }}</mat-radio-button\r\n >\r\n </mat-radio-group>\r\n</div>\r\n\r\n<div class=\"radius-unit\">\r\n <mat-form-field class=\"radius-field\" floatLabel=\"always\">\r\n <mat-label>{{\r\n 'igo.integration.map-proximity-tool.radiusM' | translate\r\n }}</mat-label>\r\n <input\r\n type=\"number\"\r\n pattern=\"[0-9]*\"\r\n [(ngModel)]=\"maxDistance\"\r\n matInput\r\n placeholder=\"{{\r\n 'igo.integration.map-proximity-tool.radiusM' | translate\r\n }}\"\r\n />\r\n </mat-form-field>\r\n</div>\r\n", styles: [":host .table-compact{height:auto}:host .table-compact ::ng-deep .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}:host textarea{resize:none}:host mat-form-field{padding:10px 15px}:host mat-form-field.coordinates{width:110px}:host mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}:host mat-form-field.igo-input-container{width:60%;padding:0 15px}:host .radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}:host .radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}:host .title-container{padding:10px}:host .title{margin-left:5px;font-size:initial}:host .mat-mdc-radio-group{display:flex;flex-direction:column}:host .mat-mdc-radio-button{display:inline-flex;position:relative;margin-left:12px}\n"] }]
216
- }], function () { return [{ type: i1.MapState }, { type: i2.MapProximityState }, { type: i3.LanguageService }, { type: i3.MessageService }]; }, { table: [{
217
- type: ViewChild,
218
- args: ['table', { static: true }]
219
- }] }); })();
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXByb3hpbWl0eS10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1wcm94aW1pdHktdG9vbC9tYXAtcHJveGltaXR5LXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXByb3hpbWl0eS10b29sL21hcC1wcm94aW1pdHktdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hFLE9BQU8sRUFDTCxvQkFBb0IsRUFFcEIsYUFBYSxFQUNkLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNSeEMsMENBR0M7SUFDQyxtQ0FPWTs7SUFDZCxpQkFBaUI7OztJQUhiLGVBQW9FO0lBQXBFLDRGQUFvRSxzQkFBQTs7O0lBSXhFLDBDQUdDO0lBQ0MsbUNBT1k7O0lBQ2QsaUJBQWlCOzs7SUFIYixlQUFvRTtJQUFwRSw0RkFBb0UsdUJBQUE7Ozs7SUFLeEUsa0NBT0M7SUFEQyx5S0FBUyxlQUFBLDRCQUFxQixDQUFBLElBQUM7SUFFL0IsK0JBQTRDO0lBQzlDLGlCQUFTOztBRGJGLFdBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBdUIzQjtJQUNBO0lBQ0M7SUFDQTtJQXpCRixN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QixpQkFRRSxFQUFBLEVBQUE7O1lBbEZKLG1FQUFpRCwrQkFBQTtZQUtoRCxlQUEyRDtZQUEzRCw4RkFBMkQ7WUFhM0QsZUFBMkQ7WUFBM0QsOEZBQTJEO1lBYzNELGVBR0Q7WUFIQyxnTEFHRDtZQU93QyxlQUV0QztZQUZzQyx5RkFFdEM7WUFLRSxlQUVDO1lBRkQsZ0hBRUM7WUFFQSxlQUVDO1lBRkQsOEZBRUM7WUFHRixlQUVDO1lBRkQsOEdBRUM7WUFFQSxlQUVDO1lBRkQsNEZBRUM7WUFPTyxlQUVUO1lBRlMsMEZBRVQ7WUFNQSxlQUVHO1lBRkgsNkdBRUc7WUFKSCx5Q0FBeUI7OztBRGxEbEIseUJBQXlCO0lBYnJDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxlQUFlO1FBQ3JCLEtBQUssRUFBRSxzQ0FBc0M7UUFDN0MsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDO0lBQ0Y7O09BRUc7O3FDQTZCa0IsUUFBUTtRQUNDLGlCQUFpQjtRQUNsQixlQUFlO1FBQ2hCLGNBQWM7R0ExQjdCLHlCQUF5QixDQXVHckM7dUZBdkdZLHlCQUF5QjtjQUxyQyxTQUFTOzJCQUNFLHdCQUF3QjtzSkFNSSxLQUFLO2tCQUExQyxTQUFTO21CQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0UmFkaW9DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEVudGl0eVRhYmxlQ29tcG9uZW50LFxyXG4gIEVudGl0eVRhYmxlVGVtcGxhdGUsXHJcbiAgVG9vbENvbXBvbmVudFxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgRmVhdHVyZSwgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkLCBOdW1iZXJVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTWFwUHJveGltaXR5U3RhdGUgfSBmcm9tICcuLi9tYXAtcHJveGltaXR5LnN0YXRlJztcclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi9tYXAuc3RhdGUnO1xyXG5cclxuQFRvb2xDb21wb25lbnQoe1xyXG4gIG5hbWU6ICdtYXAtcHJveGltaXR5JyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5jbG9zZXN0RmVhdHVyZScsXHJcbiAgaWNvbjogJ3JhZGl1cydcclxufSlcclxuLyoqXHJcbiAqIFRvb2wgdG8gaGFuZGxlIHRoZSBhZHZhbmNlZCBtYXAgdG9vbHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW1hcC1wcm94aW1pdHktdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1wcm94aW1pdHktdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLXByb3hpbWl0eS10b29sLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hcFByb3hpbWl0eVRvb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdWJzJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgQFZpZXdDaGlsZCgndGFibGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZTogRW50aXR5VGFibGVDb21wb25lbnQ7XHJcblxyXG4gIGdldCBtYXhEaXN0YW5jZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLnByb3hpbWl0eVJhZGl1c1ZhbHVlJC52YWx1ZTtcclxuICB9XHJcbiAgc2V0IG1heERpc3RhbmNlKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMubWFwUHJveGltaXR5U3RhdGUucHJveGltaXR5UmFkaXVzVmFsdWUkLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuICBwdWJsaWMgdXNlckRlZmluZWRNYXBDZW50ZXI6IGJvb2xlYW47XHJcbiAgcHVibGljIHVzZXJEZWZpbmVkRm9sbG93UG9zaXRpb246IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogVGFibGUgdGVtcGxhdGVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwdWJsaWMgdGFibGVUZW1wbGF0ZTogRW50aXR5VGFibGVUZW1wbGF0ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgbWFwU3RhdGU6IE1hcFN0YXRlLFxyXG4gICAgcHVibGljIG1hcFByb3hpbWl0eVN0YXRlOiBNYXBQcm94aW1pdHlTdGF0ZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy50YWJsZVRlbXBsYXRlID0ge1xyXG4gICAgICBzZWxlY3Rpb246IHRydWUsXHJcbiAgICAgIHNlbGVjdE1hbnk6IGZhbHNlLFxyXG4gICAgICBzZWxlY3Rpb25DaGVja2JveDogZmFsc2UsXHJcbiAgICAgIHNvcnQ6IHRydWUsXHJcbiAgICAgIGNvbHVtbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnZWxlbWVudCcsXHJcbiAgICAgICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmZlYXR1cmUnXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdmFsdWVBY2Nlc3NvcjogKGxvY2FsRmVhdHVyZTogRmVhdHVyZSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbG9jYWxGZWF0dXJlLnByb3BlcnRpZXMuZWxlbWVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdkaXN0YW5jZScsXHJcbiAgICAgICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmRpc3RhbmNlJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHZhbHVlQWNjZXNzb3I6IChsb2NhbEZlYXR1cmU6IEZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke051bWJlclV0aWxzLnJvdW5kVG9ORGVjaW1hbChcclxuICAgICAgICAgICAgICBsb2NhbEZlYXR1cmUucHJvcGVydGllcy5kaXN0YW5jZSxcclxuICAgICAgICAgICAgICAxXHJcbiAgICAgICAgICAgICl9bWA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLmVuYWJsZWQkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLnVzZXJEZWZpbmVkRm9sbG93UG9zaXRpb24gPVxyXG4gICAgICB0aGlzLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZm9sbG93UG9zaXRpb24gPT09IHRydWU7XHJcbiAgICB0aGlzLnVzZXJEZWZpbmVkTWFwQ2VudGVyID0gdGhpcy5tYXAubWFwQ2VudGVyJC52YWx1ZSA9PT0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnN1YnMkJC5wdXNoKFxyXG4gICAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLnByb3hpbWl0eWxvY2F0aW9uVHlwZSQuc3Vic2NyaWJlKCh2KSA9PiB7XHJcbiAgICAgICAgdGhpcy5tYXAubWFwQ2VudGVyJC5uZXh0KHYgIT09ICdnZW9sb2NhdGlvbicpO1xyXG4gICAgICAgIGlmICh2ID09PSAnZ2VvbG9jYXRpb24nKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZm9sbG93UG9zaXRpb24gPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZm9sbG93UG9zaXRpb24gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLmVuYWJsZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5tYXAubWFwQ2VudGVyJC5uZXh0KHRoaXMudXNlckRlZmluZWRNYXBDZW50ZXIpO1xyXG4gICAgdGhpcy5zdWJzJCQubWFwKChzKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLmZvbGxvd1Bvc2l0aW9uID1cclxuICAgICAgdGhpcy51c2VyRGVmaW5lZEZvbGxvd1Bvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgb25Mb2NhdGlvblR5cGVDaGFuZ2UoZTogTWF0UmFkaW9DaGFuZ2UpIHtcclxuICAgIHRoaXMubWFwUHJveGltaXR5U3RhdGUucHJveGltaXR5bG9jYXRpb25UeXBlJC5uZXh0KGUudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29weSB0aGUgY29vcmRpbmF0ZXMgdG8gYSBjbGlwYm9hcmRcclxuICAgKi9cclxuICBjb3B5VGV4dFRvQ2xpcGJvYXJkKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5KFxyXG4gICAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLmN1cnJlbnRQb3NpdGlvbkNvb3JkaW5hdGUkPy52YWx1ZS50b1N0cmluZygpXHJcbiAgICApO1xyXG4gICAgaWYgKHN1Y2Nlc3NmdWwpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFxyXG4gICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmNvcHlNc2cnLFxyXG4gICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmNvcHlUaXRsZSdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGlnby1lbnRpdHktdGFibGVcclxuICAjdGFibGVcclxuICBjbGFzcz1cInRhYmxlLWNvbXBhY3RcIlxyXG4gIFtzdG9yZV09XCJtYXBQcm94aW1pdHlTdGF0ZS5wcm94aW1pdHlGZWF0dXJlU3RvcmVcIlxyXG4gIFt0ZW1wbGF0ZV09XCJ0YWJsZVRlbXBsYXRlXCJcclxuPjwvaWdvLWVudGl0eS10YWJsZT5cclxuPGJyIC8+XHJcbjxtYXQtZm9ybS1maWVsZFxyXG4gICpuZ0lmPVwibWFwUHJveGltaXR5U3RhdGUuY3VycmVudFBvc2l0aW9uQ29vcmRpbmF0ZSQgfCBhc3luYyBhcyBjb29yZFwiXHJcbiAgY2xhc3M9XCJjb29yZGluYXRlc1wiXHJcbj5cclxuICA8dGV4dGFyZWFcclxuICAgICN0ZXh0QXJlYVxyXG4gICAgbWF0SW5wdXRcclxuICAgIHJlYWRvbmx5XHJcbiAgICByb3dzPVwiMVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wubG9uJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbdmFsdWVdPVwiY29vcmRbMF1cIlxyXG4gID48L3RleHRhcmVhPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG48bWF0LWZvcm0tZmllbGRcclxuICAqbmdJZj1cIm1hcFByb3hpbWl0eVN0YXRlLmN1cnJlbnRQb3NpdGlvbkNvb3JkaW5hdGUkIHwgYXN5bmMgYXMgY29vcmQyXCJcclxuICBjbGFzcz1cImNvb3JkaW5hdGVzMlwiXHJcbj5cclxuICA8dGV4dGFyZWFcclxuICAgICN0ZXh0QXJlYVxyXG4gICAgbWF0SW5wdXRcclxuICAgIHJlYWRvbmx5XHJcbiAgICByb3dzPVwiMVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wubGF0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbdmFsdWVdPVwiY29vcmQyWzFdXCJcclxuICA+PC90ZXh0YXJlYT5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbjxidXR0b25cclxuICAqbmdJZj1cIlxyXG4gICAgKG1hcFByb3hpbWl0eVN0YXRlLmN1cnJlbnRQb3NpdGlvbkNvb3JkaW5hdGUkIHwgYXN5bmMpICYmXHJcbiAgICAobWFwUHJveGltaXR5U3RhdGUuY3VycmVudFBvc2l0aW9uQ29vcmRpbmF0ZSQgfCBhc3luYykubGVuZ3RoXHJcbiAgXCJcclxuICBtYXQtaWNvbi1idXR0b25cclxuICAoY2xpY2spPVwiY29weVRleHRUb0NsaXBib2FyZCgpXCJcclxuPlxyXG4gIDxtYXQtaWNvbiBzdmdJY29uPVwiY29udGVudC1jb3B5XCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbjxkaXYgY2xhc3M9XCJ0aXRsZS1jb250YWluZXJcIj5cclxuICA8bWF0LWxhYmVsIGNsYXNzPVwidGl0bGUgbWF0LXR5cG9ncmFwaHlcIj57e1xyXG4gICAgJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wubWV0aG9kJyB8IHRyYW5zbGF0ZVxyXG4gIH19PC9tYXQtbGFiZWw+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lciBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIDxtYXQtcmFkaW8tZ3JvdXAgKGNoYW5nZSk9XCJvbkxvY2F0aW9uVHlwZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICBbY2hlY2tlZF09XCJcclxuICAgICAgICAobWFwUHJveGltaXR5U3RhdGUucHJveGltaXR5bG9jYXRpb25UeXBlJCB8IGFzeW5jKSA9PT0gJ2dlb2xvY2F0aW9uJ1xyXG4gICAgICBcIlxyXG4gICAgICB2YWx1ZT1cImdlb2xvY2F0aW9uXCJcclxuICAgICAgPnt7XHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wuZ2VvbG9jYXRpb24nIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PC9tYXQtcmFkaW8tYnV0dG9uXHJcbiAgICA+XHJcbiAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICBbY2hlY2tlZF09XCJcclxuICAgICAgICAobWFwUHJveGltaXR5U3RhdGUucHJveGltaXR5bG9jYXRpb25UeXBlJCB8IGFzeW5jKSA9PT0gJ21hcENlbnRlcidcclxuICAgICAgXCJcclxuICAgICAgdmFsdWU9XCJtYXBDZW50ZXJcIlxyXG4gICAgICA+e3tcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLm1hcC1wcm94aW1pdHktdG9vbC5tYXBDZW50ZXInIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PC9tYXQtcmFkaW8tYnV0dG9uXHJcbiAgICA+XHJcbiAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInJhZGl1cy11bml0XCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicmFkaXVzLWZpZWxkXCIgZmxvYXRMYWJlbD1cImFsd2F5c1wiPlxyXG4gICAgPG1hdC1sYWJlbD57e1xyXG4gICAgICAnaWdvLmludGVncmF0aW9uLm1hcC1wcm94aW1pdHktdG9vbC5yYWRpdXNNJyB8IHRyYW5zbGF0ZVxyXG4gICAgfX08L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgcGF0dGVybj1cIlswLTldKlwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwibWF4RGlzdGFuY2VcIlxyXG4gICAgICBtYXRJbnB1dFxyXG4gICAgICBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wucmFkaXVzTScgfCB0cmFuc2xhdGVcclxuICAgICAgfX1cIlxyXG4gICAgLz5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Rpdj5cclxuIl19
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapProximityToolComponent, decorators: [{
125
+ type: Component,
126
+ args: [{ selector: 'igo-map-proximity-tool', template: "<igo-entity-table\r\n #table\r\n class=\"table-compact\"\r\n [store]=\"mapProximityState.proximityFeatureStore\"\r\n [template]=\"tableTemplate\"\r\n></igo-entity-table>\r\n<br />\r\n<mat-form-field\r\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\"\r\n class=\"coordinates\"\r\n>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\r\n [value]=\"coord[0]\"\r\n ></textarea>\r\n</mat-form-field>\r\n<mat-form-field\r\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\"\r\n class=\"coordinates2\"\r\n>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\r\n [value]=\"coord2[1]\"\r\n ></textarea>\r\n</mat-form-field>\r\n\r\n<button\r\n *ngIf=\"\r\n (mapProximityState.currentPositionCoordinate$ | async) &&\r\n (mapProximityState.currentPositionCoordinate$ | async).length\r\n \"\r\n mat-icon-button\r\n (click)=\"copyTextToClipboard()\"\r\n>\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n</button>\r\n<div class=\"title-container\">\r\n <mat-label class=\"title mat-typography\">{{\r\n 'igo.integration.map-proximity-tool.method' | translate\r\n }}</mat-label>\r\n</div>\r\n<div class=\"igo-input-container mat-typography\">\r\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\r\n <mat-radio-button\r\n [checked]=\"\r\n (mapProximityState.proximitylocationType$ | async) === 'geolocation'\r\n \"\r\n value=\"geolocation\"\r\n >{{\r\n 'igo.integration.map-proximity-tool.geolocation' | translate\r\n }}</mat-radio-button\r\n >\r\n <mat-radio-button\r\n [checked]=\"\r\n (mapProximityState.proximitylocationType$ | async) === 'mapCenter'\r\n \"\r\n value=\"mapCenter\"\r\n >{{\r\n 'igo.integration.map-proximity-tool.mapCenter' | translate\r\n }}</mat-radio-button\r\n >\r\n </mat-radio-group>\r\n</div>\r\n\r\n<div class=\"radius-unit\">\r\n <mat-form-field class=\"radius-field\" floatLabel=\"always\">\r\n <mat-label>{{\r\n 'igo.integration.map-proximity-tool.radiusM' | translate\r\n }}</mat-label>\r\n <input\r\n type=\"number\"\r\n pattern=\"[0-9]*\"\r\n [(ngModel)]=\"maxDistance\"\r\n matInput\r\n placeholder=\"{{\r\n 'igo.integration.map-proximity-tool.radiusM' | translate\r\n }}\"\r\n />\r\n </mat-form-field>\r\n</div>\r\n", styles: [":host .table-compact{height:auto}:host .table-compact ::ng-deep .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}:host textarea{resize:none}:host mat-form-field{padding:10px 15px}:host mat-form-field.coordinates{width:110px}:host mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}:host mat-form-field.igo-input-container{width:60%;padding:0 15px}:host .radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}:host .radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}:host .title-container{padding:10px}:host .title{margin-left:5px;font-size:initial}:host .mat-mdc-radio-group{display:flex;flex-direction:column}:host .mat-mdc-radio-button{display:inline-flex;position:relative;margin-left:12px}\n"] }]
127
+ }], ctorParameters: function () { return [{ type: i1.MapState }, { type: i2.MapProximityState }, { type: i3.LanguageService }, { type: i3.MessageService }]; }, propDecorators: { table: [{
128
+ type: ViewChild,
129
+ args: ['table', { static: true }]
130
+ }] } });
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXByb3hpbWl0eS10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1wcm94aW1pdHktdG9vbC9tYXAtcHJveGltaXR5LXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXByb3hpbWl0eS10b29sL21hcC1wcm94aW1pdHktdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hFLE9BQU8sRUFDTCxvQkFBb0IsRUFFcEIsYUFBYSxFQUNkLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBZWpDLFdBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBdUIzQjtJQUNBO0lBQ0M7SUFDQTtJQXpCRixNQUFNLEdBQW1CLEVBQUUsQ0FBQztJQUNFLEtBQUssQ0FBdUI7SUFFbEUsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0Qs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QUNuQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsQ0FBaUI7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQ3BFLENBQUM7UUFDRixJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUN6Qiw0Q0FBNEMsRUFDNUMsOENBQThDLENBQy9DLENBQUM7U0FDSDtJQUNILENBQUM7d0dBdEdVLHlCQUF5Qjs0RkFBekIseUJBQXlCLDRLQzlCdEMsd2lGQXdGQTs7QUQxRGEseUJBQXlCO0lBYnJDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxlQUFlO1FBQ3JCLEtBQUssRUFBRSxzQ0FBc0M7UUFDN0MsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDO0lBQ0Y7O09BRUc7O3FDQTZCa0IsUUFBUTtRQUNDLGlCQUFpQjtRQUNsQixlQUFlO1FBQ2hCLGNBQWM7R0ExQjdCLHlCQUF5QixDQXVHckM7NEZBdkdZLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx3QkFBd0I7MExBTUksS0FBSztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFJhZGlvQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5cclxuaW1wb3J0IHtcclxuICBFbnRpdHlUYWJsZUNvbXBvbmVudCxcclxuICBFbnRpdHlUYWJsZVRlbXBsYXRlLFxyXG4gIFRvb2xDb21wb25lbnRcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IEZlYXR1cmUsIElnb01hcCB9IGZyb20gJ0BpZ28yL2dlbyc7XHJcbmltcG9ydCB7IENsaXBib2FyZCwgTnVtYmVyVXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE1hcFByb3hpbWl0eVN0YXRlIH0gZnJvbSAnLi4vbWFwLXByb3hpbWl0eS5zdGF0ZSc7XHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vbWFwLnN0YXRlJztcclxuXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnbWFwLXByb3hpbWl0eScsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuY2xvc2VzdEZlYXR1cmUnLFxyXG4gIGljb246ICdyYWRpdXMnXHJcbn0pXHJcbi8qKlxyXG4gKiBUb29sIHRvIGhhbmRsZSB0aGUgYWR2YW5jZWQgbWFwIHRvb2xzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1tYXAtcHJveGltaXR5LXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtcHJveGltaXR5LXRvb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21hcC1wcm94aW1pdHktdG9vbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXBQcm94aW1pdHlUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3VicyQkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJywgeyBzdGF0aWM6IHRydWUgfSkgdGFibGU6IEVudGl0eVRhYmxlQ29tcG9uZW50O1xyXG5cclxuICBnZXQgbWF4RGlzdGFuY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBQcm94aW1pdHlTdGF0ZS5wcm94aW1pdHlSYWRpdXNWYWx1ZSQudmFsdWU7XHJcbiAgfVxyXG4gIHNldCBtYXhEaXN0YW5jZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLnByb3hpbWl0eVJhZGl1c1ZhbHVlJC5uZXh0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcclxuICB9XHJcbiAgcHVibGljIHVzZXJEZWZpbmVkTWFwQ2VudGVyOiBib29sZWFuO1xyXG4gIHB1YmxpYyB1c2VyRGVmaW5lZEZvbGxvd1Bvc2l0aW9uOiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIFRhYmxlIHRlbXBsYXRlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHVibGljIHRhYmxlVGVtcGxhdGU6IEVudGl0eVRhYmxlVGVtcGxhdGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG1hcFN0YXRlOiBNYXBTdGF0ZSxcclxuICAgIHB1YmxpYyBtYXBQcm94aW1pdHlTdGF0ZTogTWFwUHJveGltaXR5U3RhdGUsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMudGFibGVUZW1wbGF0ZSA9IHtcclxuICAgICAgc2VsZWN0aW9uOiB0cnVlLFxyXG4gICAgICBzZWxlY3RNYW55OiBmYWxzZSxcclxuICAgICAgc2VsZWN0aW9uQ2hlY2tib3g6IGZhbHNlLFxyXG4gICAgICBzb3J0OiB0cnVlLFxyXG4gICAgICBjb2x1bW5zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ2VsZW1lbnQnLFxyXG4gICAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAnaWdvLmludGVncmF0aW9uLm1hcC1wcm94aW1pdHktdG9vbC5mZWF0dXJlJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHZhbHVlQWNjZXNzb3I6IChsb2NhbEZlYXR1cmU6IEZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGxvY2FsRmVhdHVyZS5wcm9wZXJ0aWVzLmVsZW1lbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnZGlzdGFuY2UnLFxyXG4gICAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAnaWdvLmludGVncmF0aW9uLm1hcC1wcm94aW1pdHktdG9vbC5kaXN0YW5jZSdcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICB2YWx1ZUFjY2Vzc29yOiAobG9jYWxGZWF0dXJlOiBGZWF0dXJlKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoXHJcbiAgICAgICAgICAgICAgbG9jYWxGZWF0dXJlLnByb3BlcnRpZXMuZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgMVxyXG4gICAgICAgICAgICApfW1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXBQcm94aW1pdHlTdGF0ZS5lbmFibGVkJC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy51c2VyRGVmaW5lZEZvbGxvd1Bvc2l0aW9uID1cclxuICAgICAgdGhpcy5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLmZvbGxvd1Bvc2l0aW9uID09PSB0cnVlO1xyXG4gICAgdGhpcy51c2VyRGVmaW5lZE1hcENlbnRlciA9IHRoaXMubWFwLm1hcENlbnRlciQudmFsdWUgPT09IHRydWU7XHJcblxyXG4gICAgdGhpcy5zdWJzJCQucHVzaChcclxuICAgICAgdGhpcy5tYXBQcm94aW1pdHlTdGF0ZS5wcm94aW1pdHlsb2NhdGlvblR5cGUkLnN1YnNjcmliZSgodikgPT4ge1xyXG4gICAgICAgIHRoaXMubWFwLm1hcENlbnRlciQubmV4dCh2ICE9PSAnZ2VvbG9jYXRpb24nKTtcclxuICAgICAgICBpZiAodiA9PT0gJ2dlb2xvY2F0aW9uJykge1xyXG4gICAgICAgICAgdGhpcy5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLmZvbGxvd1Bvc2l0aW9uID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLmZvbGxvd1Bvc2l0aW9uID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXBQcm94aW1pdHlTdGF0ZS5lbmFibGVkJC5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMubWFwLm1hcENlbnRlciQubmV4dCh0aGlzLnVzZXJEZWZpbmVkTWFwQ2VudGVyKTtcclxuICAgIHRoaXMuc3VicyQkLm1hcCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIHRoaXMubWFwLmdlb2xvY2F0aW9uQ29udHJvbGxlci5mb2xsb3dQb3NpdGlvbiA9XHJcbiAgICAgIHRoaXMudXNlckRlZmluZWRGb2xsb3dQb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIG9uTG9jYXRpb25UeXBlQ2hhbmdlKGU6IE1hdFJhZGlvQ2hhbmdlKSB7XHJcbiAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLnByb3hpbWl0eWxvY2F0aW9uVHlwZSQubmV4dChlLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvcHkgdGhlIGNvb3JkaW5hdGVzIHRvIGEgY2xpcGJvYXJkXHJcbiAgICovXHJcbiAgY29weVRleHRUb0NsaXBib2FyZCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN1Y2Nlc3NmdWwgPSBDbGlwYm9hcmQuY29weShcclxuICAgICAgdGhpcy5tYXBQcm94aW1pdHlTdGF0ZS5jdXJyZW50UG9zaXRpb25Db29yZGluYXRlJD8udmFsdWUudG9TdHJpbmcoKVxyXG4gICAgKTtcclxuICAgIGlmIChzdWNjZXNzZnVsKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLm1hcC1wcm94aW1pdHktdG9vbC5jb3B5TXNnJyxcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLm1hcC1wcm94aW1pdHktdG9vbC5jb3B5VGl0bGUnXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tZW50aXR5LXRhYmxlXHJcbiAgI3RhYmxlXHJcbiAgY2xhc3M9XCJ0YWJsZS1jb21wYWN0XCJcclxuICBbc3RvcmVdPVwibWFwUHJveGltaXR5U3RhdGUucHJveGltaXR5RmVhdHVyZVN0b3JlXCJcclxuICBbdGVtcGxhdGVdPVwidGFibGVUZW1wbGF0ZVwiXHJcbj48L2lnby1lbnRpdHktdGFibGU+XHJcbjxiciAvPlxyXG48bWF0LWZvcm0tZmllbGRcclxuICAqbmdJZj1cIm1hcFByb3hpbWl0eVN0YXRlLmN1cnJlbnRQb3NpdGlvbkNvb3JkaW5hdGUkIHwgYXN5bmMgYXMgY29vcmRcIlxyXG4gIGNsYXNzPVwiY29vcmRpbmF0ZXNcIlxyXG4+XHJcbiAgPHRleHRhcmVhXHJcbiAgICAjdGV4dEFyZWFcclxuICAgIG1hdElucHV0XHJcbiAgICByZWFkb25seVxyXG4gICAgcm93cz1cIjFcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmxvbicgfCB0cmFuc2xhdGVcIlxyXG4gICAgW3ZhbHVlXT1cImNvb3JkWzBdXCJcclxuICA+PC90ZXh0YXJlYT5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuPG1hdC1mb3JtLWZpZWxkXHJcbiAgKm5nSWY9XCJtYXBQcm94aW1pdHlTdGF0ZS5jdXJyZW50UG9zaXRpb25Db29yZGluYXRlJCB8IGFzeW5jIGFzIGNvb3JkMlwiXHJcbiAgY2xhc3M9XCJjb29yZGluYXRlczJcIlxyXG4+XHJcbiAgPHRleHRhcmVhXHJcbiAgICAjdGV4dEFyZWFcclxuICAgIG1hdElucHV0XHJcbiAgICByZWFkb25seVxyXG4gICAgcm93cz1cIjFcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmxhdCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgW3ZhbHVlXT1cImNvb3JkMlsxXVwiXHJcbiAgPjwvdGV4dGFyZWE+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48YnV0dG9uXHJcbiAgKm5nSWY9XCJcclxuICAgIChtYXBQcm94aW1pdHlTdGF0ZS5jdXJyZW50UG9zaXRpb25Db29yZGluYXRlJCB8IGFzeW5jKSAmJlxyXG4gICAgKG1hcFByb3hpbWl0eVN0YXRlLmN1cnJlbnRQb3NpdGlvbkNvb3JkaW5hdGUkIHwgYXN5bmMpLmxlbmd0aFxyXG4gIFwiXHJcbiAgbWF0LWljb24tYnV0dG9uXHJcbiAgKGNsaWNrKT1cImNvcHlUZXh0VG9DbGlwYm9hcmQoKVwiXHJcbj5cclxuICA8bWF0LWljb24gc3ZnSWNvbj1cImNvbnRlbnQtY29weVwiPjwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG48ZGl2IGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cInRpdGxlIG1hdC10eXBvZ3JhcGh5XCI+e3tcclxuICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLm1ldGhvZCcgfCB0cmFuc2xhdGVcclxuICB9fTwvbWF0LWxhYmVsPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXIgbWF0LXR5cG9ncmFwaHlcIj5cclxuICA8bWF0LXJhZGlvLWdyb3VwIChjaGFuZ2UpPVwib25Mb2NhdGlvblR5cGVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPG1hdC1yYWRpby1idXR0b25cclxuICAgICAgW2NoZWNrZWRdPVwiXHJcbiAgICAgICAgKG1hcFByb3hpbWl0eVN0YXRlLnByb3hpbWl0eWxvY2F0aW9uVHlwZSQgfCBhc3luYykgPT09ICdnZW9sb2NhdGlvbidcclxuICAgICAgXCJcclxuICAgICAgdmFsdWU9XCJnZW9sb2NhdGlvblwiXHJcbiAgICAgID57e1xyXG4gICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmdlb2xvY2F0aW9uJyB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTwvbWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgPlxyXG4gICAgPG1hdC1yYWRpby1idXR0b25cclxuICAgICAgW2NoZWNrZWRdPVwiXHJcbiAgICAgICAgKG1hcFByb3hpbWl0eVN0YXRlLnByb3hpbWl0eWxvY2F0aW9uVHlwZSQgfCBhc3luYykgPT09ICdtYXBDZW50ZXInXHJcbiAgICAgIFwiXHJcbiAgICAgIHZhbHVlPVwibWFwQ2VudGVyXCJcclxuICAgICAgPnt7XHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wubWFwQ2VudGVyJyB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTwvbWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgPlxyXG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJyYWRpdXMtdW5pdFwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInJhZGl1cy1maWVsZFwiIGZsb2F0TGFiZWw9XCJhbHdheXNcIj5cclxuICAgIDxtYXQtbGFiZWw+e3tcclxuICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wucmFkaXVzTScgfCB0cmFuc2xhdGVcclxuICAgIH19PC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cIm1heERpc3RhbmNlXCJcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgcGxhY2Vob2xkZXI9XCJ7e1xyXG4gICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLnJhZGl1c00nIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19XCJcclxuICAgIC8+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9kaXY+XHJcbiJdfQ==