@igo2/context 18.0.0-next.9 → 18.0.1-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/fesm2022/igo2-context.mjs +174 -222
  2. package/fesm2022/igo2-context.mjs.map +1 -1
  3. package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +5 -8
  4. package/lib/context-import-export/shared/context-export.interface.d.ts +2 -2
  5. package/lib/context-manager/shared/context.interface.d.ts +2 -9
  6. package/lib/context-manager/shared/context.service.d.ts +4 -4
  7. package/lib/context-manager/shared/layer-context.directive.d.ts +1 -0
  8. package/package.json +12 -14
  9. package/esm2022/igo2-context.mjs +0 -5
  10. package/esm2022/lib/context-import-export/context-import-export/context-import-export.component.mjs +0 -162
  11. package/esm2022/lib/context-import-export/context-import-export.module.mjs +0 -24
  12. package/esm2022/lib/context-import-export/index.mjs +0 -3
  13. package/esm2022/lib/context-import-export/shared/context-export.errors.mjs +0 -15
  14. package/esm2022/lib/context-import-export/shared/context-export.interface.mjs +0 -2
  15. package/esm2022/lib/context-import-export/shared/context-export.service.mjs +0 -38
  16. package/esm2022/lib/context-import-export/shared/context-export.utils.mjs +0 -15
  17. package/esm2022/lib/context-import-export/shared/context-import.errors.mjs +0 -33
  18. package/esm2022/lib/context-import-export/shared/context-import.service.mjs +0 -82
  19. package/esm2022/lib/context-import-export/shared/context-import.utils.mjs +0 -148
  20. package/esm2022/lib/context-import-export/shared/index.mjs +0 -8
  21. package/esm2022/lib/context-manager/context-edit/context-edit-binding.directive.mjs +0 -56
  22. package/esm2022/lib/context-manager/context-edit/context-edit.component.mjs +0 -35
  23. package/esm2022/lib/context-manager/context-edit/index.mjs +0 -3
  24. package/esm2022/lib/context-manager/context-form/context-form.component.mjs +0 -117
  25. package/esm2022/lib/context-manager/context-form/index.mjs +0 -2
  26. package/esm2022/lib/context-manager/context-item/context-item.component.mjs +0 -96
  27. package/esm2022/lib/context-manager/context-item/index.mjs +0 -2
  28. package/esm2022/lib/context-manager/context-list/context-list-binding.directive.mjs +0 -259
  29. package/esm2022/lib/context-manager/context-list/context-list.component.mjs +0 -426
  30. package/esm2022/lib/context-manager/context-list/context-list.enum.mjs +0 -7
  31. package/esm2022/lib/context-manager/context-list/index.mjs +0 -3
  32. package/esm2022/lib/context-manager/context-manager.directive.mjs +0 -19
  33. package/esm2022/lib/context-manager/context-manager.module.mjs +0 -77
  34. package/esm2022/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +0 -109
  35. package/esm2022/lib/context-manager/context-permissions/context-permissions.component.mjs +0 -170
  36. package/esm2022/lib/context-manager/context-permissions/index.mjs +0 -3
  37. package/esm2022/lib/context-manager/index.mjs +0 -8
  38. package/esm2022/lib/context-manager/shared/context.enum.mjs +0 -13
  39. package/esm2022/lib/context-manager/shared/context.interface.mjs +0 -2
  40. package/esm2022/lib/context-manager/shared/context.service.mjs +0 -656
  41. package/esm2022/lib/context-manager/shared/index.mjs +0 -6
  42. package/esm2022/lib/context-manager/shared/layer-context.directive.mjs +0 -165
  43. package/esm2022/lib/context-manager/shared/map-context.directive.mjs +0 -80
  44. package/esm2022/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +0 -69
  45. package/esm2022/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +0 -37
  46. package/esm2022/lib/context-map-button/bookmark-button/index.mjs +0 -3
  47. package/esm2022/lib/context-map-button/context-map-button.directive.mjs +0 -10
  48. package/esm2022/lib/context-map-button/context-map-button.module.mjs +0 -48
  49. package/esm2022/lib/context-map-button/index.mjs +0 -5
  50. package/esm2022/lib/context-map-button/poi-button/index.mjs +0 -4
  51. package/esm2022/lib/context-map-button/poi-button/poi-button.component.mjs +0 -160
  52. package/esm2022/lib/context-map-button/poi-button/poi-dialog.component.mjs +0 -37
  53. package/esm2022/lib/context-map-button/poi-button/shared/index.mjs +0 -3
  54. package/esm2022/lib/context-map-button/poi-button/shared/poi.interface.mjs +0 -2
  55. package/esm2022/lib/context-map-button/poi-button/shared/poi.service.mjs +0 -38
  56. package/esm2022/lib/context-map-button/user-button/index.mjs +0 -3
  57. package/esm2022/lib/context-map-button/user-button/user-button.animation.mjs +0 -17
  58. package/esm2022/lib/context-map-button/user-button/user-button.component.mjs +0 -82
  59. package/esm2022/lib/context-map-button/user-button/user-dialog.component.mjs +0 -43
  60. package/esm2022/lib/context.module.mjs +0 -42
  61. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  62. package/esm2022/lib/environment/index.mjs +0 -2
  63. package/esm2022/lib/share-map/index.mjs +0 -6
  64. package/esm2022/lib/share-map/share-map/share-map-api.component.mjs +0 -111
  65. package/esm2022/lib/share-map/share-map/share-map-url.component.mjs +0 -78
  66. package/esm2022/lib/share-map/share-map/share-map.component.mjs +0 -35
  67. package/esm2022/lib/share-map/share-map.module.mjs +0 -31
  68. package/esm2022/lib/share-map/shared/index.mjs +0 -2
  69. package/esm2022/lib/share-map/shared/share-map.service.mjs +0 -222
  70. package/esm2022/lib/sidenav/index.mjs +0 -2
  71. package/esm2022/lib/sidenav/sidenav.component.mjs +0 -122
  72. package/esm2022/lib/sidenav/sidenav.module.mjs +0 -24
  73. package/esm2022/public_api.mjs +0 -16
