@igo2/context 1.15.4 → 16.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context-theme.scss +5 -0
- package/{esm2020 → esm2022}/igo2-context.mjs +4 -4
- package/esm2022/lib/context-import-export/context-import-export/context-import-export.component.mjs +258 -0
- package/esm2022/lib/context-import-export/context-import-export.module.mjs +81 -0
- package/{esm2020 → esm2022}/lib/context-import-export/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-import-export/shared/context-export.errors.mjs +15 -15
- package/{esm2020 → esm2022}/lib/context-import-export/shared/context-export.interface.mjs +2 -2
- package/esm2022/lib/context-import-export/shared/context-export.service.mjs +38 -0
- package/esm2022/lib/context-import-export/shared/context-export.utils.mjs +15 -0
- package/esm2022/lib/context-import-export/shared/context-import.errors.mjs +33 -0
- package/esm2022/lib/context-import-export/shared/context-import.service.mjs +82 -0
- package/esm2022/lib/context-import-export/shared/context-import.utils.mjs +148 -0
- package/{esm2020 → esm2022}/lib/context-import-export/shared/index.mjs +8 -8
- package/esm2022/lib/context-manager/context-edit/context-edit-binding.directive.mjs +57 -0
- package/esm2022/lib/context-manager/context-edit/context-edit.component.mjs +48 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-edit/index.mjs +3 -3
- package/esm2022/lib/context-manager/context-form/context-form.component.mjs +151 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-form/index.mjs +2 -2
- package/esm2022/lib/context-manager/context-item/context-item.component.mjs +251 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-item/index.mjs +2 -2
- package/esm2022/lib/context-manager/context-list/context-list-binding.directive.mjs +259 -0
- package/esm2022/lib/context-manager/context-list/context-list.component.mjs +616 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-list/context-list.enum.mjs +7 -7
- package/{esm2020 → esm2022}/lib/context-manager/context-list/index.mjs +3 -3
- package/esm2022/lib/context-manager/context-manager.module.mjs +157 -0
- package/esm2022/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +108 -0
- package/esm2022/lib/context-manager/context-permissions/context-permissions.component.mjs +331 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-permissions/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-manager/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/context-manager/shared/context.enum.mjs +13 -13
- package/esm2022/lib/context-manager/shared/context.interface.mjs +2 -0
- package/esm2022/lib/context-manager/shared/context.service.mjs +662 -0
- package/{esm2020 → esm2022}/lib/context-manager/shared/index.mjs +6 -6
- package/esm2022/lib/context-manager/shared/layer-context.directive.mjs +172 -0
- package/esm2022/lib/context-manager/shared/map-context.directive.mjs +79 -0
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +74 -0
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +53 -0
- package/{esm2020 → esm2022}/lib/context-map-button/bookmark-button/index.mjs +3 -3
- package/esm2022/lib/context-map-button/context-map-button.module.mjs +104 -0
- package/{esm2020 → esm2022}/lib/context-map-button/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/context-map-button/poi-button/index.mjs +4 -4
- package/esm2022/lib/context-map-button/poi-button/poi-button.component.mjs +179 -0
- package/esm2022/lib/context-map-button/poi-button/poi-dialog.component.mjs +53 -0
- package/{esm2020 → esm2022}/lib/context-map-button/poi-button/shared/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-map-button/poi-button/shared/poi.interface.mjs +2 -2
- package/esm2022/lib/context-map-button/poi-button/shared/poi.service.mjs +38 -0
- package/{esm2020 → esm2022}/lib/context-map-button/user-button/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-map-button/user-button/user-button.animation.mjs +17 -17
- package/esm2022/lib/context-map-button/user-button/user-button.component.mjs +112 -0
- package/esm2022/lib/context-map-button/user-button/user-dialog.component.mjs +74 -0
- package/{esm2020 → esm2022}/lib/context.module.mjs +45 -45
- package/{esm2020 → esm2022}/lib/share-map/index.mjs +5 -5
- package/esm2022/lib/share-map/share-map/share-map-api.component.mjs +186 -0
- package/esm2022/lib/share-map/share-map/share-map-url.component.mjs +251 -0
- package/esm2022/lib/share-map/share-map/share-map.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/share-map/share-map.module.mjs +67 -67
- package/{esm2020 → esm2022}/lib/share-map/shared/index.mjs +2 -2
- package/esm2022/lib/share-map/shared/share-map.service.mjs +221 -0
- package/{esm2020 → esm2022}/lib/sidenav/index.mjs +2 -2
- package/esm2022/lib/sidenav/sidenav.component.mjs +178 -0
- package/{esm2020 → esm2022}/lib/sidenav/sidenav.module.mjs +61 -61
- package/{esm2020 → esm2022}/public_api.mjs +15 -15
- package/{fesm2020 → fesm2022}/igo2-context.mjs +4844 -4614
- package/fesm2022/igo2-context.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +46 -44
- package/lib/context-import-export/context-import-export.module.d.ts +23 -23
- package/lib/context-import-export/index.d.ts +2 -2
- package/lib/context-import-export/shared/context-export.errors.d.ts +8 -8
- package/lib/context-import-export/shared/context-export.interface.d.ts +5 -5
- package/lib/context-import-export/shared/context-export.service.d.ts +10 -10
- package/lib/context-import-export/shared/context-export.utils.d.ts +4 -4
- package/lib/context-import-export/shared/context-import.errors.d.ts +17 -17
- package/lib/context-import-export/shared/context-import.service.d.ts +18 -18
- package/lib/context-import-export/shared/context-import.utils.d.ts +15 -17
- package/lib/context-import-export/shared/index.d.ts +7 -7
- package/lib/context-manager/context-edit/context-edit-binding.directive.d.ts +20 -20
- package/lib/context-manager/context-edit/context-edit.component.d.ts +14 -14
- package/lib/context-manager/context-edit/index.d.ts +2 -2
- package/lib/context-manager/context-form/context-form.component.d.ts +30 -30
- package/lib/context-manager/context-form/index.d.ts +1 -1
- package/lib/context-manager/context-item/context-item.component.d.ts +32 -32
- package/lib/context-manager/context-item/context-item.theming.scss +21 -0
- package/lib/context-manager/context-item/index.d.ts +1 -1
- package/lib/context-manager/context-list/context-list-binding.directive.d.ts +46 -46
- package/lib/context-manager/context-list/context-list.component.d.ts +93 -93
- package/lib/context-manager/context-list/context-list.enum.d.ts +5 -5
- package/lib/context-manager/context-list/context-list.theming.scss +23 -0
- package/lib/context-manager/context-list/index.d.ts +2 -2
- package/lib/context-manager/context-manager.module.d.ts +37 -37
- package/lib/context-manager/context-manager.theming.scss +7 -0
- package/lib/context-manager/context-permissions/context-permissions-binding.directive.d.ts +23 -23
- package/lib/context-manager/context-permissions/context-permissions.component.d.ts +40 -40
- package/lib/context-manager/context-permissions/index.d.ts +2 -2
- package/lib/context-manager/index.d.ts +6 -6
- package/lib/context-manager/shared/context.enum.d.ts +10 -10
- package/lib/context-manager/shared/context.interface.d.ts +81 -75
- package/lib/context-manager/shared/context.service.d.ts +76 -75
- package/lib/context-manager/shared/index.d.ts +5 -5
- package/lib/context-manager/shared/layer-context.directive.d.ts +28 -28
- package/lib/context-manager/shared/map-context.directive.d.ts +19 -19
- package/lib/context-map-button/bookmark-button/bookmark-button.component.d.ts +20 -20
- package/lib/context-map-button/bookmark-button/bookmark-dialog.component.d.ts +9 -9
- package/lib/context-map-button/bookmark-button/index.d.ts +2 -2
- package/lib/context-map-button/context-map-button.module.d.ts +27 -27
- package/lib/context-map-button/index.d.ts +3 -3
- package/lib/context-map-button/poi-button/index.d.ts +3 -3
- package/lib/context-map-button/poi-button/poi-button.component.d.ts +34 -34
- package/lib/context-map-button/poi-button/poi-dialog.component.d.ts +9 -9
- package/lib/context-map-button/poi-button/shared/index.d.ts +2 -2
- package/lib/context-map-button/poi-button/shared/poi.interface.d.ts +7 -7
- package/lib/context-map-button/poi-button/shared/poi.service.d.ts +16 -16
- package/lib/context-map-button/user-button/index.d.ts +2 -2
- package/lib/context-map-button/user-button/user-button.animation.d.ts +2 -2
- package/lib/context-map-button/user-button/user-button.component.d.ts +25 -25
- package/lib/context-map-button/user-button/user-dialog.component.d.ts +15 -15
- package/lib/context.module.d.ts +16 -16
- package/lib/share-map/index.d.ts +4 -4
- package/lib/share-map/share-map/share-map-api.component.d.ts +27 -27
- package/lib/share-map/share-map/share-map-url.component.d.ts +26 -26
- package/lib/share-map/share-map/share-map.component.d.ts +11 -11
- package/lib/share-map/share-map.module.d.ts +21 -21
- package/lib/share-map/shared/index.d.ts +1 -1
- package/lib/share-map/shared/share-map.service.d.ts +17 -17
- package/lib/sidenav/index.d.ts +1 -1
- package/lib/sidenav/sidenav.component.d.ts +35 -35
- package/lib/sidenav/sidenav.module.d.ts +18 -18
- package/locale/en.context.json +199 -0
- package/locale/fr.context.json +199 -0
- package/package.json +20 -26
- package/public_api.d.ts +11 -11
- package/esm2020/lib/context-import-export/context-import-export/context-import-export.component.mjs +0 -228
- package/esm2020/lib/context-import-export/context-import-export.module.mjs +0 -85
- package/esm2020/lib/context-import-export/shared/context-export.service.mjs +0 -38
- package/esm2020/lib/context-import-export/shared/context-export.utils.mjs +0 -15
- package/esm2020/lib/context-import-export/shared/context-import.errors.mjs +0 -33
- package/esm2020/lib/context-import-export/shared/context-import.service.mjs +0 -79
- package/esm2020/lib/context-import-export/shared/context-import.utils.mjs +0 -133
- package/esm2020/lib/context-manager/context-edit/context-edit-binding.directive.mjs +0 -50
- package/esm2020/lib/context-manager/context-edit/context-edit.component.mjs +0 -46
- package/esm2020/lib/context-manager/context-form/context-form.component.mjs +0 -143
- package/esm2020/lib/context-manager/context-item/context-item.component.mjs +0 -245
- package/esm2020/lib/context-manager/context-list/context-list-binding.directive.mjs +0 -240
- package/esm2020/lib/context-manager/context-list/context-list.component.mjs +0 -592
- package/esm2020/lib/context-manager/context-manager.module.mjs +0 -162
- package/esm2020/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +0 -99
- package/esm2020/lib/context-manager/context-permissions/context-permissions.component.mjs +0 -306
- package/esm2020/lib/context-manager/shared/context.interface.mjs +0 -2
- package/esm2020/lib/context-manager/shared/context.service.mjs +0 -632
- package/esm2020/lib/context-manager/shared/layer-context.directive.mjs +0 -162
- package/esm2020/lib/context-manager/shared/map-context.directive.mjs +0 -70
- package/esm2020/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +0 -66
- package/esm2020/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +0 -50
- package/esm2020/lib/context-map-button/context-map-button.module.mjs +0 -96
- package/esm2020/lib/context-map-button/poi-button/poi-button.component.mjs +0 -161
- package/esm2020/lib/context-map-button/poi-button/poi-dialog.component.mjs +0 -50
- package/esm2020/lib/context-map-button/poi-button/shared/poi.service.mjs +0 -33
- package/esm2020/lib/context-map-button/user-button/user-button.component.mjs +0 -104
- package/esm2020/lib/context-map-button/user-button/user-dialog.component.mjs +0 -66
- package/esm2020/lib/share-map/share-map/share-map-api.component.mjs +0 -170
- package/esm2020/lib/share-map/share-map/share-map-url.component.mjs +0 -243
- package/esm2020/lib/share-map/share-map/share-map.component.mjs +0 -57
- package/esm2020/lib/share-map/shared/share-map.service.mjs +0 -210
- package/esm2020/lib/sidenav/sidenav.component.mjs +0 -170
- package/fesm2015/igo2-context.mjs +0 -5094
- package/fesm2015/igo2-context.mjs.map +0 -1
- package/fesm2020/igo2-context.mjs.map +0 -1
- package/ngcc.config.js +0 -3
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { Directive, Optional, Input } from '@angular/core';
|
|
2
|
-
import { merge } from 'rxjs';
|
|
3
|
-
import { buffer, debounceTime, filter } from 'rxjs/operators';
|
|
4
|
-
import { addImportedFeaturesToMap, addImportedFeaturesStyledToMap } from '../../context-import-export/shared/context-import.utils';
|
|
5
|
-
import GeoJSON from 'ol/format/GeoJSON';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@igo2/geo";
|
|
8
|
-
import * as i2 from "./context.service";
|
|
9
|
-
import * as i3 from "@igo2/core";
|
|
10
|
-
export class LayerContextDirective {
|
|
11
|
-
constructor(component, contextService, layerService, configService, styleListService, styleService, route) {
|
|
12
|
-
this.component = component;
|
|
13
|
-
this.contextService = contextService;
|
|
14
|
-
this.layerService = layerService;
|
|
15
|
-
this.configService = configService;
|
|
16
|
-
this.styleListService = styleListService;
|
|
17
|
-
this.styleService = styleService;
|
|
18
|
-
this.route = route;
|
|
19
|
-
this.contextLayers = [];
|
|
20
|
-
this.removeLayersOnContextChange = true;
|
|
21
|
-
}
|
|
22
|
-
get map() {
|
|
23
|
-
return this.component.map;
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
this.context$$ = this.contextService.context$
|
|
27
|
-
.pipe(filter((context) => context !== undefined))
|
|
28
|
-
.subscribe((context) => this.handleContextChange(context));
|
|
29
|
-
if (this.route &&
|
|
30
|
-
this.route.options.visibleOnLayersKey &&
|
|
31
|
-
this.route.options.visibleOffLayersKey &&
|
|
32
|
-
this.route.options.contextKey) {
|
|
33
|
-
const queryParams$$ = this.route.queryParams.subscribe((params) => {
|
|
34
|
-
if (Object.keys(params).length > 0) {
|
|
35
|
-
this.queryParams = params;
|
|
36
|
-
queryParams$$.unsubscribe();
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
this.context$$.unsubscribe();
|
|
43
|
-
}
|
|
44
|
-
handleContextChange(context) {
|
|
45
|
-
if (context.layers === undefined) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (this.removeLayersOnContextChange === true) {
|
|
49
|
-
this.map.removeAllLayers();
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
this.map.removeLayers(this.contextLayers);
|
|
53
|
-
}
|
|
54
|
-
this.contextLayers = [];
|
|
55
|
-
const layersAndIndex$ = merge(...context.layers.map((layerOptions, index) => {
|
|
56
|
-
return this.layerService.createAsyncLayer(layerOptions, context.uri);
|
|
57
|
-
}));
|
|
58
|
-
layersAndIndex$
|
|
59
|
-
.pipe(buffer(layersAndIndex$.pipe(debounceTime(500))))
|
|
60
|
-
.subscribe((layers) => {
|
|
61
|
-
this.handleAddLayers(layers);
|
|
62
|
-
if (context.extraFeatures) {
|
|
63
|
-
context.extraFeatures.forEach((featureCollection) => {
|
|
64
|
-
const format = new GeoJSON();
|
|
65
|
-
const title = featureCollection.name;
|
|
66
|
-
featureCollection = JSON.stringify(featureCollection);
|
|
67
|
-
featureCollection = format.readFeatures(featureCollection, {
|
|
68
|
-
dataProjection: 'EPSG:4326',
|
|
69
|
-
featureProjection: 'EPSG:3857'
|
|
70
|
-
});
|
|
71
|
-
const importExportOptions = this.configService.getConfig('importExport');
|
|
72
|
-
const importWithStyle = importExportOptions?.importWithStyle || this.configService.getConfig('importWithStyle');
|
|
73
|
-
if (this.configService.getConfig('importWithStyle')) {
|
|
74
|
-
console.warn(`
|
|
75
|
-
The location of this config importWithStyle is deprecated.
|
|
76
|
-
Please move this property within importExport configuration.
|
|
77
|
-
Ex: importWithStyle: true/false must be transfered to importExport: { importWithStyle: true/false }
|
|
78
|
-
Refer to environnement.ts OR config/config.json
|
|
79
|
-
This legacy conversion will be deleted in 2024.
|
|
80
|
-
`);
|
|
81
|
-
}
|
|
82
|
-
if (!importWithStyle) {
|
|
83
|
-
addImportedFeaturesToMap(featureCollection, this.map, title);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
addImportedFeaturesStyledToMap(featureCollection, this.map, title, this.styleListService, this.styleService);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
this.layerService.createAsyncIdbLayers(context.uri).pipe(debounceTime(500))
|
|
92
|
-
.subscribe((layers) => this.handleAddLayers(layers));
|
|
93
|
-
}
|
|
94
|
-
handleAddLayers(layers) {
|
|
95
|
-
layers = layers
|
|
96
|
-
.filter((layer) => layer !== undefined)
|
|
97
|
-
.map((layer) => {
|
|
98
|
-
layer.visible = this.computeLayerVisibilityFromUrl(layer);
|
|
99
|
-
layer.zIndex = layer.zIndex;
|
|
100
|
-
return layer;
|
|
101
|
-
});
|
|
102
|
-
this.contextLayers.concat(layers);
|
|
103
|
-
this.map.addLayers(layers);
|
|
104
|
-
}
|
|
105
|
-
computeLayerVisibilityFromUrl(layer) {
|
|
106
|
-
const params = this.queryParams;
|
|
107
|
-
const currentContext = this.contextService.context$.value.uri;
|
|
108
|
-
const currentLayerid = layer.id;
|
|
109
|
-
let visible = layer.visible;
|
|
110
|
-
if (!params || !currentLayerid) {
|
|
111
|
-
return visible;
|
|
112
|
-
}
|
|
113
|
-
const contextParams = params[this.route.options.contextKey];
|
|
114
|
-
if (contextParams === currentContext || !contextParams) {
|
|
115
|
-
let visibleOnLayersParams = '';
|
|
116
|
-
let visibleOffLayersParams = '';
|
|
117
|
-
let visiblelayers = [];
|
|
118
|
-
let invisiblelayers = [];
|
|
119
|
-
if (this.route.options.visibleOnLayersKey &&
|
|
120
|
-
params[this.route.options.visibleOnLayersKey]) {
|
|
121
|
-
visibleOnLayersParams =
|
|
122
|
-
params[this.route.options.visibleOnLayersKey];
|
|
123
|
-
}
|
|
124
|
-
if (this.route.options.visibleOffLayersKey &&
|
|
125
|
-
params[this.route.options.visibleOffLayersKey]) {
|
|
126
|
-
visibleOffLayersParams =
|
|
127
|
-
params[this.route.options.visibleOffLayersKey];
|
|
128
|
-
}
|
|
129
|
-
/* This order is important because to control whichever
|
|
130
|
-
the order of * param. First whe open and close everything.*/
|
|
131
|
-
if (visibleOnLayersParams === '*') {
|
|
132
|
-
visible = true;
|
|
133
|
-
}
|
|
134
|
-
if (visibleOffLayersParams === '*') {
|
|
135
|
-
visible = false;
|
|
136
|
-
}
|
|
137
|
-
// After, managing named layer by id (context.json OR id from datasource)
|
|
138
|
-
visiblelayers = visibleOnLayersParams.split(',');
|
|
139
|
-
invisiblelayers = visibleOffLayersParams.split(',');
|
|
140
|
-
if (visiblelayers.indexOf(currentLayerid) > -1 || visiblelayers.indexOf(currentLayerid.toString()) > -1) {
|
|
141
|
-
visible = true;
|
|
142
|
-
}
|
|
143
|
-
if (invisiblelayers.indexOf(currentLayerid) > -1 || invisiblelayers.indexOf(currentLayerid.toString()) > -1) {
|
|
144
|
-
visible = false;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return visible;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
LayerContextDirective.ɵfac = function LayerContextDirective_Factory(t) { return new (t || LayerContextDirective)(i0.ɵɵdirectiveInject(i1.MapBrowserComponent), i0.ɵɵdirectiveInject(i2.ContextService), i0.ɵɵdirectiveInject(i1.LayerService), i0.ɵɵdirectiveInject(i3.ConfigService), i0.ɵɵdirectiveInject(i1.StyleListService), i0.ɵɵdirectiveInject(i1.StyleService), i0.ɵɵdirectiveInject(i3.RouteService, 8)); };
|
|
151
|
-
LayerContextDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LayerContextDirective, selectors: [["", "igoLayerContext", ""]], inputs: { removeLayersOnContextChange: "removeLayersOnContextChange" } });
|
|
152
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerContextDirective, [{
|
|
153
|
-
type: Directive,
|
|
154
|
-
args: [{
|
|
155
|
-
selector: '[igoLayerContext]'
|
|
156
|
-
}]
|
|
157
|
-
}], function () { return [{ type: i1.MapBrowserComponent }, { type: i2.ContextService }, { type: i1.LayerService }, { type: i3.ConfigService }, { type: i1.StyleListService }, { type: i1.StyleService }, { type: i3.RouteService, decorators: [{
|
|
158
|
-
type: Optional
|
|
159
|
-
}] }]; }, { removeLayersOnContextChange: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}] }); })();
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9sYXllci1jb250ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZTlELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsOEJBQThCLEVBQy9CLE1BQU0seURBQXlELENBQUM7QUFDakUsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBS3hDLE1BQU0sT0FBTyxxQkFBcUI7SUFZaEMsWUFDVSxTQUE4QixFQUM5QixjQUE4QixFQUM5QixZQUEwQixFQUMxQixhQUE0QixFQUM1QixnQkFBa0MsRUFDbEMsWUFBMEIsRUFDZCxLQUFtQjtRQU4vQixjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNkLFVBQUssR0FBTCxLQUFLLENBQWM7UUFmakMsa0JBQWEsR0FBWSxFQUFFLENBQUM7UUFFM0IsZ0NBQTJCLEdBQVksSUFBSSxDQUFDO0lBY2xELENBQUM7SUFaSixJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFZRCxR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RGlyZWN0aXZlLCBPbkluaXQsIE9uRGVzdHJveSwgT3B0aW9uYWwsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIG1lcmdlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGJ1ZmZlciwgZGVib3VuY2VUaW1lLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBSb3V0ZVNlcnZpY2UsIENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHtcclxuICBNYXBCcm93c2VyQ29tcG9uZW50LFxyXG4gIExheWVyLFxyXG4gIExheWVyU2VydmljZSxcclxuICBMYXllck9wdGlvbnMsXHJcbiAgU3R5bGVMaXN0U2VydmljZSxcclxuICBTdHlsZVNlcnZpY2VcclxufSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQgdHlwZSB7IElnb01hcCB9IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4vY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGV0YWlsZWRDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7XHJcbiAgYWRkSW1wb3J0ZWRGZWF0dXJlc1RvTWFwLFxyXG4gIGFkZEltcG9ydGVkRmVhdHVyZXNTdHlsZWRUb01hcFxyXG59IGZyb20gJy4uLy4uL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9zaGFyZWQvY29udGV4dC1pbXBvcnQudXRpbHMnO1xyXG5pbXBvcnQgR2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZ29MYXllckNvbnRleHRdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5ZXJDb250ZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgY29udGV4dCQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBxdWVyeVBhcmFtczogYW55O1xyXG5cclxuICBwcml2YXRlIGNvbnRleHRMYXllcnM6IExheWVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcmVtb3ZlTGF5ZXJzT25Db250ZXh0Q2hhbmdlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lm1hcDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnQ6IE1hcEJyb3dzZXJDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0eWxlTGlzdFNlcnZpY2U6IFN0eWxlTGlzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZTogUm91dGVTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY29udGV4dCQkID0gdGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JFxyXG4gICAgICAucGlwZShmaWx0ZXIoKGNvbnRleHQpID0+IGNvbnRleHQgIT09IHVuZGVmaW5lZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbnRleHQpID0+IHRoaXMuaGFuZGxlQ29udGV4dENoYW5nZShjb250ZXh0KSk7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnJvdXRlICYmXHJcbiAgICAgIHRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT25MYXllcnNLZXkgJiZcclxuICAgICAgdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPZmZMYXllcnNLZXkgJiZcclxuICAgICAgdGhpcy5yb3V0ZS5vcHRpb25zLmNvbnRleHRLZXlcclxuICAgICkge1xyXG4gICAgICBjb25zdCBxdWVyeVBhcmFtcyQkID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMucXVlcnlQYXJhbXMgPSBwYXJhbXM7XHJcbiAgICAgICAgICBxdWVyeVBhcmFtcyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5jb250ZXh0JCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQ29udGV4dENoYW5nZShjb250ZXh0OiBEZXRhaWxlZENvbnRleHQpIHtcclxuICAgIGlmIChjb250ZXh0LmxheWVycyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlbW92ZUxheWVyc09uQ29udGV4dENoYW5nZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLm1hcC5yZW1vdmVBbGxMYXllcnMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVycyh0aGlzLmNvbnRleHRMYXllcnMpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb250ZXh0TGF5ZXJzID0gW107XHJcblxyXG4gICAgY29uc3QgbGF5ZXJzQW5kSW5kZXgkID0gbWVyZ2UoXHJcbiAgICAgIC4uLmNvbnRleHQubGF5ZXJzLm1hcCgobGF5ZXJPcHRpb25zOiBMYXllck9wdGlvbnMsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlQXN5bmNMYXllcihsYXllck9wdGlvbnMsIGNvbnRleHQudXJpKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgbGF5ZXJzQW5kSW5kZXgkXHJcbiAgICAgIC5waXBlKGJ1ZmZlcihsYXllcnNBbmRJbmRleCQucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsYXllcnM6IExheWVyW10pID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZUFkZExheWVycyhsYXllcnMpO1xyXG5cclxuICAgICAgICBpZiAoY29udGV4dC5leHRyYUZlYXR1cmVzKSB7XHJcbiAgICAgICAgICBjb250ZXh0LmV4dHJhRmVhdHVyZXMuZm9yRWFjaCgoZmVhdHVyZUNvbGxlY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZm9ybWF0ID0gbmV3IEdlb0pTT04oKTtcclxuICAgICAgICAgICAgY29uc3QgdGl0bGUgPSBmZWF0dXJlQ29sbGVjdGlvbi5uYW1lO1xyXG4gICAgICAgICAgICBmZWF0dXJlQ29sbGVjdGlvbiA9IEpTT04uc3RyaW5naWZ5KGZlYXR1cmVDb2xsZWN0aW9uKTtcclxuICAgICAgICAgICAgZmVhdHVyZUNvbGxlY3Rpb24gPSBmb3JtYXQucmVhZEZlYXR1cmVzKGZlYXR1cmVDb2xsZWN0aW9uLCB7XHJcbiAgICAgICAgICAgICAgZGF0YVByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxyXG4gICAgICAgICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiAnRVBTRzozODU3J1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY29uc3QgaW1wb3J0RXhwb3J0T3B0aW9ucyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ2ltcG9ydEV4cG9ydCcpO1xyXG4gICAgICAgICAgICBjb25zdCBpbXBvcnRXaXRoU3R5bGUgPWltcG9ydEV4cG9ydE9wdGlvbnM/LmltcG9ydFdpdGhTdHlsZSB8fCB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdpbXBvcnRXaXRoU3R5bGUnKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ2ltcG9ydFdpdGhTdHlsZScpKSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBcclxuICAgICAgICAgICAgICBUaGUgbG9jYXRpb24gb2YgdGhpcyBjb25maWcgaW1wb3J0V2l0aFN0eWxlIGlzIGRlcHJlY2F0ZWQuXHJcbiAgICAgICAgICAgICAgUGxlYXNlIG1vdmUgdGhpcyBwcm9wZXJ0eSB3aXRoaW4gaW1wb3J0RXhwb3J0IGNvbmZpZ3VyYXRpb24uXHJcbiAgICAgICAgICAgICAgRXg6IGltcG9ydFdpdGhTdHlsZTogdHJ1ZS9mYWxzZSBtdXN0IGJlIHRyYW5zZmVyZWQgdG8gaW1wb3J0RXhwb3J0OiB7IGltcG9ydFdpdGhTdHlsZTogdHJ1ZS9mYWxzZSB9XHJcbiAgICAgICAgICAgICAgUmVmZXIgdG8gZW52aXJvbm5lbWVudC50cyBPUiBjb25maWcvY29uZmlnLmpzb25cclxuICAgICAgICAgICAgICBUaGlzIGxlZ2FjeSBjb252ZXJzaW9uIHdpbGwgYmUgZGVsZXRlZCBpbiAyMDI0LlxyXG4gICAgICAgICAgICAgIGApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghaW1wb3J0V2l0aFN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgYWRkSW1wb3J0ZWRGZWF0dXJlc1RvTWFwKGZlYXR1cmVDb2xsZWN0aW9uLCB0aGlzLm1hcCwgdGl0bGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGFkZEltcG9ydGVkRmVhdHVyZXNTdHlsZWRUb01hcChcclxuICAgICAgICAgICAgICAgIGZlYXR1cmVDb2xsZWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXAsXHJcbiAgICAgICAgICAgICAgICB0aXRsZSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVMaXN0U2VydmljZSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMubGF5ZXJTZXJ2aWNlLmNyZWF0ZUFzeW5jSWRiTGF5ZXJzKGNvbnRleHQudXJpKS5waXBlKGRlYm91bmNlVGltZSg1MDApKVxyXG4gICAgICAuc3Vic2NyaWJlKChsYXllcnM6IExheWVyW10pID0+IHRoaXMuaGFuZGxlQWRkTGF5ZXJzKGxheWVycykpO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQWRkTGF5ZXJzKGxheWVyczogTGF5ZXJbXSkge1xyXG4gICAgbGF5ZXJzID0gbGF5ZXJzXHJcbiAgICAgIC5maWx0ZXIoKGxheWVyOiBMYXllcikgPT4gbGF5ZXIgIT09IHVuZGVmaW5lZClcclxuICAgICAgLm1hcCgobGF5ZXIpID0+IHtcclxuICAgICAgICBsYXllci52aXNpYmxlID0gdGhpcy5jb21wdXRlTGF5ZXJWaXNpYmlsaXR5RnJvbVVybChsYXllcik7XHJcbiAgICAgICAgbGF5ZXIuekluZGV4ID0gbGF5ZXIuekluZGV4O1xyXG5cclxuICAgICAgICByZXR1cm4gbGF5ZXI7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5jb250ZXh0TGF5ZXJzLmNvbmNhdChsYXllcnMpO1xyXG4gICAgdGhpcy5tYXAuYWRkTGF5ZXJzKGxheWVycyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXB1dGVMYXllclZpc2liaWxpdHlGcm9tVXJsKGxheWVyOiBMYXllcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5xdWVyeVBhcmFtcztcclxuICAgIGNvbnN0IGN1cnJlbnRDb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZS51cmk7XHJcbiAgICBjb25zdCBjdXJyZW50TGF5ZXJpZDogc3RyaW5nID0gbGF5ZXIuaWQ7XHJcblxyXG4gICAgbGV0IHZpc2libGUgPSBsYXllci52aXNpYmxlO1xyXG4gICAgaWYgKCFwYXJhbXMgfHwgIWN1cnJlbnRMYXllcmlkKSB7XHJcbiAgICAgIHJldHVybiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRleHRQYXJhbXMgPSBwYXJhbXNbdGhpcy5yb3V0ZS5vcHRpb25zLmNvbnRleHRLZXkgYXMgc3RyaW5nXTtcclxuICAgIGlmIChjb250ZXh0UGFyYW1zID09PSBjdXJyZW50Q29udGV4dCB8fCAhY29udGV4dFBhcmFtcykge1xyXG4gICAgICBsZXQgdmlzaWJsZU9uTGF5ZXJzUGFyYW1zID0gJyc7XHJcbiAgICAgIGxldCB2aXNpYmxlT2ZmTGF5ZXJzUGFyYW1zID0gJyc7XHJcbiAgICAgIGxldCB2aXNpYmxlbGF5ZXJzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBsZXQgaW52aXNpYmxlbGF5ZXJzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT25MYXllcnNLZXkgJiZcclxuICAgICAgICBwYXJhbXNbdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPbkxheWVyc0tleSBhcyBzdHJpbmddXHJcbiAgICAgICkge1xyXG4gICAgICAgIHZpc2libGVPbkxheWVyc1BhcmFtcyA9XHJcbiAgICAgICAgICBwYXJhbXNbdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPbkxheWVyc0tleSBhcyBzdHJpbmddO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9mZkxheWVyc0tleSAmJlxyXG4gICAgICAgIHBhcmFtc1t0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9mZkxheWVyc0tleSBhcyBzdHJpbmddXHJcbiAgICAgICkge1xyXG4gICAgICAgIHZpc2libGVPZmZMYXllcnNQYXJhbXMgPVxyXG4gICAgICAgICAgcGFyYW1zW3RoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5IGFzIHN0cmluZ107XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8qIFRoaXMgb3JkZXIgaXMgaW1wb3J0YW50IGJlY2F1c2UgdG8gY29udHJvbCB3aGljaGV2ZXJcclxuICAgICAgIHRoZSBvcmRlciBvZiAqIHBhcmFtLiBGaXJzdCB3aGUgb3BlbiBhbmQgY2xvc2UgZXZlcnl0aGluZy4qL1xyXG4gICAgICBpZiAodmlzaWJsZU9uTGF5ZXJzUGFyYW1zID09PSAnKicpIHtcclxuICAgICAgICB2aXNpYmxlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodmlzaWJsZU9mZkxheWVyc1BhcmFtcyA9PT0gJyonKSB7XHJcbiAgICAgICAgdmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBZnRlciwgbWFuYWdpbmcgbmFtZWQgbGF5ZXIgYnkgaWQgKGNvbnRleHQuanNvbiBPUiBpZCBmcm9tIGRhdGFzb3VyY2UpXHJcbiAgICAgIHZpc2libGVsYXllcnMgPSB2aXNpYmxlT25MYXllcnNQYXJhbXMuc3BsaXQoJywnKTtcclxuICAgICAgaW52aXNpYmxlbGF5ZXJzID0gdmlzaWJsZU9mZkxheWVyc1BhcmFtcy5zcGxpdCgnLCcpO1xyXG4gICAgICBpZiAodmlzaWJsZWxheWVycy5pbmRleE9mKGN1cnJlbnRMYXllcmlkKSA+IC0xIHx8IHZpc2libGVsYXllcnMuaW5kZXhPZihjdXJyZW50TGF5ZXJpZC50b1N0cmluZygpKSA+IC0xKSB7XHJcbiAgICAgICAgdmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGludmlzaWJsZWxheWVycy5pbmRleE9mKGN1cnJlbnRMYXllcmlkKSA+IC0xIHx8IGludmlzaWJsZWxheWVycy5pbmRleE9mKGN1cnJlbnRMYXllcmlkLnRvU3RyaW5nKCkpID4gLTEpIHtcclxuICAgICAgICB2aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmlzaWJsZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { filter } from 'rxjs/operators';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@igo2/geo";
|
|
5
|
-
import * as i2 from "./context.service";
|
|
6
|
-
import * as i3 from "@igo2/core";
|
|
7
|
-
export class MapContextDirective {
|
|
8
|
-
constructor(component, contextService, mediaService) {
|
|
9
|
-
this.contextService = contextService;
|
|
10
|
-
this.mediaService = mediaService;
|
|
11
|
-
this.component = component;
|
|
12
|
-
}
|
|
13
|
-
get map() {
|
|
14
|
-
return this.component.map;
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.context$$ = this.contextService.context$
|
|
18
|
-
.pipe(filter(context => context !== undefined))
|
|
19
|
-
.subscribe(context => this.handleContextChange(context));
|
|
20
|
-
}
|
|
21
|
-
ngOnDestroy() {
|
|
22
|
-
this.context$$.unsubscribe();
|
|
23
|
-
}
|
|
24
|
-
handleContextChange(context) {
|
|
25
|
-
if (context.map === undefined) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
// This creates a new ol.Map when the context changes. Doing that
|
|
29
|
-
// allows the print tool to work properly even when the map's canvas
|
|
30
|
-
// has been tainted (CORS) with the layers of another context. This could
|
|
31
|
-
// have some side effects such as unbinding all listeners on the first map.
|
|
32
|
-
// A better solution would be to create a new map (preview) before
|
|
33
|
-
// printing and avoid the tainted canvas issue. This will come later so
|
|
34
|
-
// this snippet of code is kept here in case it takes too long becomes
|
|
35
|
-
// an issue
|
|
36
|
-
// const target = this.component.map.ol.getTarget();
|
|
37
|
-
// this.component.map.ol.setTarget(undefined);
|
|
38
|
-
// this.component.map.init();
|
|
39
|
-
// this.component.map.ol.setTarget(target);
|
|
40
|
-
const viewContext = context.map.view;
|
|
41
|
-
if (!this.component.view || viewContext.keepCurrentView !== true || context.map.view.projection !== this.map.projection) {
|
|
42
|
-
this.component.view = viewContext;
|
|
43
|
-
}
|
|
44
|
-
if (this.component.map.geolocationController) {
|
|
45
|
-
this.component.map.geolocationController.updateGeolocationOptions(viewContext);
|
|
46
|
-
}
|
|
47
|
-
const controlsContext = context.map.controls;
|
|
48
|
-
if (!this.component.controls && controlsContext) {
|
|
49
|
-
if (this.mediaService.isMobile()) {
|
|
50
|
-
if (typeof (controlsContext.scaleLine) !== 'boolean') {
|
|
51
|
-
const scaleLineOption = controlsContext.scaleLine;
|
|
52
|
-
if (!scaleLineOption.minWidth) {
|
|
53
|
-
scaleLineOption.minWidth = Math.min(64, scaleLineOption.minWidth);
|
|
54
|
-
controlsContext.scaleLine = scaleLineOption;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
this.component.controls = controlsContext;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
MapContextDirective.ɵfac = function MapContextDirective_Factory(t) { return new (t || MapContextDirective)(i0.ɵɵdirectiveInject(i1.MapBrowserComponent), i0.ɵɵdirectiveInject(i2.ContextService), i0.ɵɵdirectiveInject(i3.MediaService)); };
|
|
63
|
-
MapContextDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: MapContextDirective, selectors: [["", "igoMapContext", ""]] });
|
|
64
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapContextDirective, [{
|
|
65
|
-
type: Directive,
|
|
66
|
-
args: [{
|
|
67
|
-
selector: '[igoMapContext]'
|
|
68
|
-
}]
|
|
69
|
-
}], function () { return [{ type: i1.MapBrowserComponent }, { type: i2.ContextService }, { type: i3.MediaService }]; }, null); })();
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvbWFwLWNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFZeEMsTUFBTSxPQUFPLG1CQUFtQjtJQVE5QixZQUNFLFNBQThCLEVBQ3RCLGNBQThCLEVBQzlCLFlBQTBCO1FBRDFCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUVsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBVkQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUM1QixDQUFDO0lBVUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRO2FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUM7YUFDOUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUF3QjtRQUNsRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQzdCLE9BQU87U0FDUjtRQUVELGlFQUFpRTtRQUNqRSxvRUFBb0U7UUFDcEUseUVBQXlFO1FBQ3pFLDJFQUEyRTtRQUMzRSxrRUFBa0U7UUFDbEUsdUVBQXVFO1FBQ3ZFLHNFQUFzRTtRQUN0RSxXQUFXO1FBRVgsb0RBQW9EO1FBQ3BELDhDQUE4QztRQUM5Qyw2QkFBNkI7UUFDN0IsMkNBQTJDO1FBRTNDLE1BQU0sV0FBVyxHQUFtQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFO1lBQ3ZILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFdBQTZCLENBQUM7U0FDckQ7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFO1lBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2hGO1FBRUQsTUFBTSxlQUFlLEdBQXVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxlQUFlLEVBQUU7WUFDL0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLE9BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssU0FBUyxFQUFFO29CQUNuRCxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsU0FBZ0MsQ0FBQztvQkFDekUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzdCLGVBQWUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNsRSxlQUFlLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQztxQkFDN0M7aUJBQ0Y7YUFDRjtZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQztTQUMzQztJQUNILENBQUM7O3NGQWxFVSxtQkFBbUI7c0VBQW5CLG1CQUFtQjt1RkFBbkIsbUJBQW1CO2NBSC9CLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2FBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IE1hcFZpZXdPcHRpb25zLCBNYXBCcm93c2VyQ29tcG9uZW50LCBNYXBDb250cm9sc09wdGlvbnMsIE1hcFNjYWxlTGluZU9wdGlvbnMgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQgdHlwZSB7IElnb01hcCB9IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4vY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGV0YWlsZWRDb250ZXh0LCBDb250ZXh0TWFwVmlldyB9IGZyb20gJy4vY29udGV4dC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2lnb01hcENvbnRleHRdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFwQ29udGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudDtcclxuICBwcml2YXRlIGNvbnRleHQkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBjb21wb25lbnQ6IE1hcEJyb3dzZXJDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY29tcG9uZW50ID0gY29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNvbnRleHQkJCA9IHRoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCRcclxuICAgICAgLnBpcGUoZmlsdGVyKGNvbnRleHQgPT4gY29udGV4dCAhPT0gdW5kZWZpbmVkKSlcclxuICAgICAgLnN1YnNjcmliZShjb250ZXh0ID0+IHRoaXMuaGFuZGxlQ29udGV4dENoYW5nZShjb250ZXh0KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuY29udGV4dCQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUNvbnRleHRDaGFuZ2UoY29udGV4dDogRGV0YWlsZWRDb250ZXh0KSB7XHJcbiAgICBpZiAoY29udGV4dC5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhpcyBjcmVhdGVzIGEgbmV3IG9sLk1hcCB3aGVuIHRoZSBjb250ZXh0IGNoYW5nZXMuIERvaW5nIHRoYXRcclxuICAgIC8vIGFsbG93cyB0aGUgcHJpbnQgdG9vbCB0byB3b3JrIHByb3Blcmx5IGV2ZW4gd2hlbiB0aGUgbWFwJ3MgY2FudmFzXHJcbiAgICAvLyBoYXMgYmVlbiB0YWludGVkIChDT1JTKSB3aXRoIHRoZSBsYXllcnMgb2YgYW5vdGhlciBjb250ZXh0LiBUaGlzIGNvdWxkXHJcbiAgICAvLyBoYXZlIHNvbWUgc2lkZSBlZmZlY3RzIHN1Y2ggYXMgdW5iaW5kaW5nIGFsbCBsaXN0ZW5lcnMgb24gdGhlIGZpcnN0IG1hcC5cclxuICAgIC8vIEEgYmV0dGVyIHNvbHV0aW9uIHdvdWxkIGJlIHRvIGNyZWF0ZSBhIG5ldyBtYXAgKHByZXZpZXcpIGJlZm9yZVxyXG4gICAgLy8gcHJpbnRpbmcgYW5kIGF2b2lkIHRoZSB0YWludGVkIGNhbnZhcyBpc3N1ZS4gVGhpcyB3aWxsIGNvbWUgbGF0ZXIgc29cclxuICAgIC8vIHRoaXMgc25pcHBldCBvZiBjb2RlIGlzIGtlcHQgaGVyZSBpbiBjYXNlIGl0IHRha2VzIHRvbyBsb25nIGJlY29tZXNcclxuICAgIC8vIGFuIGlzc3VlXHJcblxyXG4gICAgLy8gY29uc3QgdGFyZ2V0ID0gdGhpcy5jb21wb25lbnQubWFwLm9sLmdldFRhcmdldCgpO1xyXG4gICAgLy8gdGhpcy5jb21wb25lbnQubWFwLm9sLnNldFRhcmdldCh1bmRlZmluZWQpO1xyXG4gICAgLy8gdGhpcy5jb21wb25lbnQubWFwLmluaXQoKTtcclxuICAgIC8vIHRoaXMuY29tcG9uZW50Lm1hcC5vbC5zZXRUYXJnZXQodGFyZ2V0KTtcclxuXHJcbiAgICBjb25zdCB2aWV3Q29udGV4dDogQ29udGV4dE1hcFZpZXcgPSBjb250ZXh0Lm1hcC52aWV3O1xyXG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudC52aWV3IHx8IHZpZXdDb250ZXh0LmtlZXBDdXJyZW50VmlldyAhPT0gdHJ1ZSB8fCBjb250ZXh0Lm1hcC52aWV3LnByb2plY3Rpb24gIT09IHRoaXMubWFwLnByb2plY3Rpb24pIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQudmlldyA9IHZpZXdDb250ZXh0IGFzIE1hcFZpZXdPcHRpb25zO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Lm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQubWFwLmdlb2xvY2F0aW9uQ29udHJvbGxlci51cGRhdGVHZW9sb2NhdGlvbk9wdGlvbnModmlld0NvbnRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRyb2xzQ29udGV4dDogTWFwQ29udHJvbHNPcHRpb25zID0gY29udGV4dC5tYXAuY29udHJvbHM7XHJcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50LmNvbnRyb2xzICYmIGNvbnRyb2xzQ29udGV4dCkge1xyXG4gICAgICBpZiAodGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YoY29udHJvbHNDb250ZXh0LnNjYWxlTGluZSkgIT09ICdib29sZWFuJykge1xyXG4gICAgICAgICAgY29uc3Qgc2NhbGVMaW5lT3B0aW9uID0gY29udHJvbHNDb250ZXh0LnNjYWxlTGluZSBhcyBNYXBTY2FsZUxpbmVPcHRpb25zO1xyXG4gICAgICAgICAgaWYgKCFzY2FsZUxpbmVPcHRpb24ubWluV2lkdGgpIHtcclxuICAgICAgICAgICAgc2NhbGVMaW5lT3B0aW9uLm1pbldpZHRoID0gTWF0aC5taW4oNjQsIHNjYWxlTGluZU9wdGlvbi5taW5XaWR0aCk7XHJcbiAgICAgICAgICAgIGNvbnRyb2xzQ29udGV4dC5zY2FsZUxpbmUgPSBzY2FsZUxpbmVPcHRpb247XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29tcG9uZW50LmNvbnRyb2xzID0gY29udHJvbHNDb250ZXh0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { take } from 'rxjs/operators';
|
|
3
|
-
import { BookmarkDialogComponent } from './bookmark-dialog.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/dialog";
|
|
6
|
-
import * as i2 from "../../context-manager/shared/context.service";
|
|
7
|
-
import * as i3 from "@igo2/core";
|
|
8
|
-
import * as i4 from "@angular/material/icon";
|
|
9
|
-
import * as i5 from "@angular/material/button";
|
|
10
|
-
import * as i6 from "@angular/material/tooltip";
|
|
11
|
-
import * as i7 from "@ngx-translate/core";
|
|
12
|
-
export class BookmarkButtonComponent {
|
|
13
|
-
constructor(dialog, contextService, messageService) {
|
|
14
|
-
this.dialog = dialog;
|
|
15
|
-
this.contextService = contextService;
|
|
16
|
-
this.messageService = messageService;
|
|
17
|
-
}
|
|
18
|
-
get map() {
|
|
19
|
-
return this._map;
|
|
20
|
-
}
|
|
21
|
-
set map(value) {
|
|
22
|
-
this._map = value;
|
|
23
|
-
}
|
|
24
|
-
get color() {
|
|
25
|
-
return this._color;
|
|
26
|
-
}
|
|
27
|
-
set color(value) {
|
|
28
|
-
this._color = value;
|
|
29
|
-
}
|
|
30
|
-
createContext() {
|
|
31
|
-
this.dialog
|
|
32
|
-
.open(BookmarkDialogComponent, { disableClose: false })
|
|
33
|
-
.afterClosed()
|
|
34
|
-
.pipe(take(1))
|
|
35
|
-
.subscribe(title => {
|
|
36
|
-
if (title) {
|
|
37
|
-
const context = this.contextService.getContextFromMap(this.map);
|
|
38
|
-
context.title = title;
|
|
39
|
-
this.contextService.create(context).subscribe(() => {
|
|
40
|
-
this.messageService.success('igo.context.bookmarkButton.dialog.createMsg', 'igo.context.bookmarkButton.dialog.createTitle', undefined, { value: context.title });
|
|
41
|
-
this.contextService.loadContext(context.uri);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
BookmarkButtonComponent.ɵfac = function BookmarkButtonComponent_Factory(t) { return new (t || BookmarkButtonComponent)(i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.ContextService), i0.ɵɵdirectiveInject(i3.MessageService)); };
|
|
48
|
-
BookmarkButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BookmarkButtonComponent, selectors: [["igo-bookmark-button"]], inputs: { map: "map", color: "color" }, decls: 4, vars: 4, consts: [[1, "igo-bookmark-button-container"], ["mat-icon-button", "", "matTooltipPosition", "above", 3, "matTooltip", "color", "click"], ["svgIcon", "star"]], template: function BookmarkButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "button", 1);
|
|
50
|
-
i0.ɵɵlistener("click", function BookmarkButtonComponent_Template_button_click_1_listener() { return ctx.createContext(); });
|
|
51
|
-
i0.ɵɵpipe(2, "translate");
|
|
52
|
-
i0.ɵɵelement(3, "mat-icon", 2);
|
|
53
|
-
i0.ɵɵelementEnd()();
|
|
54
|
-
} if (rf & 2) {
|
|
55
|
-
i0.ɵɵadvance(1);
|
|
56
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 2, "igo.context.bookmarkButton.create"))("color", ctx.color);
|
|
57
|
-
} }, dependencies: [i4.MatIcon, i5.MatButton, i6.MatTooltip, i7.TranslatePipe], styles: [".igo-bookmark-button-container[_ngcontent-%COMP%]{width:40px}.igo-bookmark-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#fff}.igo-bookmark-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#efefef}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
|
|
58
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BookmarkButtonComponent, [{
|
|
59
|
-
type: Component,
|
|
60
|
-
args: [{ selector: 'igo-bookmark-button', template: "<div class=\"igo-bookmark-button-container\">\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'igo.context.bookmarkButton.create' | translate\"\r\n matTooltipPosition=\"above\"\r\n [color]=\"color\"\r\n (click)=\"createContext()\">\r\n <mat-icon svgIcon=\"star\"></mat-icon>\r\n </button>\r\n</div>\r\n", styles: [".igo-bookmark-button-container{width:40px}.igo-bookmark-button-container button{background-color:#fff}.igo-bookmark-button-container button:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
61
|
-
}], function () { return [{ type: i1.MatDialog }, { type: i2.ContextService }, { type: i3.MessageService }]; }, { map: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], color: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}] }); })();
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmstYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hcC1idXR0b24vYm9va21hcmstYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi9ib29rbWFyay1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXRDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7QUFPdEUsTUFBTSxPQUFPLHVCQUF1QjtJQW1CbEMsWUFDVSxNQUFpQixFQUNqQixjQUE4QixFQUM5QixjQUE4QjtRQUY5QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDckMsQ0FBQztJQXRCSixJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBU0QsYUFBYTtRQUNYLElBQUksQ0FBQyxNQUFNO2FBQ1IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQ3RELFdBQVcsRUFBRTthQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hFLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDekIsNkNBQTZDLEVBQzdDLCtDQUErQyxFQUMvQyxTQUFTLEVBQ1QsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7b0JBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OEZBNUNVLHVCQUF1QjswRUFBdkIsdUJBQXVCO1FDZnBDLDhCQUEyQyxnQkFBQTtRQU12QyxvR0FBUyxtQkFBZSxJQUFDOztRQUN6Qiw4QkFBb0M7UUFDdEMsaUJBQVMsRUFBQTs7UUFMUCxlQUE4RDtRQUE5RCxzRkFBOEQsb0JBQUE7O3VGRFlyRCx1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUI7c0hBTTNCLEdBQUc7a0JBRE4sS0FBSztZQVVGLEtBQUs7a0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB0eXBlIHsgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCb29rbWFya0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYm9va21hcmstZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1ib29rbWFyay1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ib29rbWFyay1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Jvb2ttYXJrLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb29rbWFya0J1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWFwO1xyXG4gIH1cclxuICBzZXQgbWFwKHZhbHVlOiBJZ29NYXApIHtcclxuICAgIHRoaXMuX21hcCA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9tYXA6IElnb01hcDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgY29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcclxuICB9XHJcbiAgc2V0IGNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbG9yOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGNyZWF0ZUNvbnRleHQoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1xyXG4gICAgICAub3BlbihCb29rbWFya0RpYWxvZ0NvbXBvbmVudCwgeyBkaXNhYmxlQ2xvc2U6IGZhbHNlIH0pXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgIC5zdWJzY3JpYmUodGl0bGUgPT4ge1xyXG4gICAgICAgIGlmICh0aXRsZSkge1xyXG4gICAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dEZyb21NYXAodGhpcy5tYXApO1xyXG4gICAgICAgICAgY29udGV4dC50aXRsZSA9IHRpdGxlO1xyXG4gICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5jcmVhdGUoY29udGV4dCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFxyXG4gICAgICAgICAgICAgICdpZ28uY29udGV4dC5ib29rbWFya0J1dHRvbi5kaWFsb2cuY3JlYXRlTXNnJyxcclxuICAgICAgICAgICAgICAnaWdvLmNvbnRleHQuYm9va21hcmtCdXR0b24uZGlhbG9nLmNyZWF0ZVRpdGxlJyxcclxuICAgICAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgeyB2YWx1ZTogY29udGV4dC50aXRsZSB9KTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5sb2FkQ29udGV4dChjb250ZXh0LnVyaSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWdvLWJvb2ttYXJrLWJ1dHRvbi1jb250YWluZXJcIj5cclxuICA8YnV0dG9uXHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uY29udGV4dC5ib29rbWFya0J1dHRvbi5jcmVhdGUnIHwgdHJhbnNsYXRlXCJcclxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcclxuICAgIFtjb2xvcl09XCJjb2xvclwiXHJcbiAgICAoY2xpY2spPVwiY3JlYXRlQ29udGV4dCgpXCI+XHJcbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cInN0YXJcIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/dialog";
|
|
4
|
-
import * as i2 from "@angular/forms";
|
|
5
|
-
import * as i3 from "@angular/material/button";
|
|
6
|
-
import * as i4 from "@angular/material/form-field";
|
|
7
|
-
import * as i5 from "@angular/material/input";
|
|
8
|
-
import * as i6 from "@ngx-translate/core";
|
|
9
|
-
export class BookmarkDialogComponent {
|
|
10
|
-
constructor(dialogRef) {
|
|
11
|
-
this.dialogRef = dialogRef;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
BookmarkDialogComponent.ɵfac = function BookmarkDialogComponent_Factory(t) { return new (t || BookmarkDialogComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef)); };
|
|
15
|
-
BookmarkDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BookmarkDialogComponent, selectors: [["igo-bookmark-dialog"]], decls: 14, vars: 14, consts: [["mat-dialog-title", "", 1, "mat-typography"], ["mat-dialog-content", "", 1, "mat-typography"], ["matInput", "", "required", "", "autocomplete", "off", "maxlength", "128", 3, "placeholder", "ngModel", "ngModelChange"], ["mat-dialog-actions", ""], ["mat-button", "", "color", "primary", 3, "disabled", "click"], ["mat-button", "", 3, "click"]], template: function BookmarkDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
-
i0.ɵɵelementStart(0, "h1", 0);
|
|
17
|
-
i0.ɵɵtext(1);
|
|
18
|
-
i0.ɵɵpipe(2, "translate");
|
|
19
|
-
i0.ɵɵelementEnd();
|
|
20
|
-
i0.ɵɵelementStart(3, "div", 1)(4, "mat-form-field")(5, "input", 2);
|
|
21
|
-
i0.ɵɵlistener("ngModelChange", function BookmarkDialogComponent_Template_input_ngModelChange_5_listener($event) { return ctx.title = $event; });
|
|
22
|
-
i0.ɵɵpipe(6, "translate");
|
|
23
|
-
i0.ɵɵelementEnd()()();
|
|
24
|
-
i0.ɵɵelementStart(7, "div", 3)(8, "button", 4);
|
|
25
|
-
i0.ɵɵlistener("click", function BookmarkDialogComponent_Template_button_click_8_listener() { return ctx.dialogRef.close(ctx.title); });
|
|
26
|
-
i0.ɵɵtext(9);
|
|
27
|
-
i0.ɵɵpipe(10, "translate");
|
|
28
|
-
i0.ɵɵelementEnd();
|
|
29
|
-
i0.ɵɵelementStart(11, "button", 5);
|
|
30
|
-
i0.ɵɵlistener("click", function BookmarkDialogComponent_Template_button_click_11_listener() { return ctx.dialogRef.close(false); });
|
|
31
|
-
i0.ɵɵtext(12);
|
|
32
|
-
i0.ɵɵpipe(13, "translate");
|
|
33
|
-
i0.ɵɵelementEnd()();
|
|
34
|
-
} if (rf & 2) {
|
|
35
|
-
i0.ɵɵadvance(1);
|
|
36
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 6, "igo.context.bookmarkButton.dialog.title"));
|
|
37
|
-
i0.ɵɵadvance(4);
|
|
38
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(6, 8, "igo.context.bookmarkButton.dialog.placeholder"))("ngModel", ctx.title);
|
|
39
|
-
i0.ɵɵadvance(3);
|
|
40
|
-
i0.ɵɵproperty("disabled", !ctx.title);
|
|
41
|
-
i0.ɵɵadvance(1);
|
|
42
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 10, "igo.common.confirmDialog.confirmBtn"), " ");
|
|
43
|
-
i0.ɵɵadvance(3);
|
|
44
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 12, "igo.common.confirmDialog.cancelBtn"), " ");
|
|
45
|
-
} }, dependencies: [i2.DefaultValueAccessor, i2.NgControlStatus, i2.RequiredValidator, i2.MaxLengthValidator, i2.NgModel, i3.MatButton, i4.MatFormField, i1.MatDialogTitle, i1.MatDialogContent, i1.MatDialogActions, i5.MatInput, i6.TranslatePipe], encapsulation: 2 });
|
|
46
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BookmarkDialogComponent, [{
|
|
47
|
-
type: Component,
|
|
48
|
-
args: [{ selector: 'igo-bookmark-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{ 'igo.context.bookmarkButton.dialog.title' |\u00A0translate }}</h1>\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <mat-form-field>\r\n <input matInput required autocomplete=\"off\"\r\n maxlength=\"128\"\r\n [placeholder]=\"'igo.context.bookmarkButton.dialog.placeholder' |\u00A0translate\"\r\n [(ngModel)]=\"title\">\r\n </mat-form-field>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-button color=\"primary\"\r\n [disabled]=\"!title\"\r\n (click)=\"dialogRef.close(title)\">\r\n {{'igo.common.confirmDialog.confirmBtn' | translate}}\r\n </button>\r\n <button mat-button\r\n (click)=\"dialogRef.close(false)\">\r\n {{'igo.common.confirmDialog.cancelBtn' |\u00A0translate}}\r\n </button>\r\n</div>\r\n" }]
|
|
49
|
-
}], function () { return [{ type: i1.MatDialogRef }]; }, null); })();
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmstZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hcC1idXR0b24vYm9va21hcmstYnV0dG9uL2Jvb2ttYXJrLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi9ib29rbWFyay1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUFtQixTQUFnRDtRQUFoRCxjQUFTLEdBQVQsU0FBUyxDQUF1QztJQUFHLENBQUM7OzhGQUg1RCx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQ1BwQyw2QkFBNEM7UUFBQSxZQUEyRDs7UUFBQSxpQkFBSztRQUM1Ryw4QkFBK0MscUJBQUEsZUFBQTtRQUt6QywrSUFBbUI7O1FBSHJCLGlCQUdzQixFQUFBLEVBQUE7UUFHMUIsOEJBQXdCLGdCQUFBO1FBR2Ysb0dBQVMsOEJBQXNCLElBQUM7UUFDckMsWUFDRjs7UUFBQSxpQkFBUztRQUNULGtDQUN5QztRQUFqQyxxR0FBUyxvQkFBZ0IsS0FBSyxDQUFDLElBQUM7UUFDdEMsYUFDRjs7UUFBQSxpQkFBUyxFQUFBOztRQWxCaUMsZUFBMkQ7UUFBM0QscUZBQTJEO1FBS2pHLGVBQTJFO1FBQTNFLG1HQUEyRSxzQkFBQTtRQU14RSxlQUFtQjtRQUFuQixxQ0FBbUI7UUFFeEIsZUFDRjtRQURFLDhGQUNGO1FBR0UsZUFDRjtRQURFLDZGQUNGOzt1RkRYVyx1QkFBdUI7Y0FKbkMsU0FBUzsyQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWJvb2ttYXJrLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb2ttYXJrLWRpYWxvZy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJvb2ttYXJrRGlhbG9nQ29tcG9uZW50IHtcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEJvb2ttYXJrRGlhbG9nQ29tcG9uZW50Pikge31cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+e3sgJ2lnby5jb250ZXh0LmJvb2ttYXJrQnV0dG9uLmRpYWxvZy50aXRsZScgfMKgdHJhbnNsYXRlIH19PC9oMT5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCByZXF1aXJlZCBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICBtYXhsZW5ndGg9XCIxMjhcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5jb250ZXh0LmJvb2ttYXJrQnV0dG9uLmRpYWxvZy5wbGFjZWhvbGRlcicgfMKgdHJhbnNsYXRlXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ0aXRsZVwiPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbjwvZGl2PlxyXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgW2Rpc2FibGVkXT1cIiF0aXRsZVwiXHJcbiAgICAgICAgIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UodGl0bGUpXCI+XHJcbiAgICB7eydpZ28uY29tbW9uLmNvbmZpcm1EaWFsb2cuY29uZmlybUJ0bicgfCB0cmFuc2xhdGV9fVxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvblxyXG4gICAgICAgICAgKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZShmYWxzZSlcIj5cclxuICAgIHt7J2lnby5jb21tb24uY29uZmlybURpYWxvZy5jYW5jZWxCdG4nIHzCoHRyYW5zbGF0ZX19XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatOptionModule } from '@angular/material/core';
|
|
6
|
-
import { MatDialogModule } from '@angular/material/dialog';
|
|
7
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
8
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
-
import { MatInputModule } from '@angular/material/input';
|
|
10
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
11
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
12
|
-
import { IgoLanguageModule } from '@igo2/core';
|
|
13
|
-
import { IgoConfirmDialogModule, IgoStopPropagationModule } from '@igo2/common';
|
|
14
|
-
import { IgoAuthModule } from '@igo2/auth';
|
|
15
|
-
import { BookmarkButtonComponent } from './bookmark-button/bookmark-button.component';
|
|
16
|
-
import { BookmarkDialogComponent } from './bookmark-button/bookmark-dialog.component';
|
|
17
|
-
import { PoiButtonComponent } from './poi-button/poi-button.component';
|
|
18
|
-
import { PoiDialogComponent } from './poi-button/poi-dialog.component';
|
|
19
|
-
import { PoiService } from './poi-button/shared/poi.service';
|
|
20
|
-
import { UserDialogComponent } from './user-button/user-dialog.component';
|
|
21
|
-
import { UserButtonComponent } from './user-button/user-button.component';
|
|
22
|
-
import * as i0 from "@angular/core";
|
|
23
|
-
export class IgoContextMapButtonModule {
|
|
24
|
-
static forRoot() {
|
|
25
|
-
return {
|
|
26
|
-
ngModule: IgoContextMapButtonModule
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
IgoContextMapButtonModule.ɵfac = function IgoContextMapButtonModule_Factory(t) { return new (t || IgoContextMapButtonModule)(); };
|
|
31
|
-
IgoContextMapButtonModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoContextMapButtonModule });
|
|
32
|
-
IgoContextMapButtonModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [PoiService], imports: [CommonModule,
|
|
33
|
-
IgoLanguageModule,
|
|
34
|
-
IgoConfirmDialogModule,
|
|
35
|
-
IgoStopPropagationModule,
|
|
36
|
-
IgoAuthModule,
|
|
37
|
-
FormsModule,
|
|
38
|
-
MatIconModule,
|
|
39
|
-
MatButtonModule,
|
|
40
|
-
MatSelectModule,
|
|
41
|
-
MatOptionModule,
|
|
42
|
-
MatTooltipModule,
|
|
43
|
-
MatFormFieldModule,
|
|
44
|
-
MatDialogModule,
|
|
45
|
-
MatInputModule] });
|
|
46
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoContextMapButtonModule, [{
|
|
47
|
-
type: NgModule,
|
|
48
|
-
args: [{
|
|
49
|
-
imports: [
|
|
50
|
-
CommonModule,
|
|
51
|
-
IgoLanguageModule,
|
|
52
|
-
IgoConfirmDialogModule,
|
|
53
|
-
IgoStopPropagationModule,
|
|
54
|
-
IgoAuthModule,
|
|
55
|
-
FormsModule,
|
|
56
|
-
MatIconModule,
|
|
57
|
-
MatButtonModule,
|
|
58
|
-
MatSelectModule,
|
|
59
|
-
MatOptionModule,
|
|
60
|
-
MatTooltipModule,
|
|
61
|
-
MatFormFieldModule,
|
|
62
|
-
MatDialogModule,
|
|
63
|
-
MatInputModule
|
|
64
|
-
],
|
|
65
|
-
exports: [BookmarkButtonComponent, PoiButtonComponent, UserButtonComponent, BookmarkDialogComponent],
|
|
66
|
-
declarations: [
|
|
67
|
-
BookmarkButtonComponent,
|
|
68
|
-
BookmarkDialogComponent,
|
|
69
|
-
PoiButtonComponent,
|
|
70
|
-
PoiDialogComponent,
|
|
71
|
-
UserButtonComponent,
|
|
72
|
-
UserDialogComponent
|
|
73
|
-
],
|
|
74
|
-
providers: [PoiService]
|
|
75
|
-
}]
|
|
76
|
-
}], null, null); })();
|
|
77
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoContextMapButtonModule, { declarations: [BookmarkButtonComponent,
|
|
78
|
-
BookmarkDialogComponent,
|
|
79
|
-
PoiButtonComponent,
|
|
80
|
-
PoiDialogComponent,
|
|
81
|
-
UserButtonComponent,
|
|
82
|
-
UserDialogComponent], imports: [CommonModule,
|
|
83
|
-
IgoLanguageModule,
|
|
84
|
-
IgoConfirmDialogModule,
|
|
85
|
-
IgoStopPropagationModule,
|
|
86
|
-
IgoAuthModule,
|
|
87
|
-
FormsModule,
|
|
88
|
-
MatIconModule,
|
|
89
|
-
MatButtonModule,
|
|
90
|
-
MatSelectModule,
|
|
91
|
-
MatOptionModule,
|
|
92
|
-
MatTooltipModule,
|
|
93
|
-
MatFormFieldModule,
|
|
94
|
-
MatDialogModule,
|
|
95
|
-
MatInputModule], exports: [BookmarkButtonComponent, PoiButtonComponent, UserButtonComponent, BookmarkDialogComponent] }); })();
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tYXAtYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hcC1idXR0b24vY29udGV4dC1tYXAtYnV0dG9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBOEIxRSxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSx5QkFBeUI7U0FDcEMsQ0FBQztJQUNKLENBQUM7O2tHQUxVLHlCQUF5QjsyRUFBekIseUJBQXlCO2dGQUZ6QixDQUFDLFVBQVUsQ0FBQyxZQXhCckIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLGFBQWE7UUFDYixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLGNBQWM7dUZBYUwseUJBQXlCO2NBNUJyQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osaUJBQWlCO29CQUNqQixzQkFBc0I7b0JBQ3RCLHdCQUF3QjtvQkFDeEIsYUFBYTtvQkFDYixXQUFXO29CQUNYLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixlQUFlO29CQUNmLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YsY0FBYztpQkFDZjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQztnQkFDcEcsWUFBWSxFQUFFO29CQUNaLHVCQUF1QjtvQkFDdkIsdUJBQXVCO29CQUN2QixrQkFBa0I7b0JBQ2xCLGtCQUFrQjtvQkFDbEIsbUJBQW1CO29CQUNuQixtQkFBbUI7aUJBQ3BCO2dCQUNELFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQzthQUN4Qjs7d0ZBQ1kseUJBQXlCLG1CQVRsQyx1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLG1CQUFtQixhQXRCbkIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLGFBQWE7UUFDYixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLGNBQWMsYUFFTix1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgSWdvQ29uZmlybURpYWxvZ01vZHVsZSwgSWdvU3RvcFByb3BhZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgSWdvQXV0aE1vZHVsZSB9IGZyb20gJ0BpZ28yL2F1dGgnO1xyXG5cclxuaW1wb3J0IHsgQm9va21hcmtCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2Jvb2ttYXJrLWJ1dHRvbi9ib29rbWFyay1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQm9va21hcmtEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Jvb2ttYXJrLWJ1dHRvbi9ib29rbWFyay1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9pQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9wb2ktYnV0dG9uL3BvaS1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9pRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9wb2ktYnV0dG9uL3BvaS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9pU2VydmljZSB9IGZyb20gJy4vcG9pLWJ1dHRvbi9zaGFyZWQvcG9pLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLWJ1dHRvbi91c2VyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVc2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLWJ1dHRvbi91c2VyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcclxuICAgIElnb0NvbmZpcm1EaWFsb2dNb2R1bGUsXHJcbiAgICBJZ29TdG9wUHJvcGFnYXRpb25Nb2R1bGUsXHJcbiAgICBJZ29BdXRoTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbQm9va21hcmtCdXR0b25Db21wb25lbnQsIFBvaUJ1dHRvbkNvbXBvbmVudCwgVXNlckJ1dHRvbkNvbXBvbmVudCwgQm9va21hcmtEaWFsb2dDb21wb25lbnRdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQm9va21hcmtCdXR0b25Db21wb25lbnQsXHJcbiAgICBCb29rbWFya0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIFBvaUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFBvaURpYWxvZ0NvbXBvbmVudCxcclxuICAgIFVzZXJCdXR0b25Db21wb25lbnQsXHJcbiAgICBVc2VyRGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtQb2lTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvQ29udGV4dE1hcEJ1dHRvbk1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29Db250ZXh0TWFwQnV0dG9uTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvQ29udGV4dE1hcEJ1dHRvbk1vZHVsZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|