@artstesh/maps 4.0.8 → 4.0.10
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/esm2020/map/helpers/index.mjs +2 -1
- package/dist/esm2020/map/helpers/stringify-feature.helper.mjs +58 -0
- package/dist/esm2020/map/map-plate/map-plate.component.mjs +7 -1
- package/dist/esm2020/map/messages/commands/draw-selection-area.command.mjs +14 -0
- package/dist/esm2020/map/messages/index.mjs +2 -1
- package/dist/esm2020/map/messages/queries/filter-features-in-area.query.mjs +13 -0
- package/dist/esm2020/map/messages/queries/generate-draw.query.mjs +14 -0
- package/dist/esm2020/map/messages/queries/get-features-in-area.query.mjs +13 -0
- package/dist/esm2020/map/models/dictionary.mjs +56 -0
- package/dist/esm2020/map/models/drawing-type.enum.mjs +2 -1
- package/dist/esm2020/map/models/index.mjs +2 -1
- package/dist/esm2020/map/services/drawing/drawing-generation.service.mjs +28 -0
- package/dist/esm2020/map/services/drawing/drawing.service.mjs +36 -14
- package/dist/esm2020/map/services/feature.service.mjs +29 -0
- package/dist/esm2020/map/services/map-management.service.mjs +36 -7
- package/dist/esm2020/map/services/message-registrator.service.mjs +15 -5
- package/dist/esm2020/src/map/helpers/index.mjs +2 -1
- package/dist/esm2020/src/map/helpers/stringify-feature.helper.mjs +58 -0
- package/dist/esm2020/src/map/map-plate/map-plate.component.mjs +7 -1
- package/dist/esm2020/src/map/messages/commands/draw-selection-area.command.mjs +14 -0
- package/dist/esm2020/src/map/messages/index.mjs +2 -1
- package/dist/esm2020/src/map/messages/queries/filter-features-in-area.query.mjs +13 -0
- package/dist/esm2020/src/map/messages/queries/generate-draw.query.mjs +14 -0
- package/dist/esm2020/src/map/messages/queries/get-features-in-area.query.mjs +13 -0
- package/dist/esm2020/src/map/models/dictionary.mjs +56 -0
- package/dist/esm2020/src/map/models/drawing-type.enum.mjs +2 -1
- package/dist/esm2020/src/map/models/index.mjs +2 -1
- package/dist/esm2020/src/map/services/drawing/drawing-generation.service.mjs +28 -0
- package/dist/esm2020/src/map/services/drawing/drawing.service.mjs +36 -14
- package/dist/esm2020/src/map/services/feature.service.mjs +29 -0
- package/dist/esm2020/src/map/services/map-management.service.mjs +36 -7
- package/dist/esm2020/src/map/services/message-registrator.service.mjs +15 -5
- package/dist/fesm2015/maps-components-src-map.mjs +286 -28
- package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2015/maps-components.mjs +286 -28
- package/dist/fesm2015/maps-components.mjs.map +1 -1
- package/dist/fesm2020/maps-components-src-map.mjs +284 -27
- package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2020/maps-components.mjs +284 -27
- package/dist/fesm2020/maps-components.mjs.map +1 -1
- package/dist/map/helpers/index.d.ts +1 -0
- package/dist/map/helpers/stringify-feature.helper.d.ts +8 -0
- package/dist/map/messages/commands/draw-selection-area.command.d.ts +12 -0
- package/dist/map/messages/index.d.ts +1 -0
- package/dist/map/messages/queries/filter-features-in-area.query.d.ts +10 -0
- package/dist/map/messages/queries/generate-draw.query.d.ts +14 -0
- package/dist/map/messages/queries/get-features-in-area.query.d.ts +11 -0
- package/dist/map/models/dictionary.d.ts +17 -0
- package/dist/map/models/drawing-type.enum.d.ts +2 -1
- package/dist/map/models/index.d.ts +1 -0
- package/dist/map/services/drawing/drawing-generation.service.d.ts +10 -0
- package/dist/map/services/drawing/drawing.service.d.ts +2 -0
- package/dist/map/services/feature.service.d.ts +11 -0
- package/dist/map/services/map-management.service.d.ts +1 -0
- package/dist/map/services/message-registrator.service.d.ts +3 -1
- package/dist/src/map/helpers/index.d.ts +1 -0
- package/dist/src/map/helpers/stringify-feature.helper.d.ts +8 -0
- package/dist/src/map/messages/commands/draw-selection-area.command.d.ts +12 -0
- package/dist/src/map/messages/index.d.ts +1 -0
- package/dist/src/map/messages/queries/filter-features-in-area.query.d.ts +10 -0
- package/dist/src/map/messages/queries/generate-draw.query.d.ts +14 -0
- package/dist/src/map/messages/queries/get-features-in-area.query.d.ts +11 -0
- package/dist/src/map/models/dictionary.d.ts +17 -0
- package/dist/src/map/models/drawing-type.enum.d.ts +2 -1
- package/dist/src/map/models/index.d.ts +1 -0
- package/dist/src/map/services/drawing/drawing-generation.service.d.ts +10 -0
- package/dist/src/map/services/drawing/drawing.service.d.ts +2 -0
- package/dist/src/map/services/feature.service.d.ts +11 -0
- package/dist/src/map/services/map-management.service.d.ts +1 -0
- package/dist/src/map/services/message-registrator.service.d.ts +3 -1
- package/package.json +2 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './marker-style.helper';
|
|
2
2
|
export * from './polygon-style.helper';
|
|
3
3
|
export * from './text-style.helper';
|
|
4
|
-
|
|
4
|
+
export * from './stringify-feature.helper';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hcmtlci1zdHlsZS5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wb2x5Z29uLXN0eWxlLmhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtc3R5bGUuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5naWZ5LWZlYXR1cmUuaGVscGVyJztcbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Feature } from 'ol';
|
|
2
|
+
import { LineString } from 'ol/geom';
|
|
3
|
+
import { FeatureOutputFormat } from '../models';
|
|
4
|
+
import { GeoJSON, WKT } from 'ol/format';
|
|
5
|
+
import Polygon from 'ol/geom/Polygon';
|
|
6
|
+
import { transform } from 'ol/proj';
|
|
7
|
+
import { METERS_PER_UNIT } from 'ol/proj/epsg4326';
|
|
8
|
+
export class StringifyFeatureHelper {
|
|
9
|
+
static polygon(feature, format = FeatureOutputFormat.GeoJson) {
|
|
10
|
+
return format === FeatureOutputFormat.GeoJson
|
|
11
|
+
? new GeoJSON().writeFeature(feature)
|
|
12
|
+
: new WKT().writeFeature(feature);
|
|
13
|
+
}
|
|
14
|
+
static circle(feature, format = FeatureOutputFormat.GeoJson) {
|
|
15
|
+
// const clone = feature.clone();
|
|
16
|
+
// clone.setGeometry(fromCircle(feature.getGeometry()! as Circle));
|
|
17
|
+
const tetemp = feature.getGeometryName();
|
|
18
|
+
const circle = feature.getGeometry();
|
|
19
|
+
// const temp = StringifyFeatureHelper.drawCircle(circle.getCenter(), circle.getRadius());
|
|
20
|
+
const ttt = feature.getGeometry().getExtent();
|
|
21
|
+
const eastPoint = [ttt[2], (ttt[1] + ttt[3]) / 2];
|
|
22
|
+
const aaa = [
|
|
23
|
+
...transform([ttt[0], ttt[1]], 'EPSG:4326', 'EPSG:3857'),
|
|
24
|
+
...transform([ttt[2], ttt[3]], 'EPSG:4326', 'EPSG:3857'),
|
|
25
|
+
];
|
|
26
|
+
const radius = (aaa[2] - aaa[0]) / 2;
|
|
27
|
+
const radius2 = new LineString([circle.getCenter(), eastPoint]).getLength();
|
|
28
|
+
const polygonGeom = new Polygon(StringifyFeatureHelper.drawCircle(circle.getCenter(), radius));
|
|
29
|
+
// var edgeCoordinate = [circle.getCenter()[0] + radius, circle.getCenter()[1]];
|
|
30
|
+
// var wgs84Sphere = new Sphere(6378137);
|
|
31
|
+
return StringifyFeatureHelper.polygon(new Feature(polygonGeom), format);
|
|
32
|
+
// const rad = circle.getRadius();
|
|
33
|
+
// const degrees = 180 / Math.PI; // radians to degrees
|
|
34
|
+
// const radians = Math.PI / 180; // degrees to radians
|
|
35
|
+
// const rlat = rad * degrees * 1000;
|
|
36
|
+
// const rlng = rad * radians;
|
|
37
|
+
// return StringifyFeatureHelper.polygon(new Feature<Geometry>(circular(circle.getCenter(),circle.getRadius() * METERS_PER_UNIT)), format);
|
|
38
|
+
}
|
|
39
|
+
static drawCircle(point, radius) {
|
|
40
|
+
const tetetemp = transform(point, 'EPSG:4326', 'EPSG:3857');
|
|
41
|
+
// const tetetemp = point;
|
|
42
|
+
const radians = Math.PI / 180; // degrees to radians
|
|
43
|
+
const degrees = 180 / Math.PI; // radians to degrees
|
|
44
|
+
const earthsradius = 6378137.0;
|
|
45
|
+
const rlat = (radius / earthsradius) * degrees;
|
|
46
|
+
const rlng = rlat / Math.cos(tetetemp[1] * radians);
|
|
47
|
+
const extp = [];
|
|
48
|
+
for (let i = 0; i <= 32; i++) {
|
|
49
|
+
const theta = Math.PI * (i / 16);
|
|
50
|
+
extp.push([
|
|
51
|
+
tetetemp[0] + rlng * Math.cos(theta) * METERS_PER_UNIT,
|
|
52
|
+
tetetemp[1] + rlat * Math.sin(theta) * METERS_PER_UNIT,
|
|
53
|
+
]);
|
|
54
|
+
}
|
|
55
|
+
return [extp.map((e) => transform(e, 'EPSG:3857', 'EPSG:4326'))];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LWZlYXR1cmUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvaGVscGVycy9zdHJpbmdpZnktZmVhdHVyZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsTUFBTSxPQUFPLHNCQUFzQjtJQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTBCLEVBQUUsU0FBOEIsbUJBQW1CLENBQUMsT0FBTztRQUN6RyxPQUFPLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO1lBQzNDLENBQUMsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7WUFDckMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDTSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTBCLEVBQUUsU0FBOEIsbUJBQW1CLENBQUMsT0FBTztRQUN4RyxpQ0FBaUM7UUFDakMsbUVBQW1FO1FBQ25FLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFhLENB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QUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBDaXJjbGUsIEdlb21ldHJ5LCBMaW5lU3RyaW5nIH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBGZWF0dXJlT3V0cHV0Rm9ybWF0IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEdlb0pTT04sIFdLVCB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgUG9seWdvbiBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IHsgQ29vcmRpbmF0ZSB9IGZyb20gJ29sL2Nvb3JkaW5hdGUnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgeyBNRVRFUlNfUEVSX1VOSVQgfSBmcm9tICdvbC9wcm9qL2Vwc2c0MzI2JztcblxuZXhwb3J0IGNsYXNzIFN0cmluZ2lmeUZlYXR1cmVIZWxwZXIge1xuICBwdWJsaWMgc3RhdGljIHBvbHlnb24oZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4sIGZvcm1hdDogRmVhdHVyZU91dHB1dEZvcm1hdCA9IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZvcm1hdCA9PT0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uXG4gICAgICA/IG5ldyBHZW9KU09OKCkud3JpdGVGZWF0dXJlKGZlYXR1cmUpXG4gICAgICA6IG5ldyBXS1QoKS53cml0ZUZlYXR1cmUoZmVhdHVyZSk7XG4gIH1cbiAgcHVibGljIHN0YXRpYyBjaXJjbGUoZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4sIGZvcm1hdDogRmVhdHVyZU91dHB1dEZvcm1hdCA9IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvbik6IHN0cmluZyB7XG4gICAgLy8gY29uc3QgY2xvbmUgPSBmZWF0dXJlLmNsb25lKCk7XG4gICAgLy8gY2xvbmUuc2V0R2VvbWV0cnkoZnJvbUNpcmNsZShmZWF0dXJlLmdldEdlb21ldHJ5KCkhIGFzIENpcmNsZSkpO1xuICAgIGNvbnN0IHRldGVtcCA9IGZlYXR1cmUuZ2V0R2VvbWV0cnlOYW1lKCk7XG4gICAgY29uc3QgY2lyY2xlID0gZmVhdHVyZS5nZXRHZW9tZXRyeSgpISBhcyBDaXJjbGU7XG4gICAgLy8gY29uc3QgdGVtcCA9IFN0cmluZ2lmeUZlYXR1cmVIZWxwZXIuZHJhd0NpcmNsZShjaXJjbGUuZ2V0Q2VudGVyKCksIGNpcmNsZS5nZXRSYWRpdXMoKSk7XG4gICAgY29uc3QgdHR0ID0gZmVhdHVyZS5nZXRHZW9tZXRyeSgpIS5nZXRFeHRlbnQoKSE7XG4gICAgY29uc3QgZWFzdFBvaW50ID0gW3R0dFsyXSwgKHR0dFsxXSArIHR0dFszXSkgLyAyXTtcbiAgICBjb25zdCBhYWEgPSBbXG4gICAgICAuLi50cmFuc2Zvcm0oW3R0dFswXSwgdHR0WzFdXSwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKSxcbiAgICAgIC4uLnRyYW5zZm9ybShbdHR0WzJdLCB0dHRbM11dLCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpLFxuICAgIF07XG4gICAgY29uc3QgcmFkaXVzID0gKGFhYVsyXSAtIGFhYVswXSkgLyAyO1xuICAgIGNvbnN0IHJhZGl1czIgPSBuZXcgTGluZVN0cmluZyhbY2lyY2xlLmdldENlbnRlcigpLCBlYXN0UG9pbnRdKS5nZXRMZW5ndGgoKTtcblxuICAgIGNvbnN0IHBvbHlnb25HZW9tID0gbmV3IFBvbHlnb24oU3RyaW5naWZ5RmVhdHVyZUhlbHBlci5kcmF3Q2lyY2xlKGNpcmNsZS5nZXRDZW50ZXIoKSwgcmFkaXVzKSk7XG5cbiAgICAvLyB2YXIgZWRnZUNvb3JkaW5hdGUgPSBbY2lyY2xlLmdldENlbnRlcigpWzBdICsgcmFkaXVzLCBjaXJjbGUuZ2V0Q2VudGVyKClbMV1dO1xuICAgIC8vIHZhciB3Z3M4NFNwaGVyZSA9IG5ldyBTcGhlcmUoNjM3ODEzNyk7XG4gICAgcmV0dXJuIFN0cmluZ2lmeUZlYXR1cmVIZWxwZXIucG9seWdvbihuZXcgRmVhdHVyZTxHZW9tZXRyeT4ocG9seWdvbkdlb20pLCBmb3JtYXQpO1xuICAgIC8vICBjb25zdCByYWQgPSBjaXJjbGUuZ2V0UmFkaXVzKCk7XG4gICAgLy8gIGNvbnN0IGRlZ3JlZXMgPSAxODAgLyBNYXRoLlBJOyAvLyByYWRpYW5zIHRvIGRlZ3JlZXNcbiAgICAvLyAgY29uc3QgcmFkaWFucyA9IE1hdGguUEkgLyAxODA7IC8vIGRlZ3JlZXMgdG8gcmFkaWFuc1xuICAgIC8vICBjb25zdCBybGF0ID0gcmFkICogZGVncmVlcyAqIDEwMDA7XG4gICAgLy8gIGNvbnN0IHJsbmcgPSByYWQgKiByYWRpYW5zO1xuICAgIC8vICByZXR1cm4gU3RyaW5naWZ5RmVhdHVyZUhlbHBlci5wb2x5Z29uKG5ldyBGZWF0dXJlPEdlb21ldHJ5PihjaXJjdWxhcihjaXJjbGUuZ2V0Q2VudGVyKCksY2lyY2xlLmdldFJhZGl1cygpICogTUVURVJTX1BFUl9VTklUKSksIGZvcm1hdCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBkcmF3Q2lyY2xlKHBvaW50OiBudW1iZXJbXSwgcmFkaXVzOiBudW1iZXIpOiBDb29yZGluYXRlW11bXSB7XG4gICAgY29uc3QgdGV0ZXRlbXAgPSB0cmFuc2Zvcm0ocG9pbnQsICdFUFNHOjQzMjYnLCAnRVBTRzozODU3Jyk7XG4gICAgLy8gY29uc3QgdGV0ZXRlbXAgPSBwb2ludDtcbiAgICBjb25zdCByYWRpYW5zID0gTWF0aC5QSSAvIDE4MDsgLy8gZGVncmVlcyB0byByYWRpYW5zXG4gICAgY29uc3QgZGVncmVlcyA9IDE4MCAvIE1hdGguUEk7IC8vIHJhZGlhbnMgdG8gZGVncmVlc1xuICAgIGNvbnN0IGVhcnRoc3JhZGl1cyA9IDYzNzgxMzcuMDtcbiAgICBjb25zdCBybGF0ID0gKHJhZGl1cyAvIGVhcnRoc3JhZGl1cykgKiBkZWdyZWVzO1xuICAgIGNvbnN0IHJsbmcgPSBybGF0IC8gTWF0aC5jb3ModGV0ZXRlbXBbMV0gKiByYWRpYW5zKTtcbiAgICBjb25zdCBleHRwOiBudW1iZXJbXVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gMzI7IGkrKykge1xuICAgICAgY29uc3QgdGhldGEgPSBNYXRoLlBJICogKGkgLyAxNik7XG4gICAgICBleHRwLnB1c2goW1xuICAgICAgICB0ZXRldGVtcFswXSArIHJsbmcgKiBNYXRoLmNvcyh0aGV0YSkgKiBNRVRFUlNfUEVSX1VOSVQsXG4gICAgICAgIHRldGV0ZW1wWzFdICsgcmxhdCAqIE1hdGguc2luKHRoZXRhKSAqIE1FVEVSU19QRVJfVU5JVCxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gW2V4dHAubWFwKChlKSA9PiB0cmFuc2Zvcm0oZSwgJ0VQU0c6Mzg1NycsICdFUFNHOjQzMjYnKSldO1xuICB9XG59XG4iXX0=
|
|
@@ -11,6 +11,8 @@ import { MapFeatureService } from '../services/map-feature.service';
|
|
|
11
11
|
import { FeatureLayerSettings } from './layers';
|
|
12
12
|
import { MapConstants } from '../models/map.constants';
|
|
13
13
|
import { DrawingService } from '../services/drawing/drawing.service';
|
|
14
|
+
import { DrawingGenerationService } from '../services/drawing/drawing-generation.service';
|
|
15
|
+
import { FeatureService } from '../services/feature.service';
|
|
14
16
|
import * as i0 from "@angular/core";
|
|
15
17
|
import * as i1 from "../services/map-postboy.service";
|
|
16
18
|
import * as i2 from "./map-plate.factory.service";
|
|
@@ -67,6 +69,8 @@ MapPlateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
67
69
|
MapClickService,
|
|
68
70
|
MapFeatureService,
|
|
69
71
|
DrawingService,
|
|
72
|
+
DrawingGenerationService,
|
|
73
|
+
FeatureService,
|
|
70
74
|
], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\r\n<lib-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></lib-feature-layer>\r\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.OsmTileLayerComponent, selector: "lib-osm-tile-layer", inputs: ["url", "map"] }, { kind: "component", type: i6.FeatureLayerComponent, selector: "lib-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
71
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapPlateComponent, decorators: [{
|
|
72
76
|
type: Component,
|
|
@@ -77,8 +81,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
77
81
|
MapClickService,
|
|
78
82
|
MapFeatureService,
|
|
79
83
|
DrawingService,
|
|
84
|
+
DrawingGenerationService,
|
|
85
|
+
FeatureService,
|
|
80
86
|
], template: "<ng-content></ng-content>\r\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\r\n<lib-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></lib-feature-layer>\r\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"] }]
|
|
81
87
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MapPostboyService }, { type: i2.MapPlateFactory }, { type: i3.MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
|
|
82
88
|
type: Input
|
|
83
89
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMx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QW9CWSxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEx5cnNMYWJlbCwgTWFwU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xuaW1wb3J0IHsgdXNlR2VvZ3JhcGhpYyB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2UtcmVnaXN0cmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQbGF0ZUZhY3RvcnkgfSBmcm9tICcuL21hcC1wbGF0ZS5mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVMYXllclNldHRpbmdzIH0gZnJvbSAnLi9sYXllcnMnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgRHJhd2luZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW1hcC1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtcGxhdGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgTWFwU3RhdGVTZXJ2aWNlLFxuICAgIE1hcE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIE1hcENsaWNrU2VydmljZSxcbiAgICBNYXBGZWF0dXJlU2VydmljZSxcbiAgICBEcmF3aW5nU2VydmljZSxcbiAgICBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UsXG4gICAgRmVhdHVyZVNlcnZpY2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcFBsYXRlQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbWFwITogTWFwO1xuICBvc21VcmwgPSAnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSxcbiAgICBwcml2YXRlIG1hcEZhY3Rvcnk6IE1hcFBsYXRlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlZ2lzdHJhdG9yOiBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHJlZ2lzdHJhdG9yLnVwKCk7XG4gIH1cblxuICBfc2V0dGluZ3M6IE1hcFNldHRpbmdzID0gbmV3IE1hcFNldHRpbmdzKCk7XG4gIGRyYXdpbmdMYXllclNldHRpbmdzID0gbmV3IEZlYXR1cmVMYXllclNldHRpbmdzKCkuc2V0TmFtZShNYXBDb25zdGFudHMuRHJhd2luZ0xheWVySWQpO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogTWFwU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuc2V0T3NtKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB1c2VHZW9ncmFwaGljKCk7XG4gICAgdGhpcy5tYXAgPSB0aGlzLm1hcEZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MpO1xuICAgIHRoaXMubWFwLnNldFRhcmdldCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAub25jZSgncG9zdHJlbmRlcicsICgpID0+IHtcbiAgICAgIHRoaXMubWFwLnVwZGF0ZVNpemUoKTtcbiAgICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBNYXBSZW5kZXJlZEV2ZW50KHRoaXMubWFwKSk7XG4gICAgfSk7XG4gICAgdGhpcy5zZXRPc20oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0T3NtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICB0aGlzLm9zbVVybCA9IGBodHRwczovL210ezAtM30uZ29vZ2xlLmNvbS92dC9seXJzPSR7TWFwTHlyc0xhYmVsLmdldCh0aGlzLl9zZXR0aW5ncy5seXJzKX0maGw9JHtcbiAgICAgIHRoaXMuX3NldHRpbmdzLmxhbmd1YWdlXG4gICAgfSZ4PXt4fSZ5PXt5fSZ6PXt6fWA7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAudXBkYXRlU2l6ZSgpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4ge1xuICAgIHRoaXMucmVnaXN0cmF0b3IuZG93bigpO1xuICB9O1xufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48bGliLW9zbS10aWxlLWxheWVyICpuZ0lmPVwib3NtVXJsICYmIG1hcFwiIFttYXBdPVwibWFwXCIgW3VybF09XCJvc21VcmxcIj48L2xpYi1vc20tdGlsZS1sYXllcj5cclxuPGxpYi1mZWF0dXJlLWxheWVyICpuZ0lmPVwibWFwXCIgW3NldHRpbmdzXT1cImRyYXdpbmdMYXllclNldHRpbmdzXCI+PC9saWItZmVhdHVyZS1sYXllcj5cclxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PostboyCallbackMessage } from '@artstesh/postboy';
|
|
2
|
+
export class DrawSelectionAreaCommand extends PostboyCallbackMessage {
|
|
3
|
+
constructor(type, style, ignore = new Set()) {
|
|
4
|
+
super();
|
|
5
|
+
this.type = type;
|
|
6
|
+
this.style = style;
|
|
7
|
+
this.ignore = ignore;
|
|
8
|
+
}
|
|
9
|
+
get id() {
|
|
10
|
+
return DrawSelectionAreaCommand.ID;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
DrawSelectionAreaCommand.ID = '573d8a0d-f25b-42b7-9ad7-0ac6d86ac362';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWVzc2FnZXMvY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxzQkFBaUQ7SUFHN0YsWUFBbUIsSUFBaUIsRUFBUyxLQUFZLEVBQVMsU0FBc0IsSUFBSSxHQUFHLEVBQVU7UUFDdkcsS0FBSyxFQUFFLENBQUM7UUFEUyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFTLFdBQU0sR0FBTixNQUFNLENBQWlDO0lBRXpHLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztJQUNyQyxDQUFDOztBQVJzQiwyQkFBRSxHQUFXLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9zdGJveUNhbGxiYWNrTWVzc2FnZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IERpY3Rpb25hcnksIERyYXdpbmdUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCBTdHlsZSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBJSWRlbnRpZmllZCB9IGZyb20gJy4uLy4uL21vZGVscy9pLWlkZW50aWZpZWQnO1xuXG5leHBvcnQgY2xhc3MgRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kIGV4dGVuZHMgUG9zdGJveUNhbGxiYWNrTWVzc2FnZTxEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+PiB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSUQ6IHN0cmluZyA9ICc1NzNkOGEwZC1mMjViLTQyYjctOWFkNy0wYWM2ZDg2YWMzNjInO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0eXBlOiBEcmF3aW5nVHlwZSwgcHVibGljIHN0eWxlOiBTdHlsZSwgcHVibGljIGlnbm9yZTogU2V0PHN0cmluZz4gPSBuZXcgU2V0PHN0cmluZz4oKSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZC5JRDtcbiAgfVxufVxuIl19
|
|
@@ -4,4 +4,5 @@ export * from './events/map-move-end.event';
|
|
|
4
4
|
export * from './commands/close-tooltip.command';
|
|
5
5
|
export * from './commands/start-drawing.command';
|
|
6
6
|
export * from './commands/cancel-drawing.command';
|
|
7
|
-
|
|
7
|
+
export * from './commands/draw-selection-area.command';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ldmVudHMvbWFwLXJlbmRlcmVkLmV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzL21hcC1jbGljay5ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cy9tYXAtbW92ZS1lbmQuZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9jbG9zZS10b29sdGlwLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9zdGFydC1kcmF3aW5nLmNvbW1hbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9jYW5jZWwtZHJhd2luZy5jb21tYW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PostboyCallbackMessage } from '@artstesh/postboy';
|
|
2
|
+
export class FilterFeaturesInAreaQuery extends PostboyCallbackMessage {
|
|
3
|
+
constructor(area, features) {
|
|
4
|
+
super();
|
|
5
|
+
this.area = area;
|
|
6
|
+
this.features = features;
|
|
7
|
+
}
|
|
8
|
+
get id() {
|
|
9
|
+
return FilterFeaturesInAreaQuery.ID;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
FilterFeaturesInAreaQuery.ID = '36bb2d94-8028-4512-90dd-2386af3fc67c';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEucXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9xdWVyaWVzL2ZpbHRlci1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTNELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBMkM7SUFHeEYsWUFBbUIsSUFBYyxFQUFTLFFBQTZCO1FBQ3JFLEtBQUssRUFBRSxDQUFDO1FBRFMsU0FBSSxHQUFKLElBQUksQ0FBVTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQXFCO0lBRXZFLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDOztBQVJzQiw0QkFBRSxHQUFXLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9zdGJveUNhbGxiYWNrTWVzc2FnZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyRmVhdHVyZXNJbkFyZWFRdWVyeSBleHRlbmRzIFBvc3Rib3lDYWxsYmFja01lc3NhZ2U8RmVhdHVyZTxHZW9tZXRyeT5bXT4ge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElEOiBzdHJpbmcgPSAnMzZiYjJkOTQtODAyOC00NTEyLTkwZGQtMjM4NmFmM2ZjNjdjJztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXJlYTogR2VvbWV0cnksIHB1YmxpYyBmZWF0dXJlczogRmVhdHVyZTxHZW9tZXRyeT5bXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpbHRlckZlYXR1cmVzSW5BcmVhUXVlcnkuSUQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PostboyCallbackMessage } from '@artstesh/postboy';
|
|
2
|
+
export class GenerateDrawQuery extends PostboyCallbackMessage {
|
|
3
|
+
constructor(layer, style, type) {
|
|
4
|
+
super();
|
|
5
|
+
this.layer = layer;
|
|
6
|
+
this.style = style;
|
|
7
|
+
this.type = type;
|
|
8
|
+
}
|
|
9
|
+
get id() {
|
|
10
|
+
return GenerateDrawQuery.ID;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
GenerateDrawQuery.ID = 'f01c99ba-0953-4ab5-82f9-04e6fbb678c1';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZHJhdy5xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL3F1ZXJpZXMvZ2VuZXJhdGUtZHJhdy5xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQU8zRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsc0JBQTRCO0lBR2pFLFlBQW1CLEtBQStCLEVBQVMsS0FBWSxFQUFTLElBQWlCO1FBQy9GLEtBQUssRUFBRSxDQUFDO1FBRFMsVUFBSyxHQUFMLEtBQUssQ0FBMEI7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUVqRyxDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1gsT0FBTyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7QUFSc0Isb0JBQUUsR0FBVyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvc3Rib3lDYWxsYmFja01lc3NhZ2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgRHJhdyB9IGZyb20gJ29sL2ludGVyYWN0aW9uJztcbmltcG9ydCB7IERyYXdpbmdUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCBTdHlsZSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5cbmV4cG9ydCBjbGFzcyBHZW5lcmF0ZURyYXdRdWVyeSBleHRlbmRzIFBvc3Rib3lDYWxsYmFja01lc3NhZ2U8RHJhdz4ge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElEOiBzdHJpbmcgPSAnZjAxYzk5YmEtMDk1My00YWI1LTgyZjktMDRlNmZiYjY3OGMxJztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiwgcHVibGljIHN0eWxlOiBTdHlsZSwgcHVibGljIHR5cGU6IERyYXdpbmdUeXBlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gR2VuZXJhdGVEcmF3UXVlcnkuSUQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PostboyCallbackMessage } from '@artstesh/postboy';
|
|
2
|
+
export class GetFeaturesInAreaQuery extends PostboyCallbackMessage {
|
|
3
|
+
constructor(area, ignore = new Set()) {
|
|
4
|
+
super();
|
|
5
|
+
this.area = area;
|
|
6
|
+
this.ignore = ignore;
|
|
7
|
+
}
|
|
8
|
+
get id() {
|
|
9
|
+
return GetFeaturesInAreaQuery.ID;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
GetFeaturesInAreaQuery.ID = 'efcf4271-a07a-40e0-9f02-d4dade40b8ac';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBTTNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxzQkFBaUQ7SUFHM0YsWUFBbUIsSUFBYyxFQUFTLFNBQXNCLElBQUksR0FBRyxFQUFVO1FBQy9FLEtBQUssRUFBRSxDQUFDO1FBRFMsU0FBSSxHQUFKLElBQUksQ0FBVTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWlDO0lBRWpGLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztJQUNuQyxDQUFDOztBQVJzQix5QkFBRSxHQUFXLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9zdGJveUNhbGxiYWNrTWVzc2FnZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBJSWRlbnRpZmllZCB9IGZyb20gJy4uLy4uL21vZGVscy9pLWlkZW50aWZpZWQnO1xuXG5leHBvcnQgY2xhc3MgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSBleHRlbmRzIFBvc3Rib3lDYWxsYmFja01lc3NhZ2U8RGljdGlvbmFyeTxJSWRlbnRpZmllZFtdPj4ge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElEOiBzdHJpbmcgPSAnZWZjZjQyNzEtYTA3YS00MGUwLTlmMDItZDRkYWRlNDBiOGFjJztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXJlYTogR2VvbWV0cnksIHB1YmxpYyBpZ25vcmU6IFNldDxzdHJpbmc+ID0gbmV3IFNldDxzdHJpbmc+KCkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5LklEO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export class Dictionary {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.collection = {};
|
|
4
|
+
this._keys = new Set();
|
|
5
|
+
this.has = (key) => this._keys.has(key);
|
|
6
|
+
}
|
|
7
|
+
get keys() {
|
|
8
|
+
return Array.from(this._keys);
|
|
9
|
+
}
|
|
10
|
+
get size() {
|
|
11
|
+
return this._keys.size;
|
|
12
|
+
}
|
|
13
|
+
static clone(dic, action) {
|
|
14
|
+
return Dictionary.create(dic.collection, action);
|
|
15
|
+
}
|
|
16
|
+
static create(dic, action) {
|
|
17
|
+
let keyList = Object.keys(dic);
|
|
18
|
+
const result = new Dictionary();
|
|
19
|
+
for (let i = 0; i < keyList.length; i++) {
|
|
20
|
+
let key = keyList[i];
|
|
21
|
+
result._keys.add(key);
|
|
22
|
+
result.collection[key] = action ? action(dic[key], key) : dic[key];
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
find(predicate) {
|
|
27
|
+
let result = null;
|
|
28
|
+
this.forEach((e) => {
|
|
29
|
+
if (result === null && predicate(e))
|
|
30
|
+
result = e;
|
|
31
|
+
});
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
take(key) {
|
|
35
|
+
return this._keys.has(key) ? this.collection[key] : null;
|
|
36
|
+
}
|
|
37
|
+
put(key, value) {
|
|
38
|
+
if (value == null)
|
|
39
|
+
return;
|
|
40
|
+
this.collection[key] = value;
|
|
41
|
+
this._keys.add(key);
|
|
42
|
+
}
|
|
43
|
+
rmv(key) {
|
|
44
|
+
if (!this._keys.has(key))
|
|
45
|
+
return;
|
|
46
|
+
delete this.collection[key];
|
|
47
|
+
this._keys.delete(key);
|
|
48
|
+
}
|
|
49
|
+
forEach(callback) {
|
|
50
|
+
let keys = Object.keys(this.collection);
|
|
51
|
+
for (let i = 0; i < keys.length; i++) {
|
|
52
|
+
callback(this.collection[keys[i]], i);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9kaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBQXZCO1FBQ1MsZUFBVSxHQUFzQixFQUFFLENBQUM7UUFDbEMsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFpQzNCLFFBQUcsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUF3QnBELENBQUM7SUF2REMsSUFBVyxJQUFJO1FBQ2IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBSSxHQUFrQixFQUFFLE1BQStCO1FBQ3hFLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFJLEdBQXNCLEVBQUUsTUFBK0I7UUFDN0UsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBSyxDQUFDO1FBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLElBQUksQ0FBQyxTQUFnQztRQUMxQyxJQUFJLE1BQU0sR0FBYSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2pCLElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBSU0sSUFBSSxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNELENBQUM7SUFFTSxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQWdCO1FBQ3RDLElBQUksS0FBSyxJQUFJLElBQUk7WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxHQUFHLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQUUsT0FBTztRQUNqQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxRQUEyQztRQUN4RCxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBEaWN0aW9uYXJ5PFQ+IHtcbiAgcHVibGljIGNvbGxlY3Rpb246IERpY3Rpb25hcnlUeXBlPFQ+ID0ge307XG4gIHByaXZhdGUgX2tleXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBwdWJsaWMgZ2V0IGtleXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2tleXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2tleXMuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY2xvbmU8VD4oZGljOiBEaWN0aW9uYXJ5PFQ+LCBhY3Rpb24/OiAoZTogVCwgazogc3RyaW5nKSA9PiBUKTogRGljdGlvbmFyeTxUPiB7XG4gICAgcmV0dXJuIERpY3Rpb25hcnkuY3JlYXRlKGRpYy5jb2xsZWN0aW9uLCBhY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjcmVhdGU8VD4oZGljOiBEaWN0aW9uYXJ5VHlwZTxUPiwgYWN0aW9uPzogKGU6IFQsIGs6IHN0cmluZykgPT4gVCk6IERpY3Rpb25hcnk8VD4ge1xuICAgIGxldCBrZXlMaXN0ID0gT2JqZWN0LmtleXMoZGljKTtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxUPigpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5TGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGtleSA9IGtleUxpc3RbaV07XG4gICAgICByZXN1bHQuX2tleXMuYWRkKGtleSk7XG4gICAgICByZXN1bHQuY29sbGVjdGlvbltrZXldID0gYWN0aW9uID8gYWN0aW9uKGRpY1trZXldLCBrZXkpIDogZGljW2tleV07XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgZmluZChwcmVkaWNhdGU6ICh2YWx1ZTogVCkgPT4gYm9vbGVhbik6IFQgfCBudWxsIHtcbiAgICBsZXQgcmVzdWx0OiBUIHwgbnVsbCA9IG51bGw7XG4gICAgdGhpcy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSBudWxsICYmIHByZWRpY2F0ZShlKSkgcmVzdWx0ID0gZTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGhhcyA9IChrZXk6IHN0cmluZykgPT4gdGhpcy5fa2V5cy5oYXMoa2V5KTtcblxuICBwdWJsaWMgdGFrZShrZXk6IHN0cmluZyk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fa2V5cy5oYXMoa2V5KSA/IHRoaXMuY29sbGVjdGlvbltrZXldIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBwdXQoa2V5OiBzdHJpbmcsIHZhbHVlPzogVCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJuO1xuICAgIHRoaXMuY29sbGVjdGlvbltrZXldID0gdmFsdWU7XG4gICAgdGhpcy5fa2V5cy5hZGQoa2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBybXYoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2tleXMuaGFzKGtleSkpIHJldHVybjtcbiAgICBkZWxldGUgdGhpcy5jb2xsZWN0aW9uW2tleV07XG4gICAgdGhpcy5fa2V5cy5kZWxldGUoa2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JFYWNoKGNhbGxiYWNrOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBsZXQga2V5cyA9IE9iamVjdC5rZXlzKHRoaXMuY29sbGVjdGlvbik7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjYWxsYmFjayh0aGlzLmNvbGxlY3Rpb25ba2V5c1tpXV0sIGkpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBEaWN0aW9uYXJ5VHlwZTxUPiA9IHsgW2lkOiBzdHJpbmddOiBUIH07XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export var DrawingType;
|
|
2
2
|
(function (DrawingType) {
|
|
3
3
|
DrawingType[DrawingType["Polygon"] = 1] = "Polygon";
|
|
4
|
+
DrawingType[DrawingType["Circle"] = 2] = "Circle";
|
|
4
5
|
})(DrawingType || (DrawingType = {}));
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tb2RlbHMvZHJhd2luZy10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixtREFBVyxDQUFBO0lBQ1gsaURBQU0sQ0FBQTtBQUNSLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERyYXdpbmdUeXBlIHtcbiAgUG9seWdvbiA9IDEsXG4gIENpcmNsZSxcbn1cbiJdfQ==
|
|
@@ -4,4 +4,5 @@ export * from './marker-model';
|
|
|
4
4
|
export * from './polygon.model';
|
|
5
5
|
export * from './drawing-type.enum';
|
|
6
6
|
export * from './feature-format.enum';
|
|
7
|
-
|
|
7
|
+
export * from './dictionary';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hcC1seXJzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAtc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrZXItbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wb2x5Z29uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhd2luZy10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWZvcm1hdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vZGljdGlvbmFyeSc7XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Draw } from 'ol/interaction';
|
|
3
|
+
import { DrawingType } from '../../models';
|
|
4
|
+
import { createRegularPolygon } from 'ol/interaction/Draw';
|
|
5
|
+
import { GenerateDrawQuery } from '../../messages/queries/generate-draw.query';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../map-postboy.service";
|
|
8
|
+
export class DrawingGenerationService {
|
|
9
|
+
constructor(postboy) {
|
|
10
|
+
this.postboy = postboy;
|
|
11
|
+
}
|
|
12
|
+
up() {
|
|
13
|
+
this.postboy.subscribe(GenerateDrawQuery.ID).subscribe((ev) => {
|
|
14
|
+
ev.finish(new Draw({
|
|
15
|
+
source: ev.layer.getSource(),
|
|
16
|
+
type: DrawingType[ev.type],
|
|
17
|
+
style: ev.style,
|
|
18
|
+
geometryFunction: ev.type !== DrawingType.Circle ? undefined : createRegularPolygon(32),
|
|
19
|
+
}));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
DrawingGenerationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawingGenerationService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
DrawingGenerationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawingGenerationService });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawingGenerationService, decorators: [{
|
|
26
|
+
type: Injectable
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7OztBQUcvRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW9CLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQy9FLEVBQUUsQ0FBQyxNQUFNLENBQ1AsSUFBSSxJQUFJLENBQUM7Z0JBQ1AsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFHO2dCQUM3QixJQUFJLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQVE7Z0JBQ2pDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSztnQkFDZixnQkFBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO2FBQ3hGLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztzSEFkVSx3QkFBd0I7MEhBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IERyYXcgfSBmcm9tICdvbC9pbnRlcmFjdGlvbic7XG5pbXBvcnQgeyBEcmF3aW5nVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBjcmVhdGVSZWd1bGFyUG9seWdvbiB9IGZyb20gJ29sL2ludGVyYWN0aW9uL0RyYXcnO1xuaW1wb3J0IHsgR2VuZXJhdGVEcmF3UXVlcnkgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9xdWVyaWVzL2dlbmVyYXRlLWRyYXcucXVlcnknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPEdlbmVyYXRlRHJhd1F1ZXJ5PihHZW5lcmF0ZURyYXdRdWVyeS5JRCkuc3Vic2NyaWJlKChldikgPT4ge1xuICAgICAgZXYuZmluaXNoKFxuICAgICAgICBuZXcgRHJhdyh7XG4gICAgICAgICAgc291cmNlOiBldi5sYXllci5nZXRTb3VyY2UoKSEsXG4gICAgICAgICAgdHlwZTogRHJhd2luZ1R5cGVbZXYudHlwZV0gYXMgYW55LFxuICAgICAgICAgIHN0eWxlOiBldi5zdHlsZSxcbiAgICAgICAgICBnZW9tZXRyeUZ1bmN0aW9uOiBldi50eXBlICE9PSBEcmF3aW5nVHlwZS5DaXJjbGUgPyB1bmRlZmluZWQgOiBjcmVhdGVSZWd1bGFyUG9seWdvbigzMiksXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -7,9 +7,11 @@ import { MapRenderedEvent } from '../../messages';
|
|
|
7
7
|
import { GetLayerQuery } from '../../messages/queries/get-layer.query';
|
|
8
8
|
import { MapConstants } from '../../models/map.constants';
|
|
9
9
|
import { Vector as Source } from 'ol/source';
|
|
10
|
-
import {
|
|
11
|
-
import { DrawingType, FeatureOutputFormat } from '../../models';
|
|
10
|
+
import { Dictionary, FeatureOutputFormat, PolygonModel } from '../../models';
|
|
12
11
|
import { GeoJSON, WKT } from 'ol/format';
|
|
12
|
+
import { GenerateDrawQuery } from '../../messages/queries/generate-draw.query';
|
|
13
|
+
import { DrawSelectionAreaCommand } from '../../messages/commands/draw-selection-area.command';
|
|
14
|
+
import { GetFeaturesInAreaQuery } from '../../messages/queries/get-features-in-area.query';
|
|
13
15
|
import * as i0 from "@angular/core";
|
|
14
16
|
import * as i1 from "../map-postboy.service";
|
|
15
17
|
export class DrawingService {
|
|
@@ -17,26 +19,46 @@ export class DrawingService {
|
|
|
17
19
|
this.postboy = postboy;
|
|
18
20
|
}
|
|
19
21
|
up() {
|
|
22
|
+
this.observeDrawing();
|
|
23
|
+
this.observeSelectArea();
|
|
24
|
+
this.observeMapRender();
|
|
25
|
+
}
|
|
26
|
+
observeSelectArea() {
|
|
27
|
+
this.postboy.subscribe(DrawSelectionAreaCommand.ID).subscribe((ev) => {
|
|
28
|
+
const drawingCommand = new StartDrawingCommand(ev.type, ev.style);
|
|
29
|
+
drawingCommand.result.subscribe((r) => {
|
|
30
|
+
if (!r) {
|
|
31
|
+
ev.finish(new Dictionary());
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const area = PolygonModel.fromGeoJson(1, r).feature.getGeometry();
|
|
35
|
+
const getFeaturesCommand = new GetFeaturesInAreaQuery(area, ev.ignore);
|
|
36
|
+
getFeaturesCommand.result.subscribe((result) => ev.finish(result));
|
|
37
|
+
this.postboy.fire(getFeaturesCommand);
|
|
38
|
+
});
|
|
39
|
+
this.postboy.fire(drawingCommand);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
observeDrawing() {
|
|
20
43
|
this.postboy.subscribe(StartDrawingCommand.ID).subscribe((ev) => {
|
|
21
44
|
this.draw((l) => {
|
|
22
45
|
if (!l || !this.map) {
|
|
23
46
|
this.clearInteraction(l);
|
|
24
47
|
return;
|
|
25
48
|
}
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this.onEnd(evt, ev, l);
|
|
49
|
+
const drawQuery = new GenerateDrawQuery(l, ev.style, ev.type);
|
|
50
|
+
drawQuery.result.subscribe((draw) => {
|
|
51
|
+
const cancelSub = this.observeCancelation(ev, l);
|
|
52
|
+
this.drawInteraction = draw;
|
|
53
|
+
this.map?.addInteraction(this.drawInteraction);
|
|
54
|
+
this.drawInteraction.on('drawend', (evt) => {
|
|
55
|
+
cancelSub.unsubscribe();
|
|
56
|
+
this.onEnd(evt, ev, l);
|
|
57
|
+
});
|
|
36
58
|
});
|
|
59
|
+
this.postboy.fire(drawQuery);
|
|
37
60
|
});
|
|
38
61
|
});
|
|
39
|
-
this.observeMapRender();
|
|
40
62
|
}
|
|
41
63
|
onEnd(evt, command, layer) {
|
|
42
64
|
command.finish(command.format === FeatureOutputFormat.GeoJson
|
|
@@ -76,4 +98,4 @@ DrawingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
|
|
|
76
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawingService, decorators: [{
|
|
77
99
|
type: Injectable
|
|
78
100
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBSXpDLE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQXNCLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFB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QUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbEQsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7OzRHQWxFVSxjQUFjO2dIQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBTdGFydERyYXdpbmdDb21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvc3RhcnQtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IENhbmNlbERyYXdpbmdDb21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERyYXdpbmdGaW5pc2hlZEV2ZW50IH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvZXZlbnRzL2RyYXdpbmctZmluaXNoZWQuZXZlbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgeyBWZWN0b3IgYXMgU291cmNlIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IERyYXcsIFNuYXAgfSBmcm9tICdvbC9pbnRlcmFjdGlvbic7XG5pbXBvcnQgeyBEcmF3aW5nVHlwZSwgRmVhdHVyZU91dHB1dEZvcm1hdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBEcmF3RXZlbnQgfSBmcm9tICdvbC9pbnRlcmFjdGlvbi9EcmF3JztcbmltcG9ydCB7IEdlb0pTT04sIFdLVCB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHJhd2luZ1NlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIGRyYXdJbnRlcmFjdGlvbj86IERyYXc7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHt9XG5cbiAgdXAoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxTdGFydERyYXdpbmdDb21tYW5kPihTdGFydERyYXdpbmdDb21tYW5kLklEKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICB0aGlzLmRyYXcoKGwpID0+IHtcbiAgICAgICAgaWYgKCFsIHx8ICF0aGlzLm1hcCkge1xuICAgICAgICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2FuY2VsU3ViID0gdGhpcy5vYnNlcnZlQ2FuY2VsYXRpb24oZXYsIGwpO1xuICAgICAgICB0aGlzLmRyYXdJbnRlcmFjdGlvbiA9IG5ldyBEcmF3KHtcbiAgICAgICAgICBzb3VyY2U6IGwuZ2V0U291cmNlKCkhLFxuICAgICAgICAgIHR5cGU6IERyYXdpbmdUeXBlW2V2LnR5cGVdIGFzIGFueSxcbiAgICAgICAgICBzdHlsZTogZXYuc3R5bGUsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm1hcC5hZGRJbnRlcmFjdGlvbih0aGlzLmRyYXdJbnRlcmFjdGlvbik7XG4gICAgICAgIHRoaXMuZHJhd0ludGVyYWN0aW9uLm9uKCdkcmF3ZW5kJywgKGV2dDogRHJhd0V2ZW50KSA9PiB7XG4gICAgICAgICAgY2FuY2VsU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgdGhpcy5vbkVuZChldnQsIGV2LCBsKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25FbmQoZXZ0OiBEcmF3RXZlbnQsIGNvbW1hbmQ6IFN0YXJ0RHJhd2luZ0NvbW1hbmQsIGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8R2VvbWV0cnk+Pik6IHZvaWQge1xuICAgIGNvbW1hbmQuZmluaXNoKFxuICAgICAgY29tbWFuZC5mb3JtYXQgPT09IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvblxuICAgICAgICA/IG5ldyBHZW9KU09OKCkud3JpdGVGZWF0dXJlKGV2dC5mZWF0dXJlKVxuICAgICAgICA6IG5ldyBXS1QoKS53cml0ZUZlYXR1cmUoZXZ0LmZlYXR1cmUpLFxuICAgICk7XG4gICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGxheWVyKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhdyhhY3Rpb246IChsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IEdldExheWVyUXVlcnkoTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKTtcbiAgICBxdWVyeS5yZXN1bHQuc3Vic2NyaWJlKChsKSA9PiBhY3Rpb24obCkpO1xuICAgIHRoaXMucG9zdGJveS5maXJlKHF1ZXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUNhbmNlbGF0aW9uKGV2OiBTdGFydERyYXdpbmdDb21tYW5kLCBsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IHwgbnVsbCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxDYW5jZWxEcmF3aW5nQ29tbWFuZD4oQ2FuY2VsRHJhd2luZ0NvbW1hbmQuSUQpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGV2LmZpbmlzaChudWxsKTtcbiAgICAgICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGxheWVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckludGVyYWN0aW9uKGxheWVyOiBMYXllcjxTb3VyY2U8R2VvbWV0cnk+PiB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLmRyYXdJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5tYXA/LnJlbW92ZUludGVyYWN0aW9uKHRoaXMuZHJhd0ludGVyYWN0aW9uKTtcbiAgICAgIGxheWVyPy5zZXRTb3VyY2UobmV3IFNvdXJjZSh7fSkpO1xuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucG9zdGJveS5maXJlKG5ldyBEcmF3aW5nRmluaXNoZWRFdmVudCgpKSwgMzAwKTtcbiAgfVxufVxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUk3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7O0FBSTNGLE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcs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QUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBcUM7UUFDNUQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUMxQixJQUFJLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNsRCxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7NEdBeEZVLGNBQWM7Z0hBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXJ0RHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9zdGFydC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgQ2FuY2VsRHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9jYW5jZWwtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRHJhd2luZ0ZpbmlzaGVkRXZlbnQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9ldmVudHMvZHJhd2luZy1maW5pc2hlZC5ldmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBHZXRMYXllclF1ZXJ5IH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtbGF5ZXIucXVlcnknO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcbmltcG9ydCB7IFZlY3RvciBhcyBTb3VyY2UgfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgRHJhdyB9IGZyb20gJ29sL2ludGVyYWN0aW9uJztcbmltcG9ydCB7IERpY3Rpb25hcnksIEZlYXR1cmVPdXRwdXRGb3JtYXQsIFBvbHlnb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBEcmF3RXZlbnQgfSBmcm9tICdvbC9pbnRlcmFjdGlvbi9EcmF3JztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgR2VuZXJhdGVEcmF3UXVlcnkgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9xdWVyaWVzL2dlbmVyYXRlLWRyYXcucXVlcnknO1xuaW1wb3J0IHsgRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmF3aW5nU2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgZHJhd0ludGVyYWN0aW9uPzogRHJhdztcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVEcmF3aW5nKCk7XG4gICAgdGhpcy5vYnNlcnZlU2VsZWN0QXJlYSgpO1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlU2VsZWN0QXJlYSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZD4oRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kLklEKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICBjb25zdCBkcmF3aW5nQ29tbWFuZCA9IG5ldyBTdGFydERyYXdpbmdDb21tYW5kKGV2LnR5cGUsIGV2LnN0eWxlKTtcbiAgICAgIGRyYXdpbmdDb21tYW5kLnJlc3VsdC5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgaWYgKCFyKSB7XG4gICAgICAgICAgZXYuZmluaXNoKG5ldyBEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+KCkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhcmVhID0gUG9seWdvbk1vZGVsLmZyb21HZW9Kc29uKDEsIHIpLmZlYXR1cmUuZ2V0R2VvbWV0cnkoKSE7XG4gICAgICAgIGNvbnN0IGdldEZlYXR1cmVzQ29tbWFuZCA9IG5ldyBHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5KGFyZWEsIGV2Lmlnbm9yZSk7XG4gICAgICAgIGdldEZlYXR1cmVzQ29tbWFuZC5yZXN1bHQuc3Vic2NyaWJlKChyZXN1bHQpID0+IGV2LmZpbmlzaChyZXN1bHQpKTtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZ2V0RmVhdHVyZXNDb21tYW5kKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZHJhd2luZ0NvbW1hbmQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRHJhd2luZygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFN0YXJ0RHJhd2luZ0NvbW1hbmQ+KFN0YXJ0RHJhd2luZ0NvbW1hbmQuSUQpLnN1YnNjcmliZSgoZXYpID0+IHtcbiAgICAgIHRoaXMuZHJhdygobCkgPT4ge1xuICAgICAgICBpZiAoIWwgfHwgIXRoaXMubWFwKSB7XG4gICAgICAgICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkcmF3UXVlcnkgPSBuZXcgR2VuZXJhdGVEcmF3UXVlcnkobCwgZXYuc3R5bGUsIGV2LnR5cGUpO1xuICAgICAgICBkcmF3UXVlcnkucmVzdWx0LnN1YnNjcmliZSgoZHJhdykgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhbmNlbFN1YiA9IHRoaXMub2JzZXJ2ZUNhbmNlbGF0aW9uKGV2LCBsKTtcbiAgICAgICAgICB0aGlzLmRyYXdJbnRlcmFjdGlvbiA9IGRyYXc7XG4gICAgICAgICAgdGhpcy5tYXA/LmFkZEludGVyYWN0aW9uKHRoaXMuZHJhd0ludGVyYWN0aW9uKTtcbiAgICAgICAgICB0aGlzLmRyYXdJbnRlcmFjdGlvbi5vbignZHJhd2VuZCcsIChldnQ6IERyYXdFdmVudCkgPT4ge1xuICAgICAgICAgICAgY2FuY2VsU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLm9uRW5kKGV2dCwgZXYsIGwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZHJhd1F1ZXJ5KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkVuZChldnQ6IERyYXdFdmVudCwgY29tbWFuZDogU3RhcnREcmF3aW5nQ29tbWFuZCwgbGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxHZW9tZXRyeT4+KTogdm9pZCB7XG4gICAgY29tbWFuZC5maW5pc2goXG4gICAgICBjb21tYW5kLmZvcm1hdCA9PT0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uXG4gICAgICAgID8gbmV3IEdlb0pTT04oKS53cml0ZUZlYXR1cmUoZXZ0LmZlYXR1cmUpXG4gICAgICAgIDogbmV3IFdLVCgpLndyaXRlRmVhdHVyZShldnQuZmVhdHVyZSksXG4gICAgKTtcbiAgICB0aGlzLmNsZWFySW50ZXJhY3Rpb24obGF5ZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3KGFjdGlvbjogKGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8YW55Pj4gfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgY29uc3QgcXVlcnkgPSBuZXcgR2V0TGF5ZXJRdWVyeShNYXBDb25zdGFudHMuRHJhd2luZ0xheWVySWQpO1xuICAgIHF1ZXJ5LnJlc3VsdC5zdWJzY3JpYmUoKGwpID0+IGFjdGlvbihsKSk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUocXVlcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQ2FuY2VsYXRpb24oZXY6IFN0YXJ0RHJhd2luZ0NvbW1hbmQsIGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8YW55Pj4gfCBudWxsKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPENhbmNlbERyYXdpbmdDb21tYW5kPihDYW5jZWxEcmF3aW5nQ29tbWFuZC5JRClcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgZXYuZmluaXNoKG51bGwpO1xuICAgICAgICB0aGlzLmNsZWFySW50ZXJhY3Rpb24obGF5ZXIpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySW50ZXJhY3Rpb24obGF5ZXI6IExheWVyPFNvdXJjZTxHZW9tZXRyeT4+IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMuZHJhd0ludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLm1hcD8ucmVtb3ZlSW50ZXJhY3Rpb24odGhpcy5kcmF3SW50ZXJhY3Rpb24pO1xuICAgICAgbGF5ZXI/LnNldFNvdXJjZShuZXcgU291cmNlKHt9KSk7XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wb3N0Ym95LmZpcmUobmV3IERyYXdpbmdGaW5pc2hlZEV2ZW50KCkpLCAzMDApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { FilterFeaturesInAreaQuery } from '../messages/queries/filter-features-in-area.query';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./map-postboy.service";
|
|
5
|
+
export class FeatureService {
|
|
6
|
+
constructor(postboy) {
|
|
7
|
+
this.postboy = postboy;
|
|
8
|
+
}
|
|
9
|
+
up() {
|
|
10
|
+
this.postboy.subscribe(FilterFeaturesInAreaQuery.ID).subscribe((qr) => {
|
|
11
|
+
qr.finish(qr.features.filter((f) => FeatureService.booleanIntersects(qr.area, f.getGeometry())));
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
static booleanIntersects(g1, g2) {
|
|
15
|
+
if (g2.getType() === 'Point')
|
|
16
|
+
return g1.intersectsCoordinate(g2.getCoordinates());
|
|
17
|
+
if (g2.getType() === 'Circle')
|
|
18
|
+
return g1.intersectsCoordinate(g2.getCenter());
|
|
19
|
+
if (g2.getType() === 'Polygon')
|
|
20
|
+
return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
FeatureService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FeatureService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
FeatureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FeatureService });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FeatureService, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7OztBQUc5RixNQUFNLE9BQU8sY0FBYztJQUN6QixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUFHLENBQUM7SUFFbEQsRUFBRTtRQUNBLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUE0Qix5QkFBeUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUMvRixFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQVksRUFBRSxFQUFZO1FBQ3pELElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBRSxFQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUM3RixJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRO1lBQUUsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUUsRUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssU0FBUztZQUFFLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFFLEVBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDcEgsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs0R0FkVSxjQUFjO2dIQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IENpcmNsZSwgR2VvbWV0cnksIFBvaW50IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgUG9seWdvbiBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IHsgRmlsdGVyRmVhdHVyZXNJbkFyZWFRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmVhdHVyZVNlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8RmlsdGVyRmVhdHVyZXNJbkFyZWFRdWVyeT4oRmlsdGVyRmVhdHVyZXNJbkFyZWFRdWVyeS5JRCkuc3Vic2NyaWJlKChxcikgPT4ge1xuICAgICAgcXIuZmluaXNoKHFyLmZlYXR1cmVzLmZpbHRlcigoZikgPT4gRmVhdHVyZVNlcnZpY2UuYm9vbGVhbkludGVyc2VjdHMocXIuYXJlYSwgZi5nZXRHZW9tZXRyeSgpISkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGJvb2xlYW5JbnRlcnNlY3RzKGcxOiBHZW9tZXRyeSwgZzI6IEdlb21ldHJ5KTogYm9vbGVhbiB7XG4gICAgaWYgKGcyLmdldFR5cGUoKSA9PT0gJ1BvaW50JykgcmV0dXJuIGcxLmludGVyc2VjdHNDb29yZGluYXRlKChnMiBhcyBQb2ludCkuZ2V0Q29vcmRpbmF0ZXMoKSk7XG4gICAgaWYgKGcyLmdldFR5cGUoKSA9PT0gJ0NpcmNsZScpIHJldHVybiBnMS5pbnRlcnNlY3RzQ29vcmRpbmF0ZSgoZzIgYXMgQ2lyY2xlKS5nZXRDZW50ZXIoKSk7XG4gICAgaWYgKGcyLmdldFR5cGUoKSA9PT0gJ1BvbHlnb24nKSByZXR1cm4gZzEuaW50ZXJzZWN0c0Nvb3JkaW5hdGUoKGcyIGFzIFBvbHlnb24pLmdldEludGVyaW9yUG9pbnQoKS5nZXRDb29yZGluYXRlcygpKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|