@artstesh/maps 1.0.6 → 1.0.7
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/dist/bundles/maps-components-src-map.umd.js +306 -19
- package/dist/bundles/maps-components-src-map.umd.js.map +1 -1
- package/dist/bundles/maps-components.umd.js +306 -19
- package/dist/bundles/maps-components.umd.js.map +1 -1
- package/dist/esm2015/map/helpers/index.js +2 -1
- package/dist/esm2015/map/helpers/marker-style.helper.js +5 -1
- package/dist/esm2015/map/helpers/text-style.helper.js +14 -0
- package/dist/esm2015/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.js +60 -0
- package/dist/esm2015/map/map-plate/layers/cluster-layer/cluster-layer.component.js +56 -0
- package/dist/esm2015/map/map-plate/layers/cluster-layer/cluster-layer.manager.js +19 -0
- package/dist/esm2015/map/map-plate/layers/cluster-layer/cluster-layer.settings.js +61 -0
- package/dist/esm2015/map/map-plate/layers/index.js +3 -1
- package/dist/esm2015/map/map-plate/map-plate.component.js +4 -3
- package/dist/esm2015/map/map.module.js +8 -3
- package/dist/esm2015/map/messages/commands/add-layer.command.js +1 -1
- package/dist/esm2015/map/messages/commands/fit-to-features.command.js +13 -0
- package/dist/esm2015/map/messages/events/map-click.event.js +3 -2
- package/dist/esm2015/map/models/i-identified.js +2 -0
- package/dist/esm2015/map/models/map.constants.js +4 -0
- package/dist/esm2015/map/models/marker-model.js +3 -2
- package/dist/esm2015/map/services/map-click.service.js +7 -3
- package/dist/esm2015/map/services/map-feature.service.js +39 -0
- package/dist/esm2015/map/services/map-management.service.js +7 -4
- package/dist/esm2015/map/services/message-registrator.service.js +9 -6
- package/dist/esm2015/src/map/helpers/index.js +2 -1
- package/dist/esm2015/src/map/helpers/marker-style.helper.js +5 -1
- package/dist/esm2015/src/map/helpers/text-style.helper.js +14 -0
- package/dist/esm2015/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.js +60 -0
- package/dist/esm2015/src/map/map-plate/layers/cluster-layer/cluster-layer.component.js +56 -0
- package/dist/esm2015/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.js +19 -0
- package/dist/esm2015/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.js +61 -0
- package/dist/esm2015/src/map/map-plate/layers/index.js +3 -1
- package/dist/esm2015/src/map/map-plate/map-plate.component.js +4 -3
- package/dist/esm2015/src/map/map.module.js +8 -3
- package/dist/esm2015/src/map/messages/commands/add-layer.command.js +1 -1
- package/dist/esm2015/src/map/messages/commands/fit-to-features.command.js +13 -0
- package/dist/esm2015/src/map/messages/events/map-click.event.js +3 -2
- package/dist/esm2015/src/map/models/i-identified.js +2 -0
- package/dist/esm2015/src/map/models/map.constants.js +4 -0
- package/dist/esm2015/src/map/models/marker-model.js +3 -2
- package/dist/esm2015/src/map/services/map-click.service.js +7 -3
- package/dist/esm2015/src/map/services/map-feature.service.js +39 -0
- package/dist/esm2015/src/map/services/map-management.service.js +7 -4
- package/dist/esm2015/src/map/services/message-registrator.service.js +9 -6
- package/dist/fesm2015/maps-components-src-map.js +273 -18
- package/dist/fesm2015/maps-components-src-map.js.map +1 -1
- package/dist/fesm2015/maps-components.js +273 -18
- package/dist/fesm2015/maps-components.js.map +1 -1
- package/dist/map/helpers/index.d.ts +1 -0
- package/dist/map/helpers/marker-style.helper.d.ts +2 -0
- package/dist/map/helpers/text-style.helper.d.ts +4 -0
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -0
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -0
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +11 -0
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +20 -0
- package/dist/map/map-plate/layers/index.d.ts +2 -0
- package/dist/map/map.module.d.ts +3 -2
- package/dist/map/messages/commands/add-layer.command.d.ts +3 -2
- package/dist/map/messages/commands/fit-to-features.command.d.ts +10 -0
- package/dist/map/messages/events/map-click.event.d.ts +10 -2
- package/dist/map/models/i-identified.d.ts +3 -0
- package/dist/map/models/map.constants.d.ts +3 -0
- package/dist/map/services/map-feature.service.d.ts +14 -0
- package/dist/map/services/message-registrator.service.d.ts +2 -1
- package/dist/src/map/helpers/index.d.ts +1 -0
- package/dist/src/map/helpers/marker-style.helper.d.ts +2 -0
- package/dist/src/map/helpers/text-style.helper.d.ts +4 -0
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -0
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -0
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +11 -0
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +20 -0
- package/dist/src/map/map-plate/layers/index.d.ts +2 -0
- package/dist/src/map/map.module.d.ts +3 -2
- package/dist/src/map/messages/commands/add-layer.command.d.ts +3 -2
- package/dist/src/map/messages/commands/fit-to-features.command.d.ts +10 -0
- package/dist/src/map/messages/events/map-click.event.d.ts +10 -2
- package/dist/src/map/models/i-identified.d.ts +3 -0
- package/dist/src/map/models/map.constants.d.ts +3 -0
- package/dist/src/map/services/map-feature.service.d.ts +14 -0
- package/dist/src/map/services/message-registrator.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './marker-style.helper';
|
|
2
2
|
export * from './polygon-style.helper';
|
|
3
|
-
|
|
3
|
+
export * from './text-style.helper';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZXItc3R5bGUuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWdvbi1zdHlsZS5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LXN0eWxlLmhlbHBlcic7XG4iXX0=
|
|
@@ -21,5 +21,9 @@ export class MarkerStyleHelper {
|
|
|
21
21
|
}),
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
+
static withText(style, text) {
|
|
25
|
+
style.setText(text);
|
|
26
|
+
return style;
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXN0eWxlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL2hlbHBlcnMvbWFya2VyLXN0eWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFRLE1BQU0sVUFBVSxDQUFDO0FBRTVELE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsT0FBeUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxHQUFHLEdBQUc7UUFDaEYsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsR0FBRyxHQUFHLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNkLEdBQUcsRUFBRSxLQUFLO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztZQUNGLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLFdBQW1CLEVBQUUsV0FBVyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsTUFBTTtnQkFDTixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQy9ELENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFZLEVBQUUsSUFBVTtRQUM3QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlIGZyb20gJ29sL3N0eWxlL1N0eWxlJztcbmltcG9ydCB7IENpcmNsZSwgRmlsbCwgSWNvbiwgU3Ryb2tlLCBUZXh0IH0gZnJvbSAnb2wvc3R5bGUnO1xuXG5leHBvcnQgY2xhc3MgTWFya2VyU3R5bGVIZWxwZXIge1xuICBwdWJsaWMgc3RhdGljIGZyb21Tdmcoc3ZnOiBzdHJpbmcsIHNpemU6IFtudW1iZXIsIG51bWJlcl0gPSBbMzAsIDMwXSwgekluZGV4ID0gNDAwKTogU3R5bGUge1xuICAgIGxldCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgIGltYWdlLnNyYyA9ICdkYXRhOmltYWdlL3N2Zyt4bWwsJyArIGVzY2FwZShzdmcpO1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBJY29uKHtcbiAgICAgICAgaW1nOiBpbWFnZSxcbiAgICAgICAgaW1nU2l6ZTogc2l6ZSxcbiAgICAgIH0pLFxuICAgICAgekluZGV4LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjaXJjbGUocmFkaXVzOiBudW1iZXIsIGZpbGw6IHN0cmluZywgc3Ryb2tlQ29sb3I6IHN0cmluZywgc3Ryb2tlV2lkdGggPSAxKTogU3R5bGUge1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBDaXJjbGUoe1xuICAgICAgICByYWRpdXMsXG4gICAgICAgIGZpbGw6IG5ldyBGaWxsKHsgY29sb3I6IGZpbGwgfSksXG4gICAgICAgIHN0cm9rZTogbmV3IFN0cm9rZSh7IGNvbG9yOiBzdHJva2VDb2xvciwgd2lkdGg6IHN0cm9rZVdpZHRoIH0pLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHdpdGhUZXh0KHN0eWxlOiBTdHlsZSwgdGV4dDogVGV4dCk6IFN0eWxlIHtcbiAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xuICAgIHJldHVybiBzdHlsZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Fill, Text } from 'ol/style';
|
|
2
|
+
export class TextStyleHelper {
|
|
3
|
+
static get(text, font, color) {
|
|
4
|
+
return new Text({
|
|
5
|
+
text: text,
|
|
6
|
+
font: font,
|
|
7
|
+
textAlign: 'center',
|
|
8
|
+
fill: new Fill({
|
|
9
|
+
color: color,
|
|
10
|
+
}),
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3RleHQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE1BQU0sT0FBTyxlQUFlO0lBQ25CLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxLQUFhO1FBQ3pELE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbGwsIFRleHQgfSBmcm9tICdvbC9zdHlsZSc7XG5leHBvcnQgY2xhc3MgVGV4dFN0eWxlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBnZXQodGV4dDogc3RyaW5nLCBmb250OiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcpOiBUZXh0IHtcbiAgICByZXR1cm4gbmV3IFRleHQoe1xuICAgICAgdGV4dDogdGV4dCxcbiAgICAgIGZvbnQ6IGZvbnQsXG4gICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogY29sb3IsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Vector as Source } from 'ol/source';
|
|
3
|
+
import { Vector as Layer } from 'ol/layer';
|
|
4
|
+
import { bbox } from 'ol/loadingstrategy';
|
|
5
|
+
import { fromExtent } from 'ol/geom/Polygon';
|
|
6
|
+
import Cluster from 'ol/source/Cluster';
|
|
7
|
+
import { ClusterLayerManager } from './cluster-layer.manager';
|
|
8
|
+
import { MapConstants } from '../../../models/map.constants';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class ClusterLayerFactory {
|
|
11
|
+
build(settings, postboy) {
|
|
12
|
+
const source = new Source({
|
|
13
|
+
strategy: settings.bbox ? bbox : undefined,
|
|
14
|
+
});
|
|
15
|
+
const cluster = new Cluster({
|
|
16
|
+
distance: settings.distance,
|
|
17
|
+
source: source,
|
|
18
|
+
geometryFunction: (feature) => {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
const geom = feature.getGeometry();
|
|
21
|
+
if ((geom === null || geom === void 0 ? void 0 : geom.getType()) == 'Point') {
|
|
22
|
+
return geom;
|
|
23
|
+
}
|
|
24
|
+
else if ((geom === null || geom === void 0 ? void 0 : geom.getType()) == 'Polygon') {
|
|
25
|
+
return (_a = geom) === null || _a === void 0 ? void 0 : _a.getInteriorPoint();
|
|
26
|
+
}
|
|
27
|
+
else if ((geom === null || geom === void 0 ? void 0 : geom.getType()) == 'MultiPolygon') {
|
|
28
|
+
return (_b = fromExtent(geom.getExtent())) === null || _b === void 0 ? void 0 : _b.getInteriorPoint();
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
const layer = new Layer({
|
|
34
|
+
source: cluster,
|
|
35
|
+
maxZoom: settings.maxZoom || undefined,
|
|
36
|
+
minZoom: settings.minZoom || undefined,
|
|
37
|
+
zIndex: settings.zIndex || 0,
|
|
38
|
+
});
|
|
39
|
+
layer.setStyle(this.styleFunc(settings));
|
|
40
|
+
layer.set('name', settings.name);
|
|
41
|
+
return new ClusterLayerManager(settings, layer, postboy);
|
|
42
|
+
}
|
|
43
|
+
styleFunc(settings) {
|
|
44
|
+
return (feature) => {
|
|
45
|
+
const features = feature.get('features');
|
|
46
|
+
if (!settings.style)
|
|
47
|
+
return undefined;
|
|
48
|
+
return settings.style(features.map((f) => (Object.assign({ id: f.getId() }, f.get(MapConstants.FeatureInfo)))));
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
ClusterLayerFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ClusterLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
53
|
+
ClusterLayerFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ClusterLayerFactory, providedIn: 'root' });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ClusterLayerFactory, decorators: [{
|
|
55
|
+
type: Injectable,
|
|
56
|
+
args: [{
|
|
57
|
+
providedIn: 'root',
|
|
58
|
+
}]
|
|
59
|
+
}] });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSzdELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsS0FBSyxDQUFDLFFBQThCLEVBQUUsT0FBMEI7UUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMzQyxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztZQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsTUFBTSxFQUFFLE1BQU07WUFDZCxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFOztnQkFDNUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sRUFBRSxLQUFJLE9BQU8sRUFBRTtvQkFDOUIsT0FBTyxJQUFhLENBQUM7aUJBQ3RCO3FCQUFNLElBQUksQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsT0FBTyxFQUFFLEtBQUksU0FBUyxFQUFFO29CQUN2QyxPQUFPLE1BQUMsSUFBZ0IsMENBQUUsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDOUM7cUJBQU0sSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxPQUFPLEVBQUUsS0FBSSxjQUFjLEVBQUU7b0JBQzVDLE9BQU8sTUFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLDBDQUFFLGdCQUFnQixFQUFFLENBQUM7aUJBQ3pEO2dCQUNELE9BQU8sU0FBZ0IsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUM7WUFDdEIsTUFBTSxFQUFFLE9BQU87WUFDZixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxTQUFTO1lBQ3RDLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLFNBQVM7WUFDdEMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQztTQUM3QixDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN6QyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxRQUE4QjtRQUN0QyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDakIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQXdCLENBQUM7WUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO2dCQUFFLE9BQU8sU0FBUyxDQUFDO1lBQ3RDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRyxJQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUMsQ0FBQztJQUNKLENBQUM7O2lIQXJDVSxtQkFBbUI7cUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4vY2x1c3Rlci1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgU291cmNlIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCB7IGJib3ggfSBmcm9tICdvbC9sb2FkaW5nc3RyYXRlZ3knO1xuaW1wb3J0IFBvbHlnb24sIHsgZnJvbUV4dGVudCB9IGZyb20gJ29sL2dlb20vUG9seWdvbic7XG5pbXBvcnQgQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XG5pbXBvcnQgeyBHZW9tZXRyeSwgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IENsdXN0ZXJMYXllck1hbmFnZXIgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIubWFuYWdlcic7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IFN0eWxlLCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyRmFjdG9yeSB7XG4gIHB1YmxpYyBidWlsZChzZXR0aW5nczogQ2x1c3RlckxheWVyU2V0dGluZ3MsIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKTogQ2x1c3RlckxheWVyTWFuYWdlciB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFNvdXJjZSh7XG4gICAgICBzdHJhdGVneTogc2V0dGluZ3MuYmJveCA/IGJib3ggOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgY29uc3QgY2x1c3RlciA9IG5ldyBDbHVzdGVyKHtcbiAgICAgIGRpc3RhbmNlOiBzZXR0aW5ncy5kaXN0YW5jZSxcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgZ2VvbWV0cnlGdW5jdGlvbjogKGZlYXR1cmUpID0+IHtcbiAgICAgICAgY29uc3QgZ2VvbSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcbiAgICAgICAgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnUG9pbnQnKSB7XG4gICAgICAgICAgcmV0dXJuIGdlb20gYXMgUG9pbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoZ2VvbT8uZ2V0VHlwZSgpID09ICdQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiAoZ2VvbSBhcyBQb2x5Z29uKT8uZ2V0SW50ZXJpb3JQb2ludCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnTXVsdGlQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiBmcm9tRXh0ZW50KGdlb20uZ2V0RXh0ZW50KCkpPy5nZXRJbnRlcmlvclBvaW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGxheWVyID0gbmV3IExheWVyKHtcbiAgICAgIHNvdXJjZTogY2x1c3RlcixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgdW5kZWZpbmVkLFxuICAgICAgbWluWm9vbTogc2V0dGluZ3MubWluWm9vbSB8fCB1bmRlZmluZWQsXG4gICAgICB6SW5kZXg6IHNldHRpbmdzLnpJbmRleCB8fCAwLFxuICAgIH0pO1xuICAgIGxheWVyLnNldFN0eWxlKHRoaXMuc3R5bGVGdW5jKHNldHRpbmdzKSk7XG4gICAgbGF5ZXIuc2V0KCduYW1lJywgc2V0dGluZ3MubmFtZSk7XG4gICAgcmV0dXJuIG5ldyBDbHVzdGVyTGF5ZXJNYW5hZ2VyKHNldHRpbmdzLCBsYXllciwgcG9zdGJveSk7XG4gIH1cblxuICBzdHlsZUZ1bmMoc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzKTogU3R5bGVGdW5jdGlvbiB7XG4gICAgcmV0dXJuIChmZWF0dXJlKSA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlcyA9IGZlYXR1cmUuZ2V0KCdmZWF0dXJlcycpIGFzIEZlYXR1cmU8R2VvbWV0cnk+W107XG4gICAgICBpZiAoIXNldHRpbmdzLnN0eWxlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHNldHRpbmdzLnN0eWxlKGZlYXR1cmVzLm1hcCgoZikgPT4gKHsgaWQ6IGYuZ2V0SWQoKSEsIC4uLmYuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbykgfSkpKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
+
import { MapRenderedEvent } from '../../../messages';
|
|
4
|
+
import { filter, first } from 'rxjs/operators';
|
|
5
|
+
import { AddLayerCommand } from '../../../messages/commands/add-layer.command';
|
|
6
|
+
import { RemoveLayerCommand } from '../../../messages/commands/remove-layer.command';
|
|
7
|
+
import { ClusterLayerSettings } from './cluster-layer.settings';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../../services/map-postboy.service";
|
|
10
|
+
import * as i2 from "./cluster-layer-factory.service";
|
|
11
|
+
export class ClusterLayerComponent extends DestructibleComponent {
|
|
12
|
+
constructor(postboy, factory) {
|
|
13
|
+
super();
|
|
14
|
+
this.postboy = postboy;
|
|
15
|
+
this.factory = factory;
|
|
16
|
+
this.manager = null;
|
|
17
|
+
this._settings = new ClusterLayerSettings();
|
|
18
|
+
this.onDestroy = () => this.removeLayer();
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.postboy
|
|
22
|
+
.subscribe(MapRenderedEvent.ID)
|
|
23
|
+
.pipe(filter((m) => !!m), first())
|
|
24
|
+
.subscribe((m) => this.initLayer());
|
|
25
|
+
}
|
|
26
|
+
set settings(value) {
|
|
27
|
+
if (!value || this._settings.isSame(value))
|
|
28
|
+
return;
|
|
29
|
+
this._settings = value;
|
|
30
|
+
this.initLayer();
|
|
31
|
+
}
|
|
32
|
+
initLayer() {
|
|
33
|
+
this.removeLayer();
|
|
34
|
+
this.manager = this.factory.build(this._settings, this.postboy);
|
|
35
|
+
this.postboy.fire(new AddLayerCommand(this.manager.layer));
|
|
36
|
+
}
|
|
37
|
+
removeLayer() {
|
|
38
|
+
var _a;
|
|
39
|
+
if ((_a = this.manager) === null || _a === void 0 ? void 0 : _a.layer)
|
|
40
|
+
this.postboy.fire(new RemoveLayerCommand(this.manager.layer));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
ClusterLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ClusterLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.ClusterLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
ClusterLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ClusterLayerComponent, selector: "lib-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ClusterLayerComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{
|
|
48
|
+
selector: 'lib-cluster-layer',
|
|
49
|
+
template: '',
|
|
50
|
+
styleUrls: [],
|
|
51
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.ClusterLayerFactory }]; }, propDecorators: { settings: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFTaEUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUk5RCxZQUFvQixPQUEwQixFQUFVLE9BQTRCO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUg3RSxZQUFPLEdBQStCLElBQUksQ0FBQztRQUNsRCxjQUFTLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQXNCN0QsY0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQWxCckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTzthQUNULFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2FBQ2hELElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEIsS0FBSyxFQUFFLENBQ1I7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFhLFFBQVEsQ0FBQyxLQUF1QztRQUMzRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFJTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxXQUFXOztRQUNqQixJQUFJLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7O21IQWxDVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixrSEFKdEIsRUFBRTs0RkFJRCxxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osU0FBUyxFQUFFLEVBQUU7b0JBQ2IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzBJQW1CYyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyTWFuYWdlciB9IGZyb20gJy4vY2x1c3Rlci1sYXllci5tYW5hZ2VyJztcbmltcG9ydCB7IENsdXN0ZXJMYXllclNldHRpbmdzIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IENsdXN0ZXJMYXllckZhY3RvcnkgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXItZmFjdG9yeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNsdXN0ZXItbGF5ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDbHVzdGVyTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgbWFuYWdlcjogQ2x1c3RlckxheWVyTWFuYWdlciB8IG51bGwgPSBudWxsO1xuICBfc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzID0gbmV3IENsdXN0ZXJMYXllclNldHRpbmdzKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSwgcHJpdmF0ZSBmYWN0b3J5OiBDbHVzdGVyTGF5ZXJGYWN0b3J5KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG0pID0+IHRoaXMuaW5pdExheWVyKCkpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHRoaXMucmVtb3ZlTGF5ZXIoKTtcblxuICBwcml2YXRlIGluaXRMYXllcigpIHtcbiAgICB0aGlzLnJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5tYW5hZ2VyID0gdGhpcy5mYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzLCB0aGlzLnBvc3Rib3kpO1xuICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBBZGRMYXllckNvbW1hbmQodGhpcy5tYW5hZ2VyLmxheWVyKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxheWVyKCkge1xuICAgIGlmICh0aGlzLm1hbmFnZXI/LmxheWVyKSB0aGlzLnBvc3Rib3kuZmlyZShuZXcgUmVtb3ZlTGF5ZXJDb21tYW5kKHRoaXMubWFuYWdlci5sYXllcikpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MapClickEvent } from '../../../messages';
|
|
2
|
+
import { FitToFeaturesCommand } from '../../../messages/commands/fit-to-features.command';
|
|
3
|
+
export class ClusterLayerManager {
|
|
4
|
+
constructor(settings, layer, postboy) {
|
|
5
|
+
this.settings = settings;
|
|
6
|
+
this.layer = layer;
|
|
7
|
+
this.postboy = postboy;
|
|
8
|
+
this.observeClick();
|
|
9
|
+
}
|
|
10
|
+
observeClick() {
|
|
11
|
+
this.postboy.subscribe(MapClickEvent.ID).subscribe((m) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
if (((_b = (_a = m.features[this.settings.name]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 1) {
|
|
14
|
+
this.postboy.fire(new FitToFeaturesCommand(m.features[this.settings.name], -1));
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIubWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUNVLFFBQThCLEVBQ3RCLEtBQXFCLEVBQzdCLE9BQTBCO1FBRjFCLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBRWxDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBZ0IsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOztZQUN0RSxJQUFJLENBQUMsTUFBQSxNQUFBLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsMENBQUUsTUFBTSxtQ0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNqRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4vY2x1c3Rlci1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBGaXRUb0ZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2ZpdC10by1mZWF0dXJlcy5jb21tYW5kJztcblxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllck1hbmFnZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNldHRpbmdzOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5ZXI6IExheWVyPENsdXN0ZXI+LFxuICAgIHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMub2JzZXJ2ZUNsaWNrKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDbGljaygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcENsaWNrRXZlbnQ+KE1hcENsaWNrRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgaWYgKChtLmZlYXR1cmVzW3RoaXMuc2V0dGluZ3MubmFtZV0/Lmxlbmd0aCA/PyAwKSA+IDEpIHtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEZpdFRvRmVhdHVyZXNDb21tYW5kKG0uZmVhdHVyZXNbdGhpcy5zZXR0aW5ncy5uYW1lXSwgLTEpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { IdGenerator } from '../../../common/id.generator';
|
|
2
|
+
export class ClusterLayerSettings {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.name = IdGenerator.get();
|
|
5
|
+
this.zIndex = 1;
|
|
6
|
+
this.maxZoom = 19;
|
|
7
|
+
this.minZoom = 0;
|
|
8
|
+
this.distance = 20;
|
|
9
|
+
this.bbox = false;
|
|
10
|
+
}
|
|
11
|
+
static copy(model) {
|
|
12
|
+
const result = new ClusterLayerSettings();
|
|
13
|
+
result.name = model.name;
|
|
14
|
+
result.maxZoom = model.maxZoom;
|
|
15
|
+
result.minZoom = model.minZoom;
|
|
16
|
+
result.zIndex = model.zIndex;
|
|
17
|
+
result.bbox = model.bbox;
|
|
18
|
+
result.distance = model.distance;
|
|
19
|
+
result.style = model.style;
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
setZIndex(zIndex) {
|
|
23
|
+
return ClusterLayerSettings.copy(Object.assign(Object.assign({}, this), { zIndex }));
|
|
24
|
+
}
|
|
25
|
+
setDistance(distance) {
|
|
26
|
+
return ClusterLayerSettings.copy(Object.assign(Object.assign({}, this), { distance }));
|
|
27
|
+
}
|
|
28
|
+
setName(name) {
|
|
29
|
+
return ClusterLayerSettings.copy(Object.assign(Object.assign({}, this), { name }));
|
|
30
|
+
}
|
|
31
|
+
setMaxZoom(maxZoom) {
|
|
32
|
+
return ClusterLayerSettings.copy(Object.assign(Object.assign({}, this), { maxZoom }));
|
|
33
|
+
}
|
|
34
|
+
setMinZoom(minZoom) {
|
|
35
|
+
return ClusterLayerSettings.copy(Object.assign(Object.assign({}, this), { minZoom }));
|
|
36
|
+
}
|
|
37
|
+
setBbox(bbox) {
|
|
38
|
+
return ClusterLayerSettings.copy(Object.assign(Object.assign({}, this), { bbox }));
|
|
39
|
+
}
|
|
40
|
+
setStyle(style) {
|
|
41
|
+
return ClusterLayerSettings.copy(Object.assign(Object.assign({}, this), { style }));
|
|
42
|
+
}
|
|
43
|
+
isSame(model) {
|
|
44
|
+
if (this.maxZoom !== model.maxZoom)
|
|
45
|
+
return false;
|
|
46
|
+
if (this.minZoom !== model.minZoom)
|
|
47
|
+
return false;
|
|
48
|
+
if (this.zIndex !== model.zIndex)
|
|
49
|
+
return false;
|
|
50
|
+
if (this.name !== model.name)
|
|
51
|
+
return false;
|
|
52
|
+
if (this.distance !== model.distance)
|
|
53
|
+
return false;
|
|
54
|
+
if (this.bbox !== model.bbox)
|
|
55
|
+
return false;
|
|
56
|
+
if (this.style !== model.style)
|
|
57
|
+
return false;
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUkzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQWpDO1FBQ0UsU0FBSSxHQUFXLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqQyxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBWSxLQUFLLENBQUM7SUFxRHhCLENBQUM7SUFsRFEsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUEyQjtRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN6QixNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDakMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixPQUFPLG9CQUFvQixDQUFDLElBQUksaUNBQU0sSUFBSSxLQUFFLE1BQU0sSUFBRyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxRQUFRLElBQUcsQ0FBQztJQUMxRCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVk7UUFDbEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxJQUFJLElBQUcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxPQUFPLElBQUcsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxPQUFPLElBQUcsQ0FBQztJQUN6RCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWE7UUFDbkIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLGlDQUFNLElBQUksS0FBRSxJQUFJLElBQUcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXlEO1FBQ2hFLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxpQ0FBTSxJQUFJLEtBQUUsS0FBSyxJQUFHLENBQUM7SUFDdkQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUEyQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU07WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNuRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUs7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElkR2VuZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2lkLmdlbmVyYXRvcic7XG5pbXBvcnQgU3R5bGUsIHsgU3R5bGVGdW5jdGlvbiB9IGZyb20gJ29sL3N0eWxlL1N0eWxlJztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5cbmV4cG9ydCBjbGFzcyBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gIG5hbWU6IHN0cmluZyA9IElkR2VuZXJhdG9yLmdldCgpO1xuICB6SW5kZXg6IG51bWJlciA9IDE7XG4gIG1heFpvb206IG51bWJlciA9IDE5O1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICBkaXN0YW5jZTogbnVtYmVyID0gMjA7XG4gIGJib3g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3R5bGU/OiAoZmVhdHVyZXM6IElJZGVudGlmaWVkW10pID0+IFN0eWxlO1xuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogQ2x1c3RlckxheWVyU2V0dGluZ3MpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IENsdXN0ZXJMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm5hbWUgPSBtb2RlbC5uYW1lO1xuICAgIHJlc3VsdC5tYXhab29tID0gbW9kZWwubWF4Wm9vbTtcbiAgICByZXN1bHQubWluWm9vbSA9IG1vZGVsLm1pblpvb207XG4gICAgcmVzdWx0LnpJbmRleCA9IG1vZGVsLnpJbmRleDtcbiAgICByZXN1bHQuYmJveCA9IG1vZGVsLmJib3g7XG4gICAgcmVzdWx0LmRpc3RhbmNlID0gbW9kZWwuZGlzdGFuY2U7XG4gICAgcmVzdWx0LnN0eWxlID0gbW9kZWwuc3R5bGU7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHNldFpJbmRleCh6SW5kZXg6IG51bWJlcik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHpJbmRleCB9KTtcbiAgfVxuXG4gIHNldERpc3RhbmNlKGRpc3RhbmNlOiBudW1iZXIpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBkaXN0YW5jZSB9KTtcbiAgfVxuXG4gIHNldE5hbWUobmFtZTogc3RyaW5nKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbmFtZSB9KTtcbiAgfVxuXG4gIHNldE1heFpvb20obWF4Wm9vbTogbnVtYmVyKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWF4Wm9vbSB9KTtcbiAgfVxuXG4gIHNldE1pblpvb20obWluWm9vbTogbnVtYmVyKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWluWm9vbSB9KTtcbiAgfVxuXG4gIHNldEJib3goYmJveDogYm9vbGVhbik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIGJib3ggfSk7XG4gIH1cblxuICBzZXRTdHlsZShzdHlsZTogKGZlYXR1cmVzOiBJSWRlbnRpZmllZFtdKSA9PiBTdHlsZSB8IFN0eWxlRnVuY3Rpb24pOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBzdHlsZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IENsdXN0ZXJMYXllclNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubWF4Wm9vbSAhPT0gbW9kZWwubWF4Wm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1pblpvb20gIT09IG1vZGVsLm1pblpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy56SW5kZXggIT09IG1vZGVsLnpJbmRleCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm5hbWUgIT09IG1vZGVsLm5hbWUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5kaXN0YW5jZSAhPT0gbW9kZWwuZGlzdGFuY2UpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5iYm94ICE9PSBtb2RlbC5iYm94KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuc3R5bGUgIT09IG1vZGVsLnN0eWxlKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,4 +3,6 @@ export * from './tile-layer/tile-layer.settings';
|
|
|
3
3
|
export * from './osm-tile-layer/osm-tile-layer.component';
|
|
4
4
|
export * from './feature-layer/feature-layer.settings';
|
|
5
5
|
export * from './feature-layer/feature-layer.component';
|
|
6
|
-
|
|
6
|
+
export * from './cluster-layer/cluster-layer.component';
|
|
7
|
+
export * from './cluster-layer/cluster-layer.settings';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aWxlLWxheWVyL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5zZXR0aW5ncyc7XG4iXX0=
|
|
@@ -7,6 +7,7 @@ import { MapRenderedEvent } from '../messages';
|
|
|
7
7
|
import { MapStateService } from '../services/map-state.service';
|
|
8
8
|
import { MapManagementService } from '../services/map-management.service';
|
|
9
9
|
import { MapClickService } from '../services/map-click.service';
|
|
10
|
+
import { MapFeatureService } from '../services/map-feature.service';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "../services/map-postboy.service";
|
|
12
13
|
import * as i2 from "./map-plate.factory.service";
|
|
@@ -54,7 +55,7 @@ export class MapPlateComponent extends DestructibleComponent {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
MapPlateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapPlateComponent, deps: [{ token: i0.ElementRef }, { token: i1.MapPostboyService }, { token: i2.MapPlateFactory }, { token: i3.MessageRegistratorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
MapPlateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MapPlateComponent, selector: "lib-map-plate", inputs: { settings: "settings" }, providers: [MessageRegistratorService, MapStateService, MapManagementService, MapClickService], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"], components: [{ type: i4.OsmTileLayerComponent, selector: "lib-osm-tile-layer", inputs: ["url", "map"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
58
|
+
MapPlateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MapPlateComponent, selector: "lib-map-plate", inputs: { settings: "settings" }, providers: [MessageRegistratorService, MapStateService, MapManagementService, MapClickService, MapFeatureService], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"], components: [{ type: i4.OsmTileLayerComponent, selector: "lib-osm-tile-layer", inputs: ["url", "map"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
58
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapPlateComponent, decorators: [{
|
|
59
60
|
type: Component,
|
|
60
61
|
args: [{
|
|
@@ -62,9 +63,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
62
63
|
templateUrl: './map-plate.component.html',
|
|
63
64
|
styleUrls: ['./map-plate.component.scss'],
|
|
64
65
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
65
|
-
providers: [MessageRegistratorService, MapStateService, MapManagementService, MapClickService],
|
|
66
|
+
providers: [MessageRegistratorService, MapStateService, MapManagementService, MapClickService, MapFeatureService],
|
|
66
67
|
}]
|
|
67
68
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MapPostboyService }, { type: i2.MapPlateFactory }, { type: i3.MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
|
|
68
69
|
type: Input
|
|
69
70
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQVNwRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBSTFELFlBQ1UsVUFBc0IsRUFDdEIsT0FBMEIsRUFDMUIsVUFBMkIsRUFDM0IsV0FBc0MsRUFDdEMsUUFBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFOQSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLGdCQUFXLEdBQVgsV0FBVyxDQUEyQjtRQUN0QyxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQVByQyxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBYVosY0FBUyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBNkIzQyxjQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUM7UUFsQ0EsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFJRCxJQUFhLFFBQVEsQ0FBQyxLQUE4QjtRQUNsRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxRQUFRO1FBQ04sYUFBYSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLHNDQUFzQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQ3ZGLElBQUksQ0FBQyxTQUFTLENBQUMsUUFDakIsb0JBQW9CLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OytHQTFDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwwRUFGakIsQ0FBQyx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDLGlEQ25CbkgsK0hBRUE7NEZEbUJhLGlCQUFpQjtrQkFQN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDO2lCQUNsSDt1T0FrQmMsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBMeXJzTGFiZWwsIE1hcFNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCBNYXAgZnJvbSAnb2wvTWFwJztcbmltcG9ydCB7IHVzZUdlb2dyYXBoaWMgfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tZXNzYWdlLXJlZ2lzdHJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBNYXBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUGxhdGVGYWN0b3J5IH0gZnJvbSAnLi9tYXAtcGxhdGUuZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1jbGljay5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLWZlYXR1cmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1tYXAtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXBsYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLXBsYXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlLCBNYXBTdGF0ZVNlcnZpY2UsIE1hcE1hbmFnZW1lbnRTZXJ2aWNlLCBNYXBDbGlja1NlcnZpY2UsIE1hcEZlYXR1cmVTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwUGxhdGVDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtYXAhOiBNYXA7XG4gIG9zbVVybCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwRmFjdG9yeTogTWFwUGxhdGVGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVnaXN0cmF0b3I6IE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgcmVnaXN0cmF0b3IudXAoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogTWFwU2V0dGluZ3MgPSBuZXcgTWFwU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IE1hcFNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdXNlR2VvZ3JhcGhpYygpO1xuICAgIHRoaXMubWFwID0gdGhpcy5tYXBGYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzKTtcbiAgICB0aGlzLm1hcC5zZXRUYXJnZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLm9uY2UoJ3Bvc3RyZW5kZXInLCAoKSA9PiB7XG4gICAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwUmVuZGVyZWRFdmVudCh0aGlzLm1hcCkpO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0T3NtKCk7XG4gIH1cblxuICBwcml2YXRlIHNldE9zbSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgdGhpcy5vc21VcmwgPSBgaHR0cHM6Ly9tdHswLTN9Lmdvb2dsZS5jb20vdnQvbHlycz0ke01hcEx5cnNMYWJlbC5nZXQodGhpcy5fc2V0dGluZ3MubHlycyl9JmhsPSR7XG4gICAgICB0aGlzLl9zZXR0aW5ncy5sYW5ndWFnZVxuICAgIH0meD17eH0meT17eX0mej17en1gO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLnVwZGF0ZVNpemUoKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHtcbiAgICB0aGlzLnJlZ2lzdHJhdG9yLmRvd24oKTtcbiAgfTtcbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxsaWItb3NtLXRpbGUtbGF5ZXIgKm5nSWY9XCJvc21VcmwgJiYgbWFwXCIgW21hcF09XCJtYXBcIiBbdXJsXT1cIm9zbVVybFwiPjwvbGliLW9zbS10aWxlLWxheWVyPlxuIl19
|
|
@@ -8,6 +8,7 @@ import { FeatureLayerComponent } from './map-plate/layers/feature-layer/feature-
|
|
|
8
8
|
import { MarkersComponent } from './map-plate/features/markers/markers.component';
|
|
9
9
|
import { TooltipComponent } from './map-plate/tooltips/tooltip/tooltip.component';
|
|
10
10
|
import { PolygonsComponent } from './map-plate/features/polygons/polygons.component';
|
|
11
|
+
import { ClusterLayerComponent } from './map-plate/layers/cluster-layer/cluster-layer.component';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export class MapModule {
|
|
13
14
|
}
|
|
@@ -19,12 +20,14 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.
|
|
|
19
20
|
FeatureLayerComponent,
|
|
20
21
|
MarkersComponent,
|
|
21
22
|
TooltipComponent,
|
|
22
|
-
PolygonsComponent
|
|
23
|
+
PolygonsComponent,
|
|
24
|
+
ClusterLayerComponent], imports: [CommonModule], exports: [MapPlateComponent,
|
|
23
25
|
FeatureLayerComponent,
|
|
24
26
|
MarkersComponent,
|
|
25
27
|
TileLayerComponent,
|
|
26
28
|
TooltipComponent,
|
|
27
|
-
PolygonsComponent
|
|
29
|
+
PolygonsComponent,
|
|
30
|
+
ClusterLayerComponent] });
|
|
28
31
|
MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapModule, imports: [[CommonModule]] });
|
|
29
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapModule, decorators: [{
|
|
30
33
|
type: NgModule,
|
|
@@ -39,6 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
39
42
|
MarkersComponent,
|
|
40
43
|
TooltipComponent,
|
|
41
44
|
PolygonsComponent,
|
|
45
|
+
ClusterLayerComponent,
|
|
42
46
|
],
|
|
43
47
|
exports: [
|
|
44
48
|
MapPlateComponent,
|
|
@@ -47,7 +51,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
47
51
|
TileLayerComponent,
|
|
48
52
|
TooltipComponent,
|
|
49
53
|
PolygonsComponent,
|
|
54
|
+
ClusterLayerComponent,
|
|
50
55
|
],
|
|
51
56
|
}]
|
|
52
57
|
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7O0FBeUJqRyxNQUFNLE9BQU8sU0FBUzs7dUdBQVQsU0FBUzt3R0FBVCxTQUFTLGlCQXBCbEIscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixxQkFBcUIsYUFWYixZQUFZLGFBYXBCLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLHFCQUFxQjt3R0FHWixTQUFTLFlBdEJYLENBQUMsWUFBWSxDQUFDOzRGQXNCWixTQUFTO2tCQXZCckIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGlsZUxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3NtVGlsZUxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbGF5ZXJzL29zbS10aWxlLWxheWVyL29zbS10aWxlLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWF0dXJlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvZmVhdHVyZS1sYXllci9mZWF0dXJlLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXJrZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvZmVhdHVyZXMvbWFya2Vycy9tYXJrZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvdG9vbHRpcHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb2x5Z29uc0NvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEZXN0cnVjdGlibGVDb21wb25lbnQsXG4gICAgTWFwUGxhdGVDb21wb25lbnQsXG4gICAgVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIE9zbVRpbGVMYXllckNvbXBvbmVudCxcbiAgICBGZWF0dXJlTGF5ZXJDb21wb25lbnQsXG4gICAgTWFya2Vyc0NvbXBvbmVudCxcbiAgICBUb29sdGlwQ29tcG9uZW50LFxuICAgIFBvbHlnb25zQ29tcG9uZW50LFxuICAgIENsdXN0ZXJMYXllckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1hcFBsYXRlQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMYXllckNvbXBvbmVudCxcbiAgICBNYXJrZXJzQ29tcG9uZW50LFxuICAgIFRpbGVMYXllckNvbXBvbmVudCxcbiAgICBUb29sdGlwQ29tcG9uZW50LFxuICAgIFBvbHlnb25zQ29tcG9uZW50LFxuICAgIENsdXN0ZXJMYXllckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwTW9kdWxlIHt9XG4iXX0=
|
|
@@ -9,4 +9,4 @@ export class AddLayerCommand extends GenericMessage {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
AddLayerCommand.ID = 'd93e250f-92bc-43ac-9c6a-46c521a1aaa5';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLcEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQUdqRCxZQUFtQixLQUF5QztRQUMxRCxLQUFLLEVBQUUsQ0FBQztRQURTLFVBQUssR0FBTCxLQUFLLENBQW9DO0lBRTVELENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLGVBQWUsQ0FBQyxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7QUFSc0Isa0JBQUUsR0FBRyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNNZXNzYWdlIH0gZnJvbSAnLi4vZ2VuZXJpYy1tZXNzYWdlJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XG5cbmV4cG9ydCBjbGFzcyBBZGRMYXllckNvbW1hbmQgZXh0ZW5kcyBHZW5lcmljTWVzc2FnZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSUQgPSAnZDkzZTI1MGYtOTJiYy00M2FjLTljNmEtNDZjNTIxYTFhYWE1JztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+IHwgQ2x1c3Rlcj4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBBZGRMYXllckNvbW1hbmQuSUQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GenericMessage } from '../generic-message';
|
|
2
|
+
export class FitToFeaturesCommand extends GenericMessage {
|
|
3
|
+
constructor(features, zoomAfter = 0) {
|
|
4
|
+
super();
|
|
5
|
+
this.features = features;
|
|
6
|
+
this.zoomAfter = zoomAfter;
|
|
7
|
+
}
|
|
8
|
+
get id() {
|
|
9
|
+
return FitToFeaturesCommand.ID;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
FitToFeaturesCommand.ID = '76cdc091-3793-4b6c-82f7-1e0334cf08a8';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9jb21tYW5kcy9maXQtdG8tZmVhdHVyZXMuY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJcEQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGNBQWM7SUFHdEQsWUFBbUIsUUFBNkIsRUFBUyxZQUFZLENBQUM7UUFDcEUsS0FBSyxFQUFFLENBQUM7UUFEUyxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQUk7SUFFdEUsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8sb0JBQW9CLENBQUMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7O0FBUnNCLHVCQUFFLEdBQUcsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljTWVzc2FnZSB9IGZyb20gJy4uL2dlbmVyaWMtbWVzc2FnZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcblxuZXhwb3J0IGNsYXNzIEZpdFRvRmVhdHVyZXNDb21tYW5kIGV4dGVuZHMgR2VuZXJpY01lc3NhZ2Uge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElEID0gJzc2Y2RjMDkxLTM3OTMtNGI2Yy04MmY3LTFlMDMzNGNmMDhhOCc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGZlYXR1cmVzOiBGZWF0dXJlPEdlb21ldHJ5PltdLCBwdWJsaWMgem9vbUFmdGVyID0gMCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpdFRvRmVhdHVyZXNDb21tYW5kLklEO1xuICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { GenericMessage } from '../generic-message';
|
|
2
2
|
export class MapClickEvent extends GenericMessage {
|
|
3
|
-
constructor(coordinates, entities) {
|
|
3
|
+
constructor(coordinates, entities, features) {
|
|
4
4
|
super();
|
|
5
5
|
this.coordinates = coordinates;
|
|
6
6
|
this.entities = entities;
|
|
7
|
+
this.features = features;
|
|
7
8
|
}
|
|
8
9
|
get id() {
|
|
9
10
|
return MapClickEvent.ID;
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
MapClickEvent.ID = '323df526-8d9c-49c6-83e8-6e9a1e7762f7';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLcEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxjQUFjO0lBRy9DLFlBQ1MsV0FBcUIsRUFDckIsUUFBNEMsRUFDNUMsUUFBa0Q7UUFFekQsS0FBSyxFQUFFLENBQUM7UUFKRCxnQkFBVyxHQUFYLFdBQVcsQ0FBVTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFvQztRQUM1QyxhQUFRLEdBQVIsUUFBUSxDQUEwQztJQUczRCxDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1gsT0FBTyxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQzFCLENBQUM7O0FBWnNCLGdCQUFFLEdBQUcsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljTWVzc2FnZSB9IGZyb20gJy4uL2dlbmVyaWMtbWVzc2FnZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5cbmV4cG9ydCBjbGFzcyBNYXBDbGlja0V2ZW50IGV4dGVuZHMgR2VuZXJpY01lc3NhZ2Uge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElEID0gJzMyM2RmNTI2LThkOWMtNDljNi04M2U4LTZlOWExZTc3NjJmNyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvb3JkaW5hdGVzOiBudW1iZXJbXSxcbiAgICBwdWJsaWMgZW50aXRpZXM6IHsgW2xheWVyOiBzdHJpbmddOiBJSWRlbnRpZmllZFtdIH0sXG4gICAgcHVibGljIGZlYXR1cmVzOiB7IFtsYXllcjogc3RyaW5nXTogRmVhdHVyZTxHZW9tZXRyeT5bXSB9LFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBNYXBDbGlja0V2ZW50LklEO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1pZGVudGlmaWVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL2ktaWRlbnRpZmllZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJSWRlbnRpZmllZCB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export class MapConstants {
|
|
2
|
+
}
|
|
3
|
+
MapConstants.FeatureInfo = 'f-info';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9tYXAuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZOztBQUNULHdCQUFXLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE1hcENvbnN0YW50cyB7XG4gIHB1YmxpYyBzdGF0aWMgRmVhdHVyZUluZm8gPSAnZi1pbmZvJztcbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IdGenerator } from '../common/id.generator';
|
|
2
2
|
import { Feature } from 'ol';
|
|
3
3
|
import { Point } from 'ol/geom';
|
|
4
|
+
import { MapConstants } from './map.constants';
|
|
4
5
|
export class MarkerModel {
|
|
5
6
|
constructor(lat, lng, id, info) {
|
|
6
7
|
this.lat = lat;
|
|
@@ -16,8 +17,8 @@ export class MarkerModel {
|
|
|
16
17
|
const feature = new Feature(new Point([this.lng, this.lat]));
|
|
17
18
|
feature.setId(this.id);
|
|
18
19
|
if (this.info)
|
|
19
|
-
feature.set(
|
|
20
|
+
feature.set(MapConstants.FeatureInfo, this.info);
|
|
20
21
|
return feature;
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcmtlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUNrQixHQUFXLEVBQ1gsR0FBVyxFQUMzQixFQUFvQixFQUNiLElBRU47UUFMZSxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUVwQixTQUFJLEdBQUosSUFBSSxDQUVWO1FBRUQsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBSUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5LCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi9tYXAuY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIE1hcmtlck1vZGVsIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBsYXQ6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXIsXG4gICAgaWQ/OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgcHVibGljIGluZm8/OiB7XG4gICAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgICB9LFxuICApIHtcbiAgICB0aGlzLmlkID0gaWQgPT0gbnVsbCA/IElkR2VuZXJhdG9yLmdldCgpIDogaWQ7XG4gICAgdGhpcy5fZmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT47XG5cbiAgcHVibGljIGdldCBmZWF0dXJlKCk6IEZlYXR1cmU8R2VvbWV0cnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgY29uc3QgZmVhdHVyZSA9IG5ldyBGZWF0dXJlKG5ldyBQb2ludChbdGhpcy5sbmcsIHRoaXMubGF0XSkpO1xuICAgIGZlYXR1cmUuc2V0SWQodGhpcy5pZCk7XG4gICAgaWYgKHRoaXMuaW5mbykgZmVhdHVyZS5zZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvLCB0aGlzLmluZm8pO1xuICAgIHJldHVybiBmZWF0dXJlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { MapRenderedEvent } from '../messages';
|
|
3
3
|
import { MapClickEvent } from '../messages/events/map-click.event';
|
|
4
|
+
import { MapConstants } from '../models/map.constants';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "./map-postboy.service";
|
|
6
7
|
export class MapClickService {
|
|
@@ -21,7 +22,7 @@ export class MapClickService {
|
|
|
21
22
|
}
|
|
22
23
|
onClick(ev) {
|
|
23
24
|
var _a;
|
|
24
|
-
const model = new MapClickEvent(ev.coordinate, {});
|
|
25
|
+
const model = new MapClickEvent(ev.coordinate, {}, {});
|
|
25
26
|
(_a = this.map) === null || _a === void 0 ? void 0 : _a.forEachFeatureAtPixel(ev.pixel, (f, l) => {
|
|
26
27
|
this.getFeatureCollectionWithInner([f])
|
|
27
28
|
.filter((f) => f.getId() != null)
|
|
@@ -29,7 +30,10 @@ export class MapClickService {
|
|
|
29
30
|
let layerName = l.get('name');
|
|
30
31
|
if (!model.entities[layerName])
|
|
31
32
|
model.entities[layerName] = [];
|
|
32
|
-
model.
|
|
33
|
+
if (!model.features[layerName])
|
|
34
|
+
model.features[layerName] = [];
|
|
35
|
+
model.entities[layerName].push(Object.assign({ id: fs.getId() }, fs.get(MapConstants.FeatureInfo)));
|
|
36
|
+
model.features[layerName].push(fs);
|
|
33
37
|
});
|
|
34
38
|
});
|
|
35
39
|
return model;
|
|
@@ -48,4 +52,4 @@ MapClickService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
|
|
|
48
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapClickService, decorators: [{
|
|
49
53
|
type: Injectable
|
|
50
54
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHdkQsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7WUFDNUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLE1BQUEsSUFBSSxDQUFDLEdBQUcsMENBQUUsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBNEI7O1FBQ2xDLE1BQU0sS0FBSyxHQUFrQixJQUFJLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RSxNQUFBLElBQUksQ0FBQyxHQUFHLDBDQUFFLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBc0IsQ0FBQyxDQUFDO2lCQUN6RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUM7aUJBQ2hDLE9BQU8sQ0FBQyxDQUFDLEVBQXFCLEVBQUUsRUFBRTtnQkFDakMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO29CQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7b0JBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQy9ELEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxpQkFBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRyxJQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFHLENBQUM7Z0JBQ3pGLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyw2QkFBNkIsQ0FBQyxRQUE2QjtRQUNqRSxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0QixNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztZQUMvRCxDQUFBLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OzZHQXpDVSxlQUFlO2lIQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcCwgTWFwQnJvd3NlckV2ZW50IH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLWNsaWNrLmV2ZW50JztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBDbGlja1NlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgICAgdGhpcy5tYXA/Lm9uKCdzaW5nbGVjbGljaycsIChlKSA9PiB7XG4gICAgICAgIHRoaXMucG9zdGJveS5maXJlKHRoaXMub25DbGljayhlKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2xpY2soZXY6IE1hcEJyb3dzZXJFdmVudDxVSUV2ZW50Pik6IE1hcENsaWNrRXZlbnQge1xuICAgIGNvbnN0IG1vZGVsOiBNYXBDbGlja0V2ZW50ID0gbmV3IE1hcENsaWNrRXZlbnQoZXYuY29vcmRpbmF0ZSwge30sIHt9KTtcbiAgICB0aGlzLm1hcD8uZm9yRWFjaEZlYXR1cmVBdFBpeGVsKGV2LnBpeGVsLCAoZiwgbCkgPT4ge1xuICAgICAgdGhpcy5nZXRGZWF0dXJlQ29sbGVjdGlvbldpdGhJbm5lcihbZiBhcyBGZWF0dXJlPEdlb21ldHJ5Pl0pXG4gICAgICAgIC5maWx0ZXIoKGYpID0+IGYuZ2V0SWQoKSAhPSBudWxsKVxuICAgICAgICAuZm9yRWFjaCgoZnM6IEZlYXR1cmU8R2VvbWV0cnk+KSA9PiB7XG4gICAgICAgICAgbGV0IGxheWVyTmFtZSA9IGwuZ2V0KCduYW1lJyk7XG4gICAgICAgICAgaWYgKCFtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdKSBtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgaWYgKCFtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdKSBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgbW9kZWwuZW50aXRpZXNbbGF5ZXJOYW1lXS5wdXNoKHsgaWQ6IGZzLmdldElkKCkhLCAuLi5mcy5nZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvKSB9KTtcbiAgICAgICAgICBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdLnB1c2goZnMpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGdldEZlYXR1cmVDb2xsZWN0aW9uV2l0aElubmVyKGZlYXR1cmVzOiBGZWF0dXJlPEdlb21ldHJ5PltdKTogRmVhdHVyZTxHZW9tZXRyeT5bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBGZWF0dXJlPEdlb21ldHJ5PltdID0gW107XG4gICAgZmVhdHVyZXM/LmZvckVhY2goKGYpID0+IHtcbiAgICAgIGNvbnN0IGlubmVyRmVhdHVyZXMgPSBmLmdldCgnZmVhdHVyZXMnKSBhcyBGZWF0dXJlPEdlb21ldHJ5PltdO1xuICAgICAgaW5uZXJGZWF0dXJlcz8ubGVuZ3RoID8gcmVzdWx0LnB1c2goLi4uaW5uZXJGZWF0dXJlcykgOiByZXN1bHQucHVzaChmKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { MapRenderedEvent } from '../messages';
|
|
3
|
+
import { FitToFeaturesCommand } from '../messages/commands/fit-to-features.command';
|
|
4
|
+
import { createEmpty, extend } from 'ol/extent';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./map-postboy.service";
|
|
7
|
+
export class MapFeatureService {
|
|
8
|
+
constructor(postboy) {
|
|
9
|
+
this.postboy = postboy;
|
|
10
|
+
}
|
|
11
|
+
up() {
|
|
12
|
+
this.observeMapRender();
|
|
13
|
+
this.observeFitToFeatures();
|
|
14
|
+
}
|
|
15
|
+
observeMapRender() {
|
|
16
|
+
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
17
|
+
this.map = m.map;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
observeFitToFeatures() {
|
|
21
|
+
this.postboy.subscribe(FitToFeaturesCommand.ID).subscribe((m) => {
|
|
22
|
+
this.fitToGeometries(m.features.map((f) => f.getGeometry()), m.zoomAfter);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
fitToGeometries(geometries, zoomAfter) {
|
|
26
|
+
if (!(geometries === null || geometries === void 0 ? void 0 : geometries.length) || !this.map)
|
|
27
|
+
return;
|
|
28
|
+
const extent = createEmpty();
|
|
29
|
+
geometries.forEach((g) => extend(extent, g.getExtent()));
|
|
30
|
+
this.map.getView().fit(extent);
|
|
31
|
+
this.map.getView().setZoom(this.map.getView().getZoom() + zoomAfter);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
MapFeatureService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapFeatureService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
MapFeatureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapFeatureService });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapFeatureService, decorators: [{
|
|
37
|
+
type: Injectable
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWZlYXR1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUdoRCxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBdUIsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDcEYsSUFBSSxDQUFDLGVBQWUsQ0FDbEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUcsQ0FBQyxFQUN2QyxDQUFDLENBQUMsU0FBUyxDQUNaLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsVUFBc0IsRUFBRSxTQUFpQjtRQUMvRCxJQUFJLENBQUMsQ0FBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsTUFBTSxDQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU87UUFDN0MsTUFBTSxNQUFNLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDN0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFHLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7K0dBL0JVLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgRml0VG9GZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9maXQtdG8tZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgY3JlYXRlRW1wdHksIGV4dGVuZCB9IGZyb20gJ29sL2V4dGVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBGZWF0dXJlU2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHt9XG5cbiAgdXAoKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlTWFwUmVuZGVyKCk7XG4gICAgdGhpcy5vYnNlcnZlRml0VG9GZWF0dXJlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRml0VG9GZWF0dXJlcygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPEZpdFRvRmVhdHVyZXNDb21tYW5kPihGaXRUb0ZlYXR1cmVzQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLmZpdFRvR2VvbWV0cmllcyhcbiAgICAgICAgbS5mZWF0dXJlcy5tYXAoKGYpID0+IGYuZ2V0R2VvbWV0cnkoKSEpLFxuICAgICAgICBtLnpvb21BZnRlcixcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZpdFRvR2VvbWV0cmllcyhnZW9tZXRyaWVzOiBHZW9tZXRyeVtdLCB6b29tQWZ0ZXI6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghZ2VvbWV0cmllcz8ubGVuZ3RoIHx8ICF0aGlzLm1hcCkgcmV0dXJuO1xuICAgIGNvbnN0IGV4dGVudCA9IGNyZWF0ZUVtcHR5KCk7XG4gICAgZ2VvbWV0cmllcy5mb3JFYWNoKChnKSA9PiBleHRlbmQoZXh0ZW50LCBnLmdldEV4dGVudCgpKSk7XG4gICAgdGhpcy5tYXAuZ2V0VmlldygpLmZpdChleHRlbnQpO1xuICAgIHRoaXMubWFwLmdldFZpZXcoKS5zZXRab29tKHRoaXMubWFwLmdldFZpZXcoKS5nZXRab29tKCkhICsgem9vbUFmdGVyKTtcbiAgfVxufVxuIl19
|