@igo2/context 18.0.1-next.2 → 18.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/igo2-context.mjs +5 -0
- package/esm2022/lib/context-import-export/context-import-export/context-import-export.component.mjs +156 -0
- package/esm2022/lib/context-import-export/context-import-export.module.mjs +24 -0
- package/esm2022/lib/context-import-export/index.mjs +3 -0
- package/esm2022/lib/context-import-export/shared/context-export.errors.mjs +15 -0
- package/esm2022/lib/context-import-export/shared/context-export.interface.mjs +2 -0
- 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/esm2022/lib/context-import-export/shared/index.mjs +8 -0
- package/esm2022/lib/context-manager/context-edit/context-edit-binding.directive.mjs +56 -0
- package/esm2022/lib/context-manager/context-edit/context-edit.component.mjs +35 -0
- package/esm2022/lib/context-manager/context-edit/index.mjs +3 -0
- package/esm2022/lib/context-manager/context-form/context-form.component.mjs +117 -0
- package/esm2022/lib/context-manager/context-form/index.mjs +2 -0
- package/esm2022/lib/context-manager/context-item/context-item.component.mjs +96 -0
- package/esm2022/lib/context-manager/context-item/index.mjs +2 -0
- 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 +424 -0
- package/esm2022/lib/context-manager/context-list/context-list.enum.mjs +7 -0
- package/esm2022/lib/context-manager/context-list/index.mjs +3 -0
- package/esm2022/lib/context-manager/context-manager.directive.mjs +19 -0
- package/esm2022/lib/context-manager/context-manager.module.mjs +77 -0
- package/esm2022/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +109 -0
- package/esm2022/lib/context-manager/context-permissions/context-permissions.component.mjs +170 -0
- package/esm2022/lib/context-manager/context-permissions/index.mjs +3 -0
- package/esm2022/lib/context-manager/index.mjs +8 -0
- package/esm2022/lib/context-manager/shared/context.enum.mjs +13 -0
- package/esm2022/lib/context-manager/shared/context.interface.mjs +2 -0
- package/esm2022/lib/context-manager/shared/context.service.mjs +616 -0
- package/esm2022/lib/context-manager/shared/index.mjs +6 -0
- package/esm2022/lib/context-manager/shared/layer-context.directive.mjs +176 -0
- package/esm2022/lib/context-manager/shared/map-context.directive.mjs +68 -0
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +69 -0
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +37 -0
- package/esm2022/lib/context-map-button/bookmark-button/index.mjs +3 -0
- package/esm2022/lib/context-map-button/context-map-button.directive.mjs +10 -0
- package/esm2022/lib/context-map-button/context-map-button.module.mjs +48 -0
- package/esm2022/lib/context-map-button/index.mjs +5 -0
- package/esm2022/lib/context-map-button/poi-button/index.mjs +4 -0
- package/esm2022/lib/context-map-button/poi-button/poi-button.component.mjs +160 -0
- package/esm2022/lib/context-map-button/poi-button/poi-dialog.component.mjs +37 -0
- package/esm2022/lib/context-map-button/poi-button/shared/index.mjs +3 -0
- package/esm2022/lib/context-map-button/poi-button/shared/poi.interface.mjs +2 -0
- package/esm2022/lib/context-map-button/poi-button/shared/poi.service.mjs +38 -0
- package/esm2022/lib/context-map-button/user-button/index.mjs +3 -0
- package/esm2022/lib/context-map-button/user-button/user-button.animation.mjs +17 -0
- package/esm2022/lib/context-map-button/user-button/user-button.component.mjs +82 -0
- package/esm2022/lib/context-map-button/user-button/user-dialog.component.mjs +43 -0
- package/esm2022/lib/context.module.mjs +42 -0
- package/esm2022/lib/environment/environment.interface.mjs +2 -0
- package/esm2022/lib/environment/index.mjs +2 -0
- package/esm2022/lib/share-map/index.mjs +6 -0
- package/esm2022/lib/share-map/share-map/share-map-api.component.mjs +111 -0
- package/esm2022/lib/share-map/share-map/share-map-url.component.mjs +78 -0
- package/esm2022/lib/share-map/share-map/share-map.component.mjs +35 -0
- package/esm2022/lib/share-map/share-map.module.mjs +31 -0
- package/esm2022/lib/share-map/shared/index.mjs +2 -0
- package/esm2022/lib/share-map/shared/share-map.service.mjs +223 -0
- package/esm2022/lib/sidenav/index.mjs +2 -0
- package/esm2022/lib/sidenav/sidenav.component.mjs +122 -0
- package/esm2022/lib/sidenav/sidenav.module.mjs +24 -0
- package/esm2022/public_api.mjs +16 -0
- package/fesm2022/igo2-context.mjs +118 -118
- package/fesm2022/igo2-context.mjs.map +1 -1
- package/package.json +14 -12
|
@@ -0,0 +1,6 @@
|
|
|
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
|
|
@@ -0,0 +1,176 @@
|
|
|
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, isLayerGroupOptions, sortLayersByZindex } from '@igo2/geo';
|
|
5
|
+
import { ObjectUtils } from '@igo2/utils';
|
|
6
|
+
import { debounceTime, filter, first } from 'rxjs/operators';
|
|
7
|
+
import { addImportedFeaturesStyledToMap, addImportedFeaturesToMap } from '../../context-import-export/shared/context-import.utils';
|
|
8
|
+
import { ContextService } from './context.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@igo2/geo";
|
|
11
|
+
import * as i2 from "./context.service";
|
|
12
|
+
import * as i3 from "@igo2/core/config";
|
|
13
|
+
import * as i4 from "@igo2/core/route";
|
|
14
|
+
export class LayerContextDirective {
|
|
15
|
+
component;
|
|
16
|
+
contextService;
|
|
17
|
+
layerService;
|
|
18
|
+
configService;
|
|
19
|
+
styleListService;
|
|
20
|
+
styleService;
|
|
21
|
+
route;
|
|
22
|
+
context$$;
|
|
23
|
+
queryParams;
|
|
24
|
+
contextLayers = [];
|
|
25
|
+
removeLayersOnContextChange = true;
|
|
26
|
+
get map() {
|
|
27
|
+
return this.component.map;
|
|
28
|
+
}
|
|
29
|
+
constructor(component, contextService, layerService, configService, styleListService, styleService, route) {
|
|
30
|
+
this.component = component;
|
|
31
|
+
this.contextService = contextService;
|
|
32
|
+
this.layerService = layerService;
|
|
33
|
+
this.configService = configService;
|
|
34
|
+
this.styleListService = styleListService;
|
|
35
|
+
this.styleService = styleService;
|
|
36
|
+
this.route = route;
|
|
37
|
+
}
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
this.context$$ = this.contextService.context$
|
|
40
|
+
.pipe(filter((context) => context !== undefined))
|
|
41
|
+
.subscribe((context) => this.handleContextChange(context));
|
|
42
|
+
if (this.route &&
|
|
43
|
+
this.route.options.visibleOnLayersKey &&
|
|
44
|
+
this.route.options.visibleOffLayersKey &&
|
|
45
|
+
this.route.options.contextKey) {
|
|
46
|
+
this.route.queryParams
|
|
47
|
+
.pipe(first((params) => !ObjectUtils.isEmpty(params)))
|
|
48
|
+
.subscribe((params) => {
|
|
49
|
+
this.queryParams = params;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
ngOnDestroy() {
|
|
54
|
+
this.context$$.unsubscribe();
|
|
55
|
+
}
|
|
56
|
+
handleContextChange(context) {
|
|
57
|
+
if (context.layers === undefined) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (this.removeLayersOnContextChange === true) {
|
|
61
|
+
this.map.layerController.reset();
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.map.layerController.remove(...this.contextLayers);
|
|
65
|
+
}
|
|
66
|
+
this.contextLayers = [];
|
|
67
|
+
this.layerService.unavailableLayers = [];
|
|
68
|
+
const importExportOptions = this.configService.getConfig('importExport');
|
|
69
|
+
this.layerService
|
|
70
|
+
.createLayers(context.layers, context.uri)
|
|
71
|
+
.subscribe((layers) => {
|
|
72
|
+
this.handleAddLayers(layers);
|
|
73
|
+
if (context.extraFeatures) {
|
|
74
|
+
context.extraFeatures.forEach((featureCollection) => {
|
|
75
|
+
if (!importExportOptions?.importWithStyle) {
|
|
76
|
+
addImportedFeaturesToMap(featureCollection, this.map);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
addImportedFeaturesStyledToMap(featureCollection, this.map, this.styleListService, this.styleService);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
if (this.configService.getConfig('offline')?.enable) {
|
|
85
|
+
this.layerService
|
|
86
|
+
.createAsyncIdbLayers(context.uri)
|
|
87
|
+
.pipe(debounceTime(500))
|
|
88
|
+
.subscribe((layers) => this.handleAddLayers(layers));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
getFlattenOptions(options) {
|
|
92
|
+
return options.reduce((accumulator, option) => {
|
|
93
|
+
if (isLayerGroupOptions(option)) {
|
|
94
|
+
const children = option.children
|
|
95
|
+
? this.getFlattenOptions(option.children)
|
|
96
|
+
: [];
|
|
97
|
+
accumulator.push(option, ...children);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
accumulator.push(option);
|
|
101
|
+
}
|
|
102
|
+
return accumulator;
|
|
103
|
+
}, []);
|
|
104
|
+
}
|
|
105
|
+
handleAddLayers(layers) {
|
|
106
|
+
const layersFiltrered = layers
|
|
107
|
+
.filter((layer) => layer)
|
|
108
|
+
.map((layer) => {
|
|
109
|
+
layer.visible = this.computeLayerVisibilityFromUrl(layer);
|
|
110
|
+
return layer;
|
|
111
|
+
});
|
|
112
|
+
const layersSorted = sortLayersByZindex(layersFiltrered, 'asc');
|
|
113
|
+
this.contextLayers.concat(layersSorted);
|
|
114
|
+
this.map.layerController.add(...layersSorted);
|
|
115
|
+
}
|
|
116
|
+
computeLayerVisibilityFromUrl(layer) {
|
|
117
|
+
const params = this.queryParams;
|
|
118
|
+
const currentContext = this.contextService.context$.value.uri;
|
|
119
|
+
const currentLayerid = layer.id;
|
|
120
|
+
let visible = layer.visible;
|
|
121
|
+
if (!params || !currentLayerid) {
|
|
122
|
+
return visible;
|
|
123
|
+
}
|
|
124
|
+
const contextParams = params[this.route.options.contextKey];
|
|
125
|
+
if (contextParams === currentContext || !contextParams) {
|
|
126
|
+
let visibleOnLayersParams = '';
|
|
127
|
+
let visibleOffLayersParams = '';
|
|
128
|
+
let visiblelayers = [];
|
|
129
|
+
let invisiblelayers = [];
|
|
130
|
+
if (this.route.options.visibleOnLayersKey &&
|
|
131
|
+
params[this.route.options.visibleOnLayersKey]) {
|
|
132
|
+
visibleOnLayersParams =
|
|
133
|
+
params[this.route.options.visibleOnLayersKey];
|
|
134
|
+
}
|
|
135
|
+
if (this.route.options.visibleOffLayersKey &&
|
|
136
|
+
params[this.route.options.visibleOffLayersKey]) {
|
|
137
|
+
visibleOffLayersParams =
|
|
138
|
+
params[this.route.options.visibleOffLayersKey];
|
|
139
|
+
}
|
|
140
|
+
/* This order is important because to control whichever
|
|
141
|
+
the order of * param. First whe open and close everything.*/
|
|
142
|
+
if (visibleOnLayersParams === '*') {
|
|
143
|
+
visible = true;
|
|
144
|
+
}
|
|
145
|
+
if (visibleOffLayersParams === '*') {
|
|
146
|
+
visible = false;
|
|
147
|
+
}
|
|
148
|
+
// After, managing named layer by id (context.json OR id from datasource)
|
|
149
|
+
visiblelayers = visibleOnLayersParams.split(',');
|
|
150
|
+
invisiblelayers = visibleOffLayersParams.split(',');
|
|
151
|
+
if (visiblelayers.indexOf(currentLayerid) > -1 ||
|
|
152
|
+
visiblelayers.indexOf(currentLayerid.toString()) > -1) {
|
|
153
|
+
visible = true;
|
|
154
|
+
}
|
|
155
|
+
if (invisiblelayers.indexOf(currentLayerid) > -1 ||
|
|
156
|
+
invisiblelayers.indexOf(currentLayerid.toString()) > -1) {
|
|
157
|
+
visible = false;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return visible;
|
|
161
|
+
}
|
|
162
|
+
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 });
|
|
163
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LayerContextDirective, isStandalone: true, selector: "[igoLayerContext]", inputs: { removeLayersOnContextChange: "removeLayersOnContextChange" }, ngImport: i0 });
|
|
164
|
+
}
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerContextDirective, decorators: [{
|
|
166
|
+
type: Directive,
|
|
167
|
+
args: [{
|
|
168
|
+
selector: '[igoLayerContext]',
|
|
169
|
+
standalone: true
|
|
170
|
+
}]
|
|
171
|
+
}], ctorParameters: () => [{ type: i1.MapBrowserComponent }, { type: i2.ContextService }, { type: i1.LayerService }, { type: i3.ConfigService }, { type: i1.StyleListService }, { type: i1.StyleService }, { type: i4.RouteService, decorators: [{
|
|
172
|
+
type: Optional
|
|
173
|
+
}] }], propDecorators: { removeLayersOnContextChange: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}] } });
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9sYXllci1jb250ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUNMLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ25CLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0QsT0FBTyxFQUNMLDhCQUE4QixFQUM5Qix3QkFBd0IsRUFDekIsTUFBTSx5REFBeUQsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQU1uRCxNQUFNLE9BQU8scUJBQXFCO0lBYXRCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNZO0lBbEJkLFNBQVMsQ0FBZTtJQUN4QixXQUFXLENBQVM7SUFFcEIsYUFBYSxHQUFlLEVBQUUsQ0FBQztJQUU5QiwyQkFBMkIsR0FBRyxJQUFJLENBQUM7SUFFNUMsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFDVSxTQUE4QixFQUM5QixjQUE4QixFQUM5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QUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDNUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDdkQsQ0FBQztnQkFDRCxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzt3R0EvS1UscUJBQXFCOzRGQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFvQkksUUFBUTt5Q0FiRiwyQkFBMkI7c0JBQW5DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBSb3V0ZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3JvdXRlJztcbmltcG9ydCB7XG4gIExheWVyU2VydmljZSxcbiAgTWFwQnJvd3NlckNvbXBvbmVudCxcbiAgU3R5bGVMaXN0U2VydmljZSxcbiAgU3R5bGVTZXJ2aWNlLFxuICBpc0xheWVyR3JvdXBPcHRpb25zLFxuICBzb3J0TGF5ZXJzQnlaaW5kZXhcbn0gZnJvbSAnQGlnbzIvZ2VvJztcbmltcG9ydCB0eXBlIHsgQW55TGF5ZXIsIEFueUxheWVyT3B0aW9ucywgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgYWRkSW1wb3J0ZWRGZWF0dXJlc1N0eWxlZFRvTWFwLFxuICBhZGRJbXBvcnRlZEZlYXR1cmVzVG9NYXBcbn0gZnJvbSAnLi4vLi4vY29udGV4dC1pbXBvcnQtZXhwb3J0L3NoYXJlZC9jb250ZXh0LWltcG9ydC51dGlscyc7XG5pbXBvcnQgeyBEZXRhaWxlZENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZXh0LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaWdvTGF5ZXJDb250ZXh0XScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTGF5ZXJDb250ZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGNvbnRleHQkJDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHF1ZXJ5UGFyYW1zOiBQYXJhbXM7XG5cbiAgcHJpdmF0ZSBjb250ZXh0TGF5ZXJzOiBBbnlMYXllcltdID0gW107XG5cbiAgQElucHV0KCkgcmVtb3ZlTGF5ZXJzT25Db250ZXh0Q2hhbmdlID0gdHJ1ZTtcblxuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lm1hcDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tcG9uZW50OiBNYXBCcm93c2VyQ29tcG9uZW50LFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3R5bGVMaXN0U2VydmljZTogU3R5bGVMaXN0U2VydmljZSxcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IFJvdXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250ZXh0JCQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmNvbnRleHQkXG4gICAgICAucGlwZShmaWx0ZXIoKGNvbnRleHQpID0+IGNvbnRleHQgIT09IHVuZGVmaW5lZCkpXG4gICAgICAuc3Vic2NyaWJlKChjb250ZXh0KSA9PiB0aGlzLmhhbmRsZUNvbnRleHRDaGFuZ2UoY29udGV4dCkpO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5yb3V0ZSAmJlxuICAgICAgdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPbkxheWVyc0tleSAmJlxuICAgICAgdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPZmZMYXllcnNLZXkgJiZcbiAgICAgIHRoaXMucm91dGUub3B0aW9ucy5jb250ZXh0S2V5XG4gICAgKSB7XG4gICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zXG4gICAgICAgIC5waXBlKGZpcnN0KChwYXJhbXMpID0+ICFPYmplY3RVdGlscy5pc0VtcHR5KHBhcmFtcykpKVxuICAgICAgICAuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zID0gcGFyYW1zO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNvbnRleHQkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDb250ZXh0Q2hhbmdlKGNvbnRleHQ6IERldGFpbGVkQ29udGV4dCkge1xuICAgIGlmIChjb250ZXh0LmxheWVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVtb3ZlTGF5ZXJzT25Db250ZXh0Q2hhbmdlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIucmVzZXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXAubGF5ZXJDb250cm9sbGVyLnJlbW92ZSguLi50aGlzLmNvbnRleHRMYXllcnMpO1xuICAgIH1cbiAgICB0aGlzLmNvbnRleHRMYXllcnMgPSBbXTtcbiAgICB0aGlzLmxheWVyU2VydmljZS51bmF2YWlsYWJsZUxheWVycyA9IFtdO1xuXG4gICAgY29uc3QgaW1wb3J0RXhwb3J0T3B0aW9ucyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ2ltcG9ydEV4cG9ydCcpO1xuXG4gICAgdGhpcy5sYXllclNlcnZpY2VcbiAgICAgIC5jcmVhdGVMYXllcnMoY29udGV4dC5sYXllcnMsIGNvbnRleHQudXJpKVxuICAgICAgLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlQWRkTGF5ZXJzKGxheWVycyk7XG5cbiAgICAgICAgaWYgKGNvbnRleHQuZXh0cmFGZWF0dXJlcykge1xuICAgICAgICAgIGNvbnRleHQuZXh0cmFGZWF0dXJlcy5mb3JFYWNoKChmZWF0dXJlQ29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgICAgaWYgKCFpbXBvcnRFeHBvcnRPcHRpb25zPy5pbXBvcnRXaXRoU3R5bGUpIHtcbiAgICAgICAgICAgICAgYWRkSW1wb3J0ZWRGZWF0dXJlc1RvTWFwKGZlYXR1cmVDb2xsZWN0aW9uLCB0aGlzLm1hcCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhZGRJbXBvcnRlZEZlYXR1cmVzU3R5bGVkVG9NYXAoXG4gICAgICAgICAgICAgICAgZmVhdHVyZUNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgdGhpcy5tYXAsXG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZUxpc3RTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVTZXJ2aWNlXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ29mZmxpbmUnKT8uZW5hYmxlKSB7XG4gICAgICB0aGlzLmxheWVyU2VydmljZVxuICAgICAgICAuY3JlYXRlQXN5bmNJZGJMYXllcnMoY29udGV4dC51cmkpXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApKVxuICAgICAgICAuc3Vic2NyaWJlKChsYXllcnMpID0+IHRoaXMuaGFuZGxlQWRkTGF5ZXJzKGxheWVycykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmxhdHRlbk9wdGlvbnMob3B0aW9uczogQW55TGF5ZXJPcHRpb25zW10pOiBBbnlMYXllck9wdGlvbnNbXSB7XG4gICAgcmV0dXJuIG9wdGlvbnMucmVkdWNlKChhY2N1bXVsYXRvciwgb3B0aW9uKSA9PiB7XG4gICAgICBpZiAoaXNMYXllckdyb3VwT3B0aW9ucyhvcHRpb24pKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gb3B0aW9uLmNoaWxkcmVuXG4gICAgICAgICAgPyB0aGlzLmdldEZsYXR0ZW5PcHRpb25zKG9wdGlvbi5jaGlsZHJlbilcbiAgICAgICAgICA6IFtdO1xuICAgICAgICBhY2N1bXVsYXRvci5wdXNoKG9wdGlvbiwgLi4uY2hpbGRyZW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWNjdW11bGF0b3IucHVzaChvcHRpb24pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQWRkTGF5ZXJzKGxheWVyczogKEFueUxheWVyIHwgdW5kZWZpbmVkKVtdKSB7XG4gICAgY29uc3QgbGF5ZXJzRmlsdHJlcmVkID0gbGF5ZXJzXG4gICAgICAuZmlsdGVyKChsYXllcikgPT4gbGF5ZXIpXG4gICAgICAubWFwKChsYXllcikgPT4ge1xuICAgICAgICBsYXllci52aXNpYmxlID0gdGhpcy5jb21wdXRlTGF5ZXJWaXNpYmlsaXR5RnJvbVVybChsYXllcik7XG4gICAgICAgIHJldHVybiBsYXllcjtcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgbGF5ZXJzU29ydGVkID0gc29ydExheWVyc0J5WmluZGV4KGxheWVyc0ZpbHRyZXJlZCwgJ2FzYycpO1xuICAgIHRoaXMuY29udGV4dExheWVycy5jb25jYXQobGF5ZXJzU29ydGVkKTtcbiAgICB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIuYWRkKC4uLmxheWVyc1NvcnRlZCk7XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVMYXllclZpc2liaWxpdHlGcm9tVXJsKGxheWVyOiBBbnlMYXllcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMucXVlcnlQYXJhbXM7XG4gICAgY29uc3QgY3VycmVudENvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmNvbnRleHQkLnZhbHVlLnVyaTtcbiAgICBjb25zdCBjdXJyZW50TGF5ZXJpZDogc3RyaW5nID0gbGF5ZXIuaWQ7XG5cbiAgICBsZXQgdmlzaWJsZSA9IGxheWVyLnZpc2libGU7XG4gICAgaWYgKCFwYXJhbXMgfHwgIWN1cnJlbnRMYXllcmlkKSB7XG4gICAgICByZXR1cm4gdmlzaWJsZTtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0UGFyYW1zID0gcGFyYW1zW3RoaXMucm91dGUub3B0aW9ucy5jb250ZXh0S2V5IGFzIHN0cmluZ107XG4gICAgaWYgKGNvbnRleHRQYXJhbXMgPT09IGN1cnJlbnRDb250ZXh0IHx8ICFjb250ZXh0UGFyYW1zKSB7XG4gICAgICBsZXQgdmlzaWJsZU9uTGF5ZXJzUGFyYW1zID0gJyc7XG4gICAgICBsZXQgdmlzaWJsZU9mZkxheWVyc1BhcmFtcyA9ICcnO1xuICAgICAgbGV0IHZpc2libGVsYXllcnM6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgaW52aXNpYmxlbGF5ZXJzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT25MYXllcnNLZXkgJiZcbiAgICAgICAgcGFyYW1zW3RoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT25MYXllcnNLZXkgYXMgc3RyaW5nXVxuICAgICAgKSB7XG4gICAgICAgIHZpc2libGVPbkxheWVyc1BhcmFtcyA9XG4gICAgICAgICAgcGFyYW1zW3RoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT25MYXllcnNLZXkgYXMgc3RyaW5nXTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPZmZMYXllcnNLZXkgJiZcbiAgICAgICAgcGFyYW1zW3RoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5IGFzIHN0cmluZ11cbiAgICAgICkge1xuICAgICAgICB2aXNpYmxlT2ZmTGF5ZXJzUGFyYW1zID1cbiAgICAgICAgICBwYXJhbXNbdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPZmZMYXllcnNLZXkgYXMgc3RyaW5nXTtcbiAgICAgIH1cblxuICAgICAgLyogVGhpcyBvcmRlciBpcyBpbXBvcnRhbnQgYmVjYXVzZSB0byBjb250cm9sIHdoaWNoZXZlclxuICAgICAgIHRoZSBvcmRlciBvZiAqIHBhcmFtLiBGaXJzdCB3aGUgb3BlbiBhbmQgY2xvc2UgZXZlcnl0aGluZy4qL1xuICAgICAgaWYgKHZpc2libGVPbkxheWVyc1BhcmFtcyA9PT0gJyonKSB7XG4gICAgICAgIHZpc2libGUgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVPZmZMYXllcnNQYXJhbXMgPT09ICcqJykge1xuICAgICAgICB2aXNpYmxlID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIC8vIEFmdGVyLCBtYW5hZ2luZyBuYW1lZCBsYXllciBieSBpZCAoY29udGV4dC5qc29uIE9SIGlkIGZyb20gZGF0YXNvdXJjZSlcbiAgICAgIHZpc2libGVsYXllcnMgPSB2aXNpYmxlT25MYXllcnNQYXJhbXMuc3BsaXQoJywnKTtcbiAgICAgIGludmlzaWJsZWxheWVycyA9IHZpc2libGVPZmZMYXllcnNQYXJhbXMuc3BsaXQoJywnKTtcbiAgICAgIGlmIChcbiAgICAgICAgdmlzaWJsZWxheWVycy5pbmRleE9mKGN1cnJlbnRMYXllcmlkKSA+IC0xIHx8XG4gICAgICAgIHZpc2libGVsYXllcnMuaW5kZXhPZihjdXJyZW50TGF5ZXJpZC50b1N0cmluZygpKSA+IC0xXG4gICAgICApIHtcbiAgICAgICAgdmlzaWJsZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGludmlzaWJsZWxheWVycy5pbmRleE9mKGN1cnJlbnRMYXllcmlkKSA+IC0xIHx8XG4gICAgICAgIGludmlzaWJsZWxheWVycy5pbmRleE9mKGN1cnJlbnRMYXllcmlkLnRvU3RyaW5nKCkpID4gLTFcbiAgICAgICkge1xuICAgICAgICB2aXNpYmxlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZpc2libGU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
const viewContext = context.map.view;
|
|
36
|
+
if (!this.component.view ||
|
|
37
|
+
viewContext.keepCurrentView !== true ||
|
|
38
|
+
context.map.view.projection !== this.map.projection) {
|
|
39
|
+
this.component.view = viewContext;
|
|
40
|
+
}
|
|
41
|
+
if (this.component.map.geolocationController) {
|
|
42
|
+
this.component.map.geolocationController.updateGeolocationOptions(viewContext);
|
|
43
|
+
}
|
|
44
|
+
const controlsContext = context.map.controls;
|
|
45
|
+
if (!this.component.controls && controlsContext) {
|
|
46
|
+
if (this.mediaService.isMobile()) {
|
|
47
|
+
if (typeof controlsContext.scaleLine !== 'boolean') {
|
|
48
|
+
const scaleLineOption = controlsContext.scaleLine;
|
|
49
|
+
if (!scaleLineOption.minWidth) {
|
|
50
|
+
scaleLineOption.minWidth = Math.min(64, scaleLineOption.minWidth);
|
|
51
|
+
controlsContext.scaleLine = scaleLineOption;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
this.component.controls = controlsContext;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
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 });
|
|
59
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MapContextDirective, isStandalone: true, selector: "[igoMapContext]", ngImport: i0 });
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapContextDirective, decorators: [{
|
|
62
|
+
type: Directive,
|
|
63
|
+
args: [{
|
|
64
|
+
selector: '[igoMapContext]',
|
|
65
|
+
standalone: true
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: () => [{ type: i1.MapBrowserComponent }, { type: i2.ContextService }, { type: i3.MediaService }] });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvbWFwLWNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsbUJBQW1CLEVBSXBCLE1BQU0sV0FBVyxDQUFDO0FBSW5CLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBTW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFVcEI7SUFDQTtJQVZGLFNBQVMsQ0FBc0I7SUFDL0IsU0FBUyxDQUFlO0lBRWhDLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ0UsU0FBOEIsRUFDdEIsY0FBOEIsRUFDOUIsWUFBMEI7UUFEMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRWxDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVE7YUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDO2FBQ2hELFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUF3QjtRQUNsRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBbUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDckQsSUFDRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSTtZQUNwQixXQUFXLENBQUMsZUFBZSxLQUFLLElBQUk7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUNuRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsV0FBNkIsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQUMvRCxXQUFXLENBQ1osQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBdUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2hELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLE9BQU8sZUFBZSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDbkQsTUFBTSxlQUFlLEdBQ25CLGVBQWUsQ0FBQyxTQUFnQyxDQUFDO29CQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUM5QixlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDbEUsZUFBZSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUM7b0JBQzlDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7d0dBM0RVLG1CQUFtQjs0RkFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZWRpYSc7XG5pbXBvcnQge1xuICBNYXBCcm93c2VyQ29tcG9uZW50LFxuICBNYXBDb250cm9sc09wdGlvbnMsXG4gIE1hcFNjYWxlTGluZU9wdGlvbnMsXG4gIE1hcFZpZXdPcHRpb25zXG59IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQgdHlwZSB7IElnb01hcCB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb250ZXh0TWFwVmlldywgRGV0YWlsZWRDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4vY29udGV4dC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb01hcENvbnRleHRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNYXBDb250ZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudDtcbiAgcHJpdmF0ZSBjb250ZXh0JCQ6IFN1YnNjcmlwdGlvbjtcblxuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lm1hcDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250ZXh0JCQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmNvbnRleHQkXG4gICAgICAucGlwZShmaWx0ZXIoKGNvbnRleHQpID0+IGNvbnRleHQgIT09IHVuZGVmaW5lZCkpXG4gICAgICAuc3Vic2NyaWJlKChjb250ZXh0KSA9PiB0aGlzLmhhbmRsZUNvbnRleHRDaGFuZ2UoY29udGV4dCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jb250ZXh0JCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udGV4dENoYW5nZShjb250ZXh0OiBEZXRhaWxlZENvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dC5tYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdDb250ZXh0OiBDb250ZXh0TWFwVmlldyA9IGNvbnRleHQubWFwLnZpZXc7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuY29tcG9uZW50LnZpZXcgfHxcbiAgICAgIHZpZXdDb250ZXh0LmtlZXBDdXJyZW50VmlldyAhPT0gdHJ1ZSB8fFxuICAgICAgY29udGV4dC5tYXAudmlldy5wcm9qZWN0aW9uICE9PSB0aGlzLm1hcC5wcm9qZWN0aW9uXG4gICAgKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC52aWV3ID0gdmlld0NvbnRleHQgYXMgTWFwVmlld09wdGlvbnM7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbXBvbmVudC5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLnVwZGF0ZUdlb2xvY2F0aW9uT3B0aW9ucyhcbiAgICAgICAgdmlld0NvbnRleHRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbHNDb250ZXh0OiBNYXBDb250cm9sc09wdGlvbnMgPSBjb250ZXh0Lm1hcC5jb250cm9scztcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50LmNvbnRyb2xzICYmIGNvbnRyb2xzQ29udGV4dCkge1xuICAgICAgaWYgKHRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBjb250cm9sc0NvbnRleHQuc2NhbGVMaW5lICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICBjb25zdCBzY2FsZUxpbmVPcHRpb24gPVxuICAgICAgICAgICAgY29udHJvbHNDb250ZXh0LnNjYWxlTGluZSBhcyBNYXBTY2FsZUxpbmVPcHRpb25zO1xuICAgICAgICAgIGlmICghc2NhbGVMaW5lT3B0aW9uLm1pbldpZHRoKSB7XG4gICAgICAgICAgICBzY2FsZUxpbmVPcHRpb24ubWluV2lkdGggPSBNYXRoLm1pbig2NCwgc2NhbGVMaW5lT3B0aW9uLm1pbldpZHRoKTtcbiAgICAgICAgICAgIGNvbnRyb2xzQ29udGV4dC5zY2FsZUxpbmUgPSBzY2FsZUxpbmVPcHRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmNvbXBvbmVudC5jb250cm9scyA9IGNvbnRyb2xzQ29udGV4dDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './bookmark-button.component';
|
|
2
|
+
export * from './bookmark-dialog.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jvb2ttYXJrLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ib29rbWFyay1kaWFsb2cuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
|
@@ -0,0 +1,48 @@
|
|
|
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=
|
|
@@ -0,0 +1,5 @@
|
|
|
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=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './poi-button.component';
|
|
2
|
+
export * from './poi-dialog.component';
|
|
3
|
+
export * from './shared';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL3BvaS1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wb2ktYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BvaS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbiJdfQ==
|