@@ -1,6 +0,0 @@
1
- export * from './context.service';
2
- export * from './context.enum';
3
- export * from './context.interface';
4
- export * from './layer-context.directive';
5
- export * from './map-context.directive';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRleHQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItY29udGV4dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAtY29udGV4dC5kaXJlY3RpdmUnO1xuIl19
@@ -1,165 +0,0 @@
1
- import { Directive, Input, Optional } from '@angular/core';
2
- import { ConfigService } from '@igo2/core/config';
3
- import { RouteService } from '@igo2/core/route';
4
- import { LayerService, MapBrowserComponent, StyleListService, StyleService } from '@igo2/geo';
5
- import { ObjectUtils } from '@igo2/utils';
6
- import { merge } from 'rxjs';
7
- import { buffer, debounceTime, filter, first } from 'rxjs/operators';
8
- import { addImportedFeaturesStyledToMap, addImportedFeaturesToMap } from '../../context-import-export/shared/context-import.utils';
9
- import { ContextService } from './context.service';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@igo2/geo";
12
- import * as i2 from "./context.service";
13
- import * as i3 from "@igo2/core/config";
14
- import * as i4 from "@igo2/core/route";
15
- export class LayerContextDirective {
16
- component;
17
- contextService;
18
- layerService;
19
- configService;
20
- styleListService;
21
- styleService;
22
- route;
23
- context$$;
24
- queryParams;
25
- contextLayers = [];
26
- removeLayersOnContextChange = true;
27
- get map() {
28
- return this.component.map;
29
- }
30
- constructor(component, contextService, layerService, configService, styleListService, styleService, route) {
31
- this.component = component;
32
- this.contextService = contextService;
33
- this.layerService = layerService;
34
- this.configService = configService;
35
- this.styleListService = styleListService;
36
- this.styleService = styleService;
37
- this.route = route;
38
- }
39
- ngOnInit() {
40
- this.context$$ = this.contextService.context$
41
- .pipe(filter((context) => context !== undefined))
42
- .subscribe((context) => this.handleContextChange(context));
43
- if (this.route &&
44
- this.route.options.visibleOnLayersKey &&
45
- this.route.options.visibleOffLayersKey &&
46
- this.route.options.contextKey) {
47
- this.route.queryParams
48
- .pipe(first((params) => !ObjectUtils.isEmpty(params)))
49
- .subscribe((params) => {
50
- this.queryParams = params;
51
- });
52
- }
53
- }
54
- ngOnDestroy() {
55
- this.context$$.unsubscribe();
56
- }
57
- handleContextChange(context) {
58
- if (context.layers === undefined) {
59
- return;
60
- }
61
- if (this.removeLayersOnContextChange === true) {
62
- this.map.removeAllLayers();
63
- }
64
- else {
65
- this.map.removeLayers(this.contextLayers);
66
- }
67
- this.contextLayers = [];
68
- this.layerService.unavailableLayers = [];
69
- const layersAndIndex$ = merge(...context.layers.map((layerOptions) => {
70
- return this.layerService.createAsyncLayer(layerOptions, context.uri);
71
- }));
72
- layersAndIndex$
73
- .pipe(buffer(layersAndIndex$.pipe(debounceTime(500))))
74
- .subscribe((layers) => {
75
- this.handleAddLayers(layers);
76
- if (context.extraFeatures) {
77
- context.extraFeatures.forEach((featureCollection) => {
78
- const importExportOptions = this.configService.getConfig('importExport');
79
- if (!importExportOptions?.importWithStyle) {
80
- addImportedFeaturesToMap(featureCollection, this.map);
81
- }
82
- else {
83
- addImportedFeaturesStyledToMap(featureCollection, this.map, this.styleListService, this.styleService);
84
- }
85
- });
86
- }
87
- });
88
- if (this.configService.getConfig('offline')?.enable) {
89
- this.layerService
90
- .createAsyncIdbLayers(context.uri)
91
- .pipe(debounceTime(500))
92
- .subscribe((layers) => this.handleAddLayers(layers));
93
- }
94
- }
95
- handleAddLayers(layers) {
96
- layers = layers
97
- .filter((layer) => layer !== undefined)
98
- .map((layer) => {
99
- layer.visible = this.computeLayerVisibilityFromUrl(layer);
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 ||
141
- visiblelayers.indexOf(currentLayerid.toString()) > -1) {
142
- visible = true;
143
- }
144
- if (invisiblelayers.indexOf(currentLayerid) > -1 ||
145
- invisiblelayers.indexOf(currentLayerid.toString()) > -1) {
146
- visible = false;
147
- }
148
- }
149
- return visible;
150
- }
151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerContextDirective, deps: [{ token: i1.MapBrowserComponent }, { token: i2.ContextService }, { token: i1.LayerService }, { token: i3.ConfigService }, { token: i1.StyleListService }, { token: i1.StyleService }, { token: i4.RouteService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
152
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LayerContextDirective, isStandalone: true, selector: "[igoLayerContext]", inputs: { removeLayersOnContextChange: "removeLayersOnContextChange" }, ngImport: i0 });
153
- }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerContextDirective, decorators: [{
155
- type: Directive,
156
- args: [{
157
- selector: '[igoLayerContext]',
158
- standalone: true
159
- }]
160
- }], ctorParameters: () => [{ type: i1.MapBrowserComponent }, { type: i2.ContextService }, { type: i1.LayerService }, { type: i3.ConfigService }, { type: i1.StyleListService }, { type: i1.StyleService }, { type: i4.RouteService, decorators: [{
161
- type: Optional
162
- }] }], propDecorators: { removeLayersOnContextChange: [{
163
- type: Input
164
- }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9sYXllci1jb250ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUdMLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDYixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRSxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLHdCQUF3QixFQUN6QixNQUFNLHlEQUF5RCxDQUFDO0FBRWpFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBTW5ELE1BQU0sT0FBTyxxQkFBcUI7SUFhdEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ1k7SUFsQmQsU0FBUyxDQUFlO0lBQ3hCLFdBQVcsQ0FBTTtJQUVqQixhQUFhLEdBQVksRUFBRSxDQUFDO0lBRTNCLDJCQUEyQixHQUFHLElBQUksQ0FBQztJQUU1QyxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZ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b0JJLFFBQVE7eUNBYkYsMkJBQTJCO3NCQUFuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBSb3V0ZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3JvdXRlJztcbmltcG9ydCB7XG4gIExheWVyLFxuICBMYXllck9wdGlvbnMsXG4gIExheWVyU2VydmljZSxcbiAgTWFwQnJvd3NlckNvbXBvbmVudCxcbiAgU3R5bGVMaXN0U2VydmljZSxcbiAgU3R5bGVTZXJ2aWNlXG59IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQgdHlwZSB7IElnb01hcCB9IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYnVmZmVyLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIGFkZEltcG9ydGVkRmVhdHVyZXNTdHlsZWRUb01hcCxcbiAgYWRkSW1wb3J0ZWRGZWF0dXJlc1RvTWFwXG59IGZyb20gJy4uLy4uL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9zaGFyZWQvY29udGV4dC1pbXBvcnQudXRpbHMnO1xuaW1wb3J0IHsgRGV0YWlsZWRDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4vY29udGV4dC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb0xheWVyQ29udGV4dF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIExheWVyQ29udGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjb250ZXh0JCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBxdWVyeVBhcmFtczogYW55O1xuXG4gIHByaXZhdGUgY29udGV4dExheWVyczogTGF5ZXJbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHJlbW92ZUxheWVyc09uQ29udGV4dENoYW5nZSA9IHRydWU7XG5cbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5tYXA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHN0eWxlTGlzdFNlcnZpY2U6IFN0eWxlTGlzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IFN0eWxlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlOiBSb3V0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29udGV4dCQkID0gdGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JFxuICAgICAgLnBpcGUoZmlsdGVyKChjb250ZXh0KSA9PiBjb250ZXh0ICE9PSB1bmRlZmluZWQpKVxuICAgICAgLnN1YnNjcmliZSgoY29udGV4dCkgPT4gdGhpcy5oYW5kbGVDb250ZXh0Q2hhbmdlKGNvbnRleHQpKTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMucm91dGUgJiZcbiAgICAgIHRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT25MYXllcnNLZXkgJiZcbiAgICAgIHRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5ICYmXG4gICAgICB0aGlzLnJvdXRlLm9wdGlvbnMuY29udGV4dEtleVxuICAgICkge1xuICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtc1xuICAgICAgICAucGlwZShmaXJzdCgocGFyYW1zKSA9PiAhT2JqZWN0VXRpbHMuaXNFbXB0eShwYXJhbXMpKSlcbiAgICAgICAgLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XG4gICAgICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHBhcmFtcztcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jb250ZXh0JCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udGV4dENoYW5nZShjb250ZXh0OiBEZXRhaWxlZENvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dC5sYXllcnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZW1vdmVMYXllcnNPbkNvbnRleHRDaGFuZ2UgPT09IHRydWUpIHtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUFsbExheWVycygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcnModGhpcy5jb250ZXh0TGF5ZXJzKTtcbiAgICB9XG4gICAgdGhpcy5jb250ZXh0TGF5ZXJzID0gW107XG5cbiAgICB0aGlzLmxheWVyU2VydmljZS51bmF2YWlsYWJsZUxheWVycyA9IFtdO1xuICAgIGNvbnN0IGxheWVyc0FuZEluZGV4JCA9IG1lcmdlKFxuICAgICAgLi4uY29udGV4dC5sYXllcnMubWFwKChsYXllck9wdGlvbnM6IExheWVyT3B0aW9ucykgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlQXN5bmNMYXllcihsYXllck9wdGlvbnMsIGNvbnRleHQudXJpKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGxheWVyc0FuZEluZGV4JFxuICAgICAgLnBpcGUoYnVmZmVyKGxheWVyc0FuZEluZGV4JC5waXBlKGRlYm91bmNlVGltZSg1MDApKSkpXG4gICAgICAuc3Vic2NyaWJlKChsYXllcnM6IExheWVyW10pID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVBZGRMYXllcnMobGF5ZXJzKTtcblxuICAgICAgICBpZiAoY29udGV4dC5leHRyYUZlYXR1cmVzKSB7XG4gICAgICAgICAgY29udGV4dC5leHRyYUZlYXR1cmVzLmZvckVhY2goKGZlYXR1cmVDb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbXBvcnRFeHBvcnRPcHRpb25zID1cbiAgICAgICAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnaW1wb3J0RXhwb3J0Jyk7XG4gICAgICAgICAgICBpZiAoIWltcG9ydEV4cG9ydE9wdGlvbnM/LmltcG9ydFdpdGhTdHlsZSkge1xuICAgICAgICAgICAgICBhZGRJbXBvcnRlZEZlYXR1cmVzVG9NYXAoZmVhdHVyZUNvbGxlY3Rpb24sIHRoaXMubWFwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGFkZEltcG9ydGVkRmVhdHVyZXNTdHlsZWRUb01hcChcbiAgICAgICAgICAgICAgICBmZWF0dXJlQ29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICB0aGlzLm1hcCxcbiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlTGlzdFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZVNlcnZpY2VcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnb2ZmbGluZScpPy5lbmFibGUpIHtcbiAgICAgIHRoaXMubGF5ZXJTZXJ2aWNlXG4gICAgICAgIC5jcmVhdGVBc3luY0lkYkxheWVycyhjb250ZXh0LnVyaSlcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGxheWVycykgPT4gdGhpcy5oYW5kbGVBZGRMYXllcnMobGF5ZXJzKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBZGRMYXllcnMobGF5ZXJzOiBMYXllcltdKSB7XG4gICAgbGF5ZXJzID0gbGF5ZXJzXG4gICAgICAuZmlsdGVyKChsYXllcjogTGF5ZXIpID0+IGxheWVyICE9PSB1bmRlZmluZWQpXG4gICAgICAubWFwKChsYXllcikgPT4ge1xuICAgICAgICBsYXllci52aXNpYmxlID0gdGhpcy5jb21wdXRlTGF5ZXJWaXNpYmlsaXR5RnJvbVVybChsYXllcik7XG5cbiAgICAgICAgcmV0dXJuIGxheWVyO1xuICAgICAgfSk7XG4gICAgdGhpcy5jb250ZXh0TGF5ZXJzLmNvbmNhdChsYXllcnMpO1xuICAgIHRoaXMubWFwLmFkZExheWVycyhsYXllcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlTGF5ZXJWaXNpYmlsaXR5RnJvbVVybChsYXllcjogTGF5ZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLnF1ZXJ5UGFyYW1zO1xuICAgIGNvbnN0IGN1cnJlbnRDb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZS51cmk7XG4gICAgY29uc3QgY3VycmVudExheWVyaWQ6IHN0cmluZyA9IGxheWVyLmlkO1xuXG4gICAgbGV0IHZpc2libGUgPSBsYXllci52aXNpYmxlO1xuICAgIGlmICghcGFyYW1zIHx8ICFjdXJyZW50TGF5ZXJpZCkge1xuICAgICAgcmV0dXJuIHZpc2libGU7XG4gICAgfVxuXG4gICAgY29uc3QgY29udGV4dFBhcmFtcyA9IHBhcmFtc1t0aGlzLnJvdXRlLm9wdGlvbnMuY29udGV4dEtleSBhcyBzdHJpbmddO1xuICAgIGlmIChjb250ZXh0UGFyYW1zID09PSBjdXJyZW50Q29udGV4dCB8fCAhY29udGV4dFBhcmFtcykge1xuICAgICAgbGV0IHZpc2libGVPbkxheWVyc1BhcmFtcyA9ICcnO1xuICAgICAgbGV0IHZpc2libGVPZmZMYXllcnNQYXJhbXMgPSAnJztcbiAgICAgIGxldCB2aXNpYmxlbGF5ZXJzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgbGV0IGludmlzaWJsZWxheWVyczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5ICYmXG4gICAgICAgIHBhcmFtc1t0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5IGFzIHN0cmluZ11cbiAgICAgICkge1xuICAgICAgICB2aXNpYmxlT25MYXllcnNQYXJhbXMgPVxuICAgICAgICAgIHBhcmFtc1t0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5IGFzIHN0cmluZ107XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5ICYmXG4gICAgICAgIHBhcmFtc1t0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9mZkxheWVyc0tleSBhcyBzdHJpbmddXG4gICAgICApIHtcbiAgICAgICAgdmlzaWJsZU9mZkxheWVyc1BhcmFtcyA9XG4gICAgICAgICAgcGFyYW1zW3RoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5IGFzIHN0cmluZ107XG4gICAgICB9XG5cbiAgICAgIC8qIFRoaXMgb3JkZXIgaXMgaW1wb3J0YW50IGJlY2F1c2UgdG8gY29udHJvbCB3aGljaGV2ZXJcbiAgICAgICB0aGUgb3JkZXIgb2YgKiBwYXJhbS4gRmlyc3Qgd2hlIG9wZW4gYW5kIGNsb3NlIGV2ZXJ5dGhpbmcuKi9cbiAgICAgIGlmICh2aXNpYmxlT25MYXllcnNQYXJhbXMgPT09ICcqJykge1xuICAgICAgICB2aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh2aXNpYmxlT2ZmTGF5ZXJzUGFyYW1zID09PSAnKicpIHtcbiAgICAgICAgdmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBBZnRlciwgbWFuYWdpbmcgbmFtZWQgbGF5ZXIgYnkgaWQgKGNvbnRleHQuanNvbiBPUiBpZCBmcm9tIGRhdGFzb3VyY2UpXG4gICAgICB2aXNpYmxlbGF5ZXJzID0gdmlzaWJsZU9uTGF5ZXJzUGFyYW1zLnNwbGl0KCcsJyk7XG4gICAgICBpbnZpc2libGVsYXllcnMgPSB2aXNpYmxlT2ZmTGF5ZXJzUGFyYW1zLnNwbGl0KCcsJyk7XG4gICAgICBpZiAoXG4gICAgICAgIHZpc2libGVsYXllcnMuaW5kZXhPZihjdXJyZW50TGF5ZXJpZCkgPiAtMSB8fFxuICAgICAgICB2aXNpYmxlbGF5ZXJzLmluZGV4T2YoY3VycmVudExheWVyaWQudG9TdHJpbmcoKSkgPiAtMVxuICAgICAgKSB7XG4gICAgICAgIHZpc2libGUgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBpbnZpc2libGVsYXllcnMuaW5kZXhPZihjdXJyZW50TGF5ZXJpZCkgPiAtMSB8fFxuICAgICAgICBpbnZpc2libGVsYXllcnMuaW5kZXhPZihjdXJyZW50TGF5ZXJpZC50b1N0cmluZygpKSA+IC0xXG4gICAgICApIHtcbiAgICAgICAgdmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2aXNpYmxlO1xuICB9XG59XG4iXX0=
@@ -1,80 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { MediaService } from '@igo2/core/media';
3
- import { MapBrowserComponent } from '@igo2/geo';
4
- import { filter } from 'rxjs/operators';
5
- import { ContextService } from './context.service';
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/media";
10
- export class MapContextDirective {
11
- contextService;
12
- mediaService;
13
- component;
14
- context$$;
15
- get map() {
16
- return this.component.map;
17
- }
18
- constructor(component, contextService, mediaService) {
19
- this.contextService = contextService;
20
- this.mediaService = mediaService;
21
- this.component = component;
22
- }
23
- ngOnInit() {
24
- this.context$$ = this.contextService.context$
25
- .pipe(filter((context) => context !== undefined))
26
- .subscribe((context) => this.handleContextChange(context));
27
- }
28
- ngOnDestroy() {
29
- this.context$$.unsubscribe();
30
- }
31
- handleContextChange(context) {
32
- if (context.map === undefined) {
33
- return;
34
- }
35
- // This creates a new ol.Map when the context changes. Doing that
36
- // allows the print tool to work properly even when the map's canvas
37
- // has been tainted (CORS) with the layers of another context. This could
38
- // have some side effects such as unbinding all listeners on the first map.
39
- // A better solution would be to create a new map (preview) before
40
- // printing and avoid the tainted canvas issue. This will come later so
41
- // this snippet of code is kept here in case it takes too long becomes
42
- // an issue
43
- // const target = this.component.map.ol.getTarget();
44
- // this.component.map.ol.setTarget(undefined);
45
- // this.component.map.init();
46
- // this.component.map.ol.setTarget(target);
47
- const viewContext = context.map.view;
48
- if (!this.component.view ||
49
- viewContext.keepCurrentView !== true ||
50
- context.map.view.projection !== this.map.projection) {
51
- this.component.view = viewContext;
52
- }
53
- if (this.component.map.geolocationController) {
54
- this.component.map.geolocationController.updateGeolocationOptions(viewContext);
55
- }
56
- const controlsContext = context.map.controls;
57
- if (!this.component.controls && controlsContext) {
58
- if (this.mediaService.isMobile()) {
59
- if (typeof controlsContext.scaleLine !== 'boolean') {
60
- const scaleLineOption = controlsContext.scaleLine;
61
- if (!scaleLineOption.minWidth) {
62
- scaleLineOption.minWidth = Math.min(64, scaleLineOption.minWidth);
63
- controlsContext.scaleLine = scaleLineOption;
64
- }
65
- }
66
- }
67
- this.component.controls = controlsContext;
68
- }
69
- }
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapContextDirective, deps: [{ token: i1.MapBrowserComponent }, { token: i2.ContextService }, { token: i3.MediaService }], target: i0.ɵɵFactoryTarget.Directive });
71
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MapContextDirective, isStandalone: true, selector: "[igoMapContext]", ngImport: i0 });
72
- }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapContextDirective, decorators: [{
74
- type: Directive,
75
- args: [{
76
- selector: '[igoMapContext]',
77
- standalone: true
78
- }]
79
- }], ctorParameters: () => [{ type: i1.MapBrowserComponent }, { type: i2.ContextService }, { type: i3.MediaService }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvbWFwLWNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsbUJBQW1CLEVBSXBCLE1BQU0sV0FBVyxDQUFDO0FBSW5CLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBTW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFVcEI7SUFDQTtJQVZGLFNBQVMsQ0FBc0I7SUFDL0IsU0FBUyxDQUFlO0lBRWhDLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ0UsU0FBOEIsRUFDdEIsY0FBOEIsRUFDOUIsWUFBMEI7UUFEMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRWxDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVE7YUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDO2FBQ2hELFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUF3QjtRQUNsRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsT0FBTztRQUNULENBQUM7UUFFRCxpRUFBaUU7UUFDakUsb0VBQW9FO1FBQ3BFLHlFQUF5RTtRQUN6RSwyRUFBMkU7UUFDM0Usa0VBQWtFO1FBQ2xFLHVFQUF1RTtRQUN2RSxzRUFBc0U7UUFDdEUsV0FBVztRQUVYLG9EQUFvRDtRQUNwRCw4Q0FBOEM7UUFDOUMsNkJBQTZCO1FBQzdCLDJDQUEyQztRQUUzQyxNQUFNLFdBQVcsR0FBbUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDckQsSUFDRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSTtZQUNwQixXQUFXLENBQUMsZUFBZSxLQUFLLElBQUk7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUNuRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsV0FBNkIsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQUMvRCxXQUFXLENBQ1osQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBdUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2hELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLE9BQU8sZUFBZSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDbkQsTUFBTSxlQUFlLEdBQ25CLGVBQWUsQ0FBQyxTQUFnQyxDQUFDO29CQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUM5QixlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDbEUsZUFBZSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUM7b0JBQzlDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7d0dBekVVLG1CQUFtQjs0RkFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZWRpYSc7XG5pbXBvcnQge1xuICBNYXBCcm93c2VyQ29tcG9uZW50LFxuICBNYXBDb250cm9sc09wdGlvbnMsXG4gIE1hcFNjYWxlTGluZU9wdGlvbnMsXG4gIE1hcFZpZXdPcHRpb25zXG59IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQgdHlwZSB7IElnb01hcCB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb250ZXh0TWFwVmlldywgRGV0YWlsZWRDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4vY29udGV4dC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb01hcENvbnRleHRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNYXBDb250ZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudDtcbiAgcHJpdmF0ZSBjb250ZXh0JCQ6IFN1YnNjcmlwdGlvbjtcblxuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lm1hcDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250ZXh0JCQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmNvbnRleHQkXG4gICAgICAucGlwZShmaWx0ZXIoKGNvbnRleHQpID0+IGNvbnRleHQgIT09IHVuZGVmaW5lZCkpXG4gICAgICAuc3Vic2NyaWJlKChjb250ZXh0KSA9PiB0aGlzLmhhbmRsZUNvbnRleHRDaGFuZ2UoY29udGV4dCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jb250ZXh0JCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udGV4dENoYW5nZShjb250ZXh0OiBEZXRhaWxlZENvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dC5tYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRoaXMgY3JlYXRlcyBhIG5ldyBvbC5NYXAgd2hlbiB0aGUgY29udGV4dCBjaGFuZ2VzLiBEb2luZyB0aGF0XG4gICAgLy8gYWxsb3dzIHRoZSBwcmludCB0b29sIHRvIHdvcmsgcHJvcGVybHkgZXZlbiB3aGVuIHRoZSBtYXAncyBjYW52YXNcbiAgICAvLyBoYXMgYmVlbiB0YWludGVkIChDT1JTKSB3aXRoIHRoZSBsYXllcnMgb2YgYW5vdGhlciBjb250ZXh0LiBUaGlzIGNvdWxkXG4gICAgLy8gaGF2ZSBzb21lIHNpZGUgZWZmZWN0cyBzdWNoIGFzIHVuYmluZGluZyBhbGwgbGlzdGVuZXJzIG9uIHRoZSBmaXJzdCBtYXAuXG4gICAgLy8gQSBiZXR0ZXIgc29sdXRpb24gd291bGQgYmUgdG8gY3JlYXRlIGEgbmV3IG1hcCAocHJldmlldykgYmVmb3JlXG4gICAgLy8gcHJpbnRpbmcgYW5kIGF2b2lkIHRoZSB0YWludGVkIGNhbnZhcyBpc3N1ZS4gVGhpcyB3aWxsIGNvbWUgbGF0ZXIgc29cbiAgICAvLyB0aGlzIHNuaXBwZXQgb2YgY29kZSBpcyBrZXB0IGhlcmUgaW4gY2FzZSBpdCB0YWtlcyB0b28gbG9uZyBiZWNvbWVzXG4gICAgLy8gYW4gaXNzdWVcblxuICAgIC8vIGNvbnN0IHRhcmdldCA9IHRoaXMuY29tcG9uZW50Lm1hcC5vbC5nZXRUYXJnZXQoKTtcbiAgICAvLyB0aGlzLmNvbXBvbmVudC5tYXAub2wuc2V0VGFyZ2V0KHVuZGVmaW5lZCk7XG4gICAgLy8gdGhpcy5jb21wb25lbnQubWFwLmluaXQoKTtcbiAgICAvLyB0aGlzLmNvbXBvbmVudC5tYXAub2wuc2V0VGFyZ2V0KHRhcmdldCk7XG5cbiAgICBjb25zdCB2aWV3Q29udGV4dDogQ29udGV4dE1hcFZpZXcgPSBjb250ZXh0Lm1hcC52aWV3O1xuICAgIGlmIChcbiAgICAgICF0aGlzLmNvbXBvbmVudC52aWV3IHx8XG4gICAgICB2aWV3Q29udGV4dC5rZWVwQ3VycmVudFZpZXcgIT09IHRydWUgfHxcbiAgICAgIGNvbnRleHQubWFwLnZpZXcucHJvamVjdGlvbiAhPT0gdGhpcy5tYXAucHJvamVjdGlvblxuICAgICkge1xuICAgICAgdGhpcy5jb21wb25lbnQudmlldyA9IHZpZXdDb250ZXh0IGFzIE1hcFZpZXdPcHRpb25zO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wb25lbnQubWFwLmdlb2xvY2F0aW9uQ29udHJvbGxlcikge1xuICAgICAgdGhpcy5jb21wb25lbnQubWFwLmdlb2xvY2F0aW9uQ29udHJvbGxlci51cGRhdGVHZW9sb2NhdGlvbk9wdGlvbnMoXG4gICAgICAgIHZpZXdDb250ZXh0XG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2xzQ29udGV4dDogTWFwQ29udHJvbHNPcHRpb25zID0gY29udGV4dC5tYXAuY29udHJvbHM7XG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudC5jb250cm9scyAmJiBjb250cm9sc0NvbnRleHQpIHtcbiAgICAgIGlmICh0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICAgIGlmICh0eXBlb2YgY29udHJvbHNDb250ZXh0LnNjYWxlTGluZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgY29uc3Qgc2NhbGVMaW5lT3B0aW9uID1cbiAgICAgICAgICAgIGNvbnRyb2xzQ29udGV4dC5zY2FsZUxpbmUgYXMgTWFwU2NhbGVMaW5lT3B0aW9ucztcbiAgICAgICAgICBpZiAoIXNjYWxlTGluZU9wdGlvbi5taW5XaWR0aCkge1xuICAgICAgICAgICAgc2NhbGVMaW5lT3B0aW9uLm1pbldpZHRoID0gTWF0aC5taW4oNjQsIHNjYWxlTGluZU9wdGlvbi5taW5XaWR0aCk7XG4gICAgICAgICAgICBjb250cm9sc0NvbnRleHQuc2NhbGVMaW5lID0gc2NhbGVMaW5lT3B0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5jb21wb25lbnQuY29udHJvbHMgPSBjb250cm9sc0NvbnRleHQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,69 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { MatButtonModule } from '@angular/material/button';
3
- import { MatDialog } from '@angular/material/dialog';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatTooltipModule } from '@angular/material/tooltip';
6
- import { IgoLanguageModule } from '@igo2/core/language';
7
- import { MessageService } from '@igo2/core/message';
8
- import { take } from 'rxjs/operators';
9
- import { ContextService } from '../../context-manager/shared/context.service';
10
- import { BookmarkDialogComponent } from './bookmark-dialog.component';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/material/dialog";
13
- import * as i2 from "../../context-manager/shared/context.service";
14
- import * as i3 from "@igo2/core/message";
15
- import * as i4 from "@angular/material/button";
16
- import * as i5 from "@angular/material/tooltip";
17
- import * as i6 from "@angular/material/icon";
18
- import * as i7 from "@ngx-translate/core";
19
- export class BookmarkButtonComponent {
20
- dialog;
21
- contextService;
22
- messageService;
23
- get map() {
24
- return this._map;
25
- }
26
- set map(value) {
27
- this._map = value;
28
- }
29
- _map;
30
- get color() {
31
- return this._color;
32
- }
33
- set color(value) {
34
- this._color = value;
35
- }
36
- _color;
37
- constructor(dialog, contextService, messageService) {
38
- this.dialog = dialog;
39
- this.contextService = contextService;
40
- this.messageService = messageService;
41
- }
42
- createContext() {
43
- this.dialog
44
- .open(BookmarkDialogComponent, { disableClose: false })
45
- .afterClosed()
46
- .pipe(take(1))
47
- .subscribe((title) => {
48
- if (title) {
49
- const context = this.contextService.getContextFromMap(this.map);
50
- context.title = title;
51
- this.contextService.create(context).subscribe(() => {
52
- this.messageService.success('igo.context.bookmarkButton.dialog.createMsg', 'igo.context.bookmarkButton.dialog.createTitle', undefined, { value: context.title });
53
- this.contextService.loadContext(context.uri);
54
- });
55
- }
56
- });
57
- }
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BookmarkButtonComponent, deps: [{ token: i1.MatDialog }, { token: i2.ContextService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BookmarkButtonComponent, isStandalone: true, selector: "igo-bookmark-button", inputs: { map: "map", color: "color" }, ngImport: i0, template: "<div class=\"igo-bookmark-button-container\">\n <button\n mat-icon-button\n [matTooltip]=\"'igo.context.bookmarkButton.create' | translate\"\n matTooltipPosition=\"above\"\n [color]=\"color\"\n (click)=\"createContext()\"\n >\n <mat-icon>star</mat-icon>\n </button>\n</div>\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-bookmark-button-container{width:40px}:host .igo-bookmark-button-container button{background-color:#fff}:host .igo-bookmark-button-container button:hover{background-color:#efefef}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BookmarkButtonComponent, decorators: [{
62
- type: Component,
63
- args: [{ selector: 'igo-bookmark-button', standalone: true, imports: [MatButtonModule, MatTooltipModule, MatIconModule, IgoLanguageModule], template: "<div class=\"igo-bookmark-button-container\">\n <button\n mat-icon-button\n [matTooltip]=\"'igo.context.bookmarkButton.create' | translate\"\n matTooltipPosition=\"above\"\n [color]=\"color\"\n (click)=\"createContext()\"\n >\n <mat-icon>star</mat-icon>\n </button>\n</div>\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-bookmark-button-container{width:40px}:host .igo-bookmark-button-container button{background-color:#fff}:host .igo-bookmark-button-container button:hover{background-color:#efefef}\n"] }]
64
- }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.ContextService }, { type: i3.MessageService }], propDecorators: { map: [{
65
- type: Input
66
- }], color: [{
67
- type: Input
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmstYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hcC1idXR0b24vYm9va21hcmstYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi9ib29rbWFyay1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7OztBQVN0RSxNQUFNLE9BQU8sdUJBQXVCO0lBb0J4QjtJQUNBO0lBQ0E7SUFyQlYsSUFDSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxLQUFhO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDTyxJQUFJLENBQVM7SUFFckIsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTyxNQUFNLENBQVM7SUFFdkIsWUFDVSxNQUFpQixFQUNqQixjQUE4QixFQUM5QixjQUE4QjtRQUY5QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDckMsQ0FBQztJQUVKLGFBQWE7UUFDWCxJQUFJLENBQUMsTUFBTTthQUNSLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUN0RCxXQUFXLEVBQUU7YUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEUsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUN6Qiw2Q0FBNkMsRUFDN0MsK0NBQStDLEVBQy9DLFNBQVMsRUFDVCxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQ3pCLENBQUM7b0JBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBN0NVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLHVIQ3RCcEMsMFNBV0Esd1hEU1ksZUFBZSwySUFBRSxnQkFBZ0IsNFRBQUUsYUFBYSxtTEFBRSxpQkFBaUI7OzRGQUVsRSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUM7d0lBSTFFLEdBQUc7c0JBRE4sS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZXNzYWdlJztcbmltcG9ydCB0eXBlIHsgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250ZXh0LW1hbmFnZXIvc2hhcmVkL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBCb29rbWFya0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYm9va21hcmstZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1ib29rbWFyay1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYm9va21hcmstYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYm9va21hcmstYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRCdXR0b25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdEljb25Nb2R1bGUsIElnb0xhbmd1YWdlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBCb29rbWFya0J1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcbiAgICByZXR1cm4gdGhpcy5fbWFwO1xuICB9XG4gIHNldCBtYXAodmFsdWU6IElnb01hcCkge1xuICAgIHRoaXMuX21hcCA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX21hcDogSWdvTWFwO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuICBzZXQgY29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfY29sb3I6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlXG4gICkge31cblxuICBjcmVhdGVDb250ZXh0KCkge1xuICAgIHRoaXMuZGlhbG9nXG4gICAgICAub3BlbihCb29rbWFya0RpYWxvZ0NvbXBvbmVudCwgeyBkaXNhYmxlQ2xvc2U6IGZhbHNlIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHRpdGxlKSA9PiB7XG4gICAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmdldENvbnRleHRGcm9tTWFwKHRoaXMubWFwKTtcbiAgICAgICAgICBjb250ZXh0LnRpdGxlID0gdGl0bGU7XG4gICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5jcmVhdGUoY29udGV4dCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcbiAgICAgICAgICAgICAgJ2lnby5jb250ZXh0LmJvb2ttYXJrQnV0dG9uLmRpYWxvZy5jcmVhdGVNc2cnLFxuICAgICAgICAgICAgICAnaWdvLmNvbnRleHQuYm9va21hcmtCdXR0b24uZGlhbG9nLmNyZWF0ZVRpdGxlJyxcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB7IHZhbHVlOiBjb250ZXh0LnRpdGxlIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmxvYWRDb250ZXh0KGNvbnRleHQudXJpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpZ28tYm9va21hcmstYnV0dG9uLWNvbnRhaW5lclwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5jb250ZXh0LmJvb2ttYXJrQnV0dG9uLmNyZWF0ZScgfCB0cmFuc2xhdGVcIlxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcbiAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgIChjbGljayk9XCJjcmVhdGVDb250ZXh0KClcIlxuICA+XG4gICAgPG1hdC1pY29uPnN0YXI8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,37 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatDialogActions, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatInputModule } from '@angular/material/input';
7
- import { IgoLanguageModule } from '@igo2/core/language';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/material/dialog";
10
- import * as i2 from "@angular/material/form-field";
11
- import * as i3 from "@angular/material/input";
12
- import * as i4 from "@angular/forms";
13
- import * as i5 from "@angular/material/button";
14
- import * as i6 from "@ngx-translate/core";
15
- export class BookmarkDialogComponent {
16
- dialogRef;
17
- title;
18
- constructor(dialogRef) {
19
- this.dialogRef = dialogRef;
20
- }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BookmarkDialogComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BookmarkDialogComponent, isStandalone: true, selector: "igo-bookmark-dialog", ngImport: i0, template: "<h1 mat-dialog-title class=\"mat-typography\">\n {{ 'igo.context.bookmarkButton.dialog.title' | translate }}\n</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <mat-form-field>\n <input\n matInput\n required\n autocomplete=\"off\"\n maxlength=\"128\"\n [placeholder]=\"\n 'igo.context.bookmarkButton.dialog.placeholder' | translate\n \"\n [(ngModel)]=\"title\"\n />\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n [disabled]=\"!title\"\n (click)=\"dialogRef.close(title)\"\n >\n {{ 'igo.common.confirmDialog.confirmBtn' | translate }}\n </button>\n <button mat-button (click)=\"dialogRef.close(false)\">\n {{ 'igo.common.confirmDialog.cancelBtn' | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: "ngmodule", type: FormsModule }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BookmarkDialogComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'igo-bookmark-dialog', standalone: true, imports: [
27
- MatDialogTitle,
28
- MatDialogContent,
29
- MatFormFieldModule,
30
- MatInputModule,
31
- FormsModule,
32
- MatDialogActions,
33
- MatButtonModule,
34
- IgoLanguageModule
35
- ], template: "<h1 mat-dialog-title class=\"mat-typography\">\n {{ 'igo.context.bookmarkButton.dialog.title' | translate }}\n</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <mat-form-field>\n <input\n matInput\n required\n autocomplete=\"off\"\n maxlength=\"128\"\n [placeholder]=\"\n 'igo.context.bookmarkButton.dialog.placeholder' | translate\n \"\n [(ngModel)]=\"title\"\n />\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n [disabled]=\"!title\"\n (click)=\"dialogRef.close(title)\"\n >\n {{ 'igo.common.confirmDialog.confirmBtn' | translate }}\n </button>\n <button mat-button (click)=\"dialogRef.close(false)\">\n {{ 'igo.common.confirmDialog.cancelBtn' | translate }}\n </button>\n</div>\n" }]
36
- }], ctorParameters: () => [{ type: i1.MatDialogRef }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmstZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hcC1idXR0b24vYm9va21hcmstYnV0dG9uL2Jvb2ttYXJrLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi9ib29rbWFyay1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2YsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBaUJ4RCxNQUFNLE9BQU8sdUJBQXVCO0lBR2Y7SUFGWixLQUFLLENBQVM7SUFFckIsWUFBbUIsU0FBZ0Q7UUFBaEQsY0FBUyxHQUFULFNBQVMsQ0FBdUM7SUFBRyxDQUFDO3dHQUg1RCx1QkFBdUI7NEZBQXZCLHVCQUF1QiwrRUM3QnBDLGt6QkE4QkEsNENEWEksY0FBYywrSEFDZCxnQkFBZ0Isd0dBQ2hCLGtCQUFrQix5T0FDbEIsY0FBYywwV0FDZCxXQUFXLCsrQkFDWCxnQkFBZ0IsMkhBQ2hCLGVBQWUsMk5BQ2YsaUJBQWlCOzs0RkFHUix1QkFBdUI7a0JBZm5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBRW5CLElBQUksV0FDUDt3QkFDUCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGlCQUFpQjtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7XG4gIE1hdERpYWxvZ0FjdGlvbnMsXG4gIE1hdERpYWxvZ0NvbnRlbnQsXG4gIE1hdERpYWxvZ1JlZixcbiAgTWF0RGlhbG9nVGl0bGVcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1ib29rbWFyay1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm9va21hcmstZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdERpYWxvZ1RpdGxlLFxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdERpYWxvZ0FjdGlvbnMsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQm9va21hcmtEaWFsb2dDb21wb25lbnQge1xuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Qm9va21hcmtEaWFsb2dDb21wb25lbnQ+KSB7fVxufVxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICB7eyAnaWdvLmNvbnRleHQuYm9va21hcmtCdXR0b24uZGlhbG9nLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuPC9oMT5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIHJlcXVpcmVkXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgbWF4bGVuZ3RoPVwiMTI4XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICAgJ2lnby5jb250ZXh0LmJvb2ttYXJrQnV0dG9uLmRpYWxvZy5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcbiAgICAgIFwiXG4gICAgICBbKG5nTW9kZWwpXT1cInRpdGxlXCJcbiAgICAvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgPGJ1dHRvblxuICAgIG1hdC1idXR0b25cbiAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgIFtkaXNhYmxlZF09XCIhdGl0bGVcIlxuICAgIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UodGl0bGUpXCJcbiAgPlxuICAgIHt7ICdpZ28uY29tbW9uLmNvbmZpcm1EaWFsb2cuY29uZmlybUJ0bicgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKGZhbHNlKVwiPlxuICAgIHt7ICdpZ28uY29tbW9uLmNvbmZpcm1EaWFsb2cuY2FuY2VsQnRuJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,3 +0,0 @@
1
- export * from './bookmark-button.component';
2
- export * from './bookmark-dialog.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jvb2ttYXJrLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ib29rbWFyay1kaWFsb2cuY29tcG9uZW50JztcbiJdfQ==
@@ -1,10 +0,0 @@
1
- import { BookmarkButtonComponent, BookmarkDialogComponent } from './bookmark-button';
2
- import { PoiButtonComponent } from './poi-button';
3
- import { UserButtonComponent } from './user-button';
4
- export const CONTEXT_MAP_BUTTON_DIRECTIVES = [
5
- BookmarkButtonComponent,
6
- BookmarkDialogComponent,
7
- PoiButtonComponent,
8
- UserButtonComponent
9
- ];
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tYXAtYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hcC1idXR0b24vY29udGV4dC1tYXAtYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN4QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUc7SUFDM0MsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsbUJBQW1CO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJvb2ttYXJrQnV0dG9uQ29tcG9uZW50LFxuICBCb29rbWFya0RpYWxvZ0NvbXBvbmVudFxufSBmcm9tICcuL2Jvb2ttYXJrLWJ1dHRvbic7XG5pbXBvcnQgeyBQb2lCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3BvaS1idXR0b24nO1xuaW1wb3J0IHsgVXNlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdXNlci1idXR0b24nO1xuXG5leHBvcnQgY29uc3QgQ09OVEVYVF9NQVBfQlVUVE9OX0RJUkVDVElWRVMgPSBbXG4gIEJvb2ttYXJrQnV0dG9uQ29tcG9uZW50LFxuICBCb29rbWFya0RpYWxvZ0NvbXBvbmVudCxcbiAgUG9pQnV0dG9uQ29tcG9uZW50LFxuICBVc2VyQnV0dG9uQ29tcG9uZW50XG5dIGFzIGNvbnN0O1xuIl19
@@ -1,48 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { BookmarkButtonComponent } from './bookmark-button/bookmark-button.component';
3
- import { BookmarkDialogComponent } from './bookmark-button/bookmark-dialog.component';
4
- import { PoiButtonComponent } from './poi-button/poi-button.component';
5
- import { PoiService } from './poi-button/shared/poi.service';
6
- import { UserButtonComponent } from './user-button/user-button.component';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * @deprecated import the components/directives directly or CONTEXT_MAP_BUTTON_DIRECTIVES for the set
10
- */
11
- export class IgoContextMapButtonModule {
12
- static forRoot() {
13
- return {
14
- ngModule: IgoContextMapButtonModule
15
- };
16
- }
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoContextMapButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoContextMapButtonModule, imports: [BookmarkButtonComponent,
19
- BookmarkDialogComponent,
20
- PoiButtonComponent,
21
- UserButtonComponent], exports: [BookmarkButtonComponent,
22
- PoiButtonComponent,
23
- UserButtonComponent,
24
- BookmarkDialogComponent] });
25
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoContextMapButtonModule, providers: [PoiService], imports: [BookmarkButtonComponent,
26
- BookmarkDialogComponent,
27
- PoiButtonComponent,
28
- UserButtonComponent] });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoContextMapButtonModule, decorators: [{
31
- type: NgModule,
32
- args: [{
33
- imports: [
34
- BookmarkButtonComponent,
35
- BookmarkDialogComponent,
36
- PoiButtonComponent,
37
- UserButtonComponent
38
- ],
39
- exports: [
40
- BookmarkButtonComponent,
41
- PoiButtonComponent,
42
- UserButtonComponent,
43
- BookmarkDialogComponent
44
- ],
45
- providers: [PoiService]
46
- }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tYXAtYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hcC1idXR0b24vY29udGV4dC1tYXAtYnV0dG9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBRTFFOztHQUVHO0FBZ0JILE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtTQUNwQyxDQUFDO0lBQ0osQ0FBQzt3R0FMVSx5QkFBeUI7eUdBQXpCLHlCQUF5QixZQWJsQyx1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQixtQkFBbUIsYUFHbkIsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsdUJBQXVCO3lHQUlkLHlCQUF5QixhQUZ6QixDQUFDLFVBQVUsQ0FBQyxZQVhyQix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQixtQkFBbUI7OzRGQVVWLHlCQUF5QjtrQkFmckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3FCQUN4QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQm9va21hcmtCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2Jvb2ttYXJrLWJ1dHRvbi9ib29rbWFyay1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEJvb2ttYXJrRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9ib29rbWFyay1idXR0b24vYm9va21hcmstZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb2lCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3BvaS1idXR0b24vcG9pLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9pU2VydmljZSB9IGZyb20gJy4vcG9pLWJ1dHRvbi9zaGFyZWQvcG9pLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdXNlci1idXR0b24vdXNlci1idXR0b24uY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIGNvbXBvbmVudHMvZGlyZWN0aXZlcyBkaXJlY3RseSBvciBDT05URVhUX01BUF9CVVRUT05fRElSRUNUSVZFUyBmb3IgdGhlIHNldFxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQm9va21hcmtCdXR0b25Db21wb25lbnQsXG4gICAgQm9va21hcmtEaWFsb2dDb21wb25lbnQsXG4gICAgUG9pQnV0dG9uQ29tcG9uZW50LFxuICAgIFVzZXJCdXR0b25Db21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJvb2ttYXJrQnV0dG9uQ29tcG9uZW50LFxuICAgIFBvaUJ1dHRvbkNvbXBvbmVudCxcbiAgICBVc2VyQnV0dG9uQ29tcG9uZW50LFxuICAgIEJvb2ttYXJrRGlhbG9nQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1BvaVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIElnb0NvbnRleHRNYXBCdXR0b25Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb0NvbnRleHRNYXBCdXR0b25Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IElnb0NvbnRleHRNYXBCdXR0b25Nb2R1bGVcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- export * from './bookmark-button';
2
- export * from './poi-button';
3
- export * from './user-button';
4
- export * from './context-map-button.directive';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYm9va21hcmstYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vcG9pLWJ1dHRvbic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1tYXAtYnV0dG9uLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './poi-button.component';
2
- export * from './poi-dialog.component';
3
- export * from './shared';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL3BvaS1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wb2ktYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BvaS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbiJdfQ==