@artstesh/maps 5.0.8 → 5.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/esm2022/map/helpers/index.mjs +2 -1
- package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +58 -0
- package/dist/esm2022/map/map-plate/map-plate.component.mjs +7 -1
- package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +17 -0
- package/dist/esm2022/map/messages/index.mjs +2 -1
- package/dist/esm2022/map/messages/queries/filter-features-in-area.query.mjs +15 -0
- package/dist/esm2022/map/messages/queries/generate-draw.query.mjs +17 -0
- package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +15 -0
- package/dist/esm2022/map/models/dictionary.mjs +54 -0
- package/dist/esm2022/map/models/drawing-type.enum.mjs +2 -1
- package/dist/esm2022/map/models/index.mjs +2 -1
- package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +29 -0
- package/dist/esm2022/map/services/drawing/drawing.service.mjs +36 -14
- package/dist/esm2022/map/services/feature.service.mjs +30 -0
- package/dist/esm2022/map/services/map-management.service.mjs +36 -7
- package/dist/esm2022/map/services/message-registrator.service.mjs +15 -5
- package/dist/esm2022/src/map/helpers/index.mjs +2 -1
- package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +58 -0
- package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +7 -1
- package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +17 -0
- package/dist/esm2022/src/map/messages/index.mjs +2 -1
- package/dist/esm2022/src/map/messages/queries/filter-features-in-area.query.mjs +15 -0
- package/dist/esm2022/src/map/messages/queries/generate-draw.query.mjs +17 -0
- package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +15 -0
- package/dist/esm2022/src/map/models/dictionary.mjs +54 -0
- package/dist/esm2022/src/map/models/drawing-type.enum.mjs +2 -1
- package/dist/esm2022/src/map/models/index.mjs +2 -1
- package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +29 -0
- package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +36 -14
- package/dist/esm2022/src/map/services/feature.service.mjs +30 -0
- package/dist/esm2022/src/map/services/map-management.service.mjs +36 -7
- package/dist/esm2022/src/map/services/message-registrator.service.mjs +15 -5
- package/dist/fesm2022/maps-components-src-map.mjs +294 -27
- package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2022/maps-components.mjs +294 -27
- package/dist/fesm2022/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";
|
|
@@ -72,6 +74,8 @@ export class MapPlateComponent extends DestructibleComponent {
|
|
|
72
74
|
MapClickService,
|
|
73
75
|
MapFeatureService,
|
|
74
76
|
DrawingService,
|
|
77
|
+
DrawingGenerationService,
|
|
78
|
+
FeatureService,
|
|
75
79
|
], 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 });
|
|
76
80
|
}
|
|
77
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, decorators: [{
|
|
@@ -83,8 +87,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
83
87
|
MapClickService,
|
|
84
88
|
MapFeatureService,
|
|
85
89
|
DrawingService,
|
|
90
|
+
DrawingGenerationService,
|
|
91
|
+
FeatureService,
|
|
86
92
|
], 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"] }]
|
|
87
93
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MapPostboyService }, { type: i2.MapPlateFactory }, { type: i3.MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
|
|
88
94
|
type: Input
|
|
89
95
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMx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Y0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2Y7dU9Bb0JZLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwTHlyc0xhYmVsLCBNYXBTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCc7XG5pbXBvcnQgeyB1c2VHZW9ncmFwaGljIH0gZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgTWFwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFBsYXRlRmFjdG9yeSB9IGZyb20gJy4vbWFwLXBsYXRlLmZhY3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZSc7XG5pbXBvcnQgeyBNYXBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2xheWVycyc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBEcmF3aW5nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXdpbmcvZHJhd2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXdpbmcvZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mZWF0dXJlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbWFwLXBsYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSxcbiAgICBNYXBTdGF0ZVNlcnZpY2UsXG4gICAgTWFwTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgTWFwQ2xpY2tTZXJ2aWNlLFxuICAgIE1hcEZlYXR1cmVTZXJ2aWNlLFxuICAgIERyYXdpbmdTZXJ2aWNlLFxuICAgIERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSxcbiAgICBGZWF0dXJlU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwUGxhdGVDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtYXAhOiBNYXA7XG4gIG9zbVVybCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwRmFjdG9yeTogTWFwUGxhdGVGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVnaXN0cmF0b3I6IE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgcmVnaXN0cmF0b3IudXAoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogTWFwU2V0dGluZ3MgPSBuZXcgTWFwU2V0dGluZ3MoKTtcbiAgZHJhd2luZ0xheWVyU2V0dGluZ3MgPSBuZXcgRmVhdHVyZUxheWVyU2V0dGluZ3MoKS5zZXROYW1lKE1hcENvbnN0YW50cy5EcmF3aW5nTGF5ZXJJZCk7XG5cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBNYXBTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5zZXRPc20oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHVzZUdlb2dyYXBoaWMoKTtcbiAgICB0aGlzLm1hcCA9IHRoaXMubWFwRmFjdG9yeS5idWlsZCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgdGhpcy5tYXAuc2V0VGFyZ2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLmRldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1hcC5vbmNlKCdwb3N0cmVuZGVyJywgKCkgPT4ge1xuICAgICAgdGhpcy5tYXAudXBkYXRlU2l6ZSgpO1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IE1hcFJlbmRlcmVkRXZlbnQodGhpcy5tYXApKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRPc20oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgIHRoaXMub3NtVXJsID0gYGh0dHBzOi8vbXR7MC0zfS5nb29nbGUuY29tL3Z0L2x5cnM9JHtNYXBMeXJzTGFiZWwuZ2V0KHRoaXMuX3NldHRpbmdzLmx5cnMpfSZobD0ke1xuICAgICAgdGhpcy5fc2V0dGluZ3MubGFuZ3VhZ2VcbiAgICB9Jng9e3h9Jnk9e3l9Jno9e3p9YDtcbiAgICB0aGlzLmRldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB7XG4gICAgdGhpcy5yZWdpc3RyYXRvci5kb3duKCk7XG4gIH07XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjxsaWItb3NtLXRpbGUtbGF5ZXIgKm5nSWY9XCJvc21VcmwgJiYgbWFwXCIgW21hcF09XCJtYXBcIiBbdXJsXT1cIm9zbVVybFwiPjwvbGliLW9zbS10aWxlLWxheWVyPlxyXG48bGliLWZlYXR1cmUtbGF5ZXIgKm5nSWY9XCJtYXBcIiBbc2V0dGluZ3NdPVwiZHJhd2luZ0xheWVyU2V0dGluZ3NcIj48L2xpYi1mZWF0dXJlLWxheWVyPlxyXG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PostboyCallbackMessage } from '@artstesh/postboy';
|
|
2
|
+
export class DrawSelectionAreaCommand extends PostboyCallbackMessage {
|
|
3
|
+
type;
|
|
4
|
+
style;
|
|
5
|
+
ignore;
|
|
6
|
+
static ID = '573d8a0d-f25b-42b7-9ad7-0ac6d86ac362';
|
|
7
|
+
constructor(type, style, ignore = new Set()) {
|
|
8
|
+
super();
|
|
9
|
+
this.type = type;
|
|
10
|
+
this.style = style;
|
|
11
|
+
this.ignore = ignore;
|
|
12
|
+
}
|
|
13
|
+
get id() {
|
|
14
|
+
return DrawSelectionAreaCommand.ID;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWVzc2FnZXMvY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxzQkFBaUQ7SUFHMUU7SUFBMEI7SUFBcUI7SUFGM0QsTUFBTSxDQUFVLEVBQUUsR0FBVyxzQ0FBc0MsQ0FBQztJQUUzRSxZQUFtQixJQUFpQixFQUFTLEtBQVksRUFBUyxTQUFzQixJQUFJLEdBQUcsRUFBVTtRQUN2RyxLQUFLLEVBQUUsQ0FBQztRQURTLFNBQUksR0FBSixJQUFJLENBQWE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBaUM7SUFFekcsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8sd0JBQXdCLENBQUMsRUFBRSxDQUFDO0lBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3N0Ym95Q2FsbGJhY2tNZXNzYWdlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgRGljdGlvbmFyeSwgRHJhd2luZ1R5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IFN0eWxlIGZyb20gJ29sL3N0eWxlL1N0eWxlJztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5cbmV4cG9ydCBjbGFzcyBEcmF3U2VsZWN0aW9uQXJlYUNvbW1hbmQgZXh0ZW5kcyBQb3N0Ym95Q2FsbGJhY2tNZXNzYWdlPERpY3Rpb25hcnk8SUlkZW50aWZpZWRbXT4+IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJRDogc3RyaW5nID0gJzU3M2Q4YTBkLWYyNWItNDJiNy05YWQ3LTBhYzZkODZhYzM2Mic7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHR5cGU6IERyYXdpbmdUeXBlLCBwdWJsaWMgc3R5bGU6IFN0eWxlLCBwdWJsaWMgaWdub3JlOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQ8c3RyaW5nPigpKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kLklEO1xuICB9XG59XG4iXX0=
|
|
@@ -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,15 @@
|
|
|
1
|
+
import { PostboyCallbackMessage } from '@artstesh/postboy';
|
|
2
|
+
export class FilterFeaturesInAreaQuery extends PostboyCallbackMessage {
|
|
3
|
+
area;
|
|
4
|
+
features;
|
|
5
|
+
static ID = '36bb2d94-8028-4512-90dd-2386af3fc67c';
|
|
6
|
+
constructor(area, features) {
|
|
7
|
+
super();
|
|
8
|
+
this.area = area;
|
|
9
|
+
this.features = features;
|
|
10
|
+
}
|
|
11
|
+
get id() {
|
|
12
|
+
return FilterFeaturesInAreaQuery.ID;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEucXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9xdWVyaWVzL2ZpbHRlci1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTNELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBMkM7SUFHckU7SUFBdUI7SUFGbkMsTUFBTSxDQUFVLEVBQUUsR0FBVyxzQ0FBc0MsQ0FBQztJQUUzRSxZQUFtQixJQUFjLEVBQVMsUUFBNkI7UUFDckUsS0FBSyxFQUFFLENBQUM7UUFEUyxTQUFJLEdBQUosSUFBSSxDQUFVO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFFdkUsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8seUJBQXlCLENBQUMsRUFBRSxDQUFDO0lBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3N0Ym95Q2FsbGJhY2tNZXNzYWdlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJGZWF0dXJlc0luQXJlYVF1ZXJ5IGV4dGVuZHMgUG9zdGJveUNhbGxiYWNrTWVzc2FnZTxGZWF0dXJlPEdlb21ldHJ5PltdPiB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSUQ6IHN0cmluZyA9ICczNmJiMmQ5NC04MDI4LTQ1MTItOTBkZC0yMzg2YWYzZmM2N2MnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhcmVhOiBHZW9tZXRyeSwgcHVibGljIGZlYXR1cmVzOiBGZWF0dXJlPEdlb21ldHJ5PltdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRmlsdGVyRmVhdHVyZXNJbkFyZWFRdWVyeS5JRDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PostboyCallbackMessage } from '@artstesh/postboy';
|
|
2
|
+
export class GenerateDrawQuery extends PostboyCallbackMessage {
|
|
3
|
+
layer;
|
|
4
|
+
style;
|
|
5
|
+
type;
|
|
6
|
+
static ID = 'f01c99ba-0953-4ab5-82f9-04e6fbb678c1';
|
|
7
|
+
constructor(layer, style, type) {
|
|
8
|
+
super();
|
|
9
|
+
this.layer = layer;
|
|
10
|
+
this.style = style;
|
|
11
|
+
this.type = type;
|
|
12
|
+
}
|
|
13
|
+
get id() {
|
|
14
|
+
return GenerateDrawQuery.ID;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZHJhdy5xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL3F1ZXJpZXMvZ2VuZXJhdGUtZHJhdy5xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQU8zRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsc0JBQTRCO0lBRzlDO0lBQXdDO0lBQXFCO0lBRnpFLE1BQU0sQ0FBVSxFQUFFLEdBQVcsc0NBQXNDLENBQUM7SUFFM0UsWUFBbUIsS0FBK0IsRUFBUyxLQUFZLEVBQVMsSUFBaUI7UUFDL0YsS0FBSyxFQUFFLENBQUM7UUFEUyxVQUFLLEdBQUwsS0FBSyxDQUEwQjtRQUFTLFVBQUssR0FBTCxLQUFLLENBQU87UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFhO0lBRWpHLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztJQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9zdGJveUNhbGxiYWNrTWVzc2FnZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgeyBEcmF3IH0gZnJvbSAnb2wvaW50ZXJhY3Rpb24nO1xuaW1wb3J0IHsgRHJhd2luZ1R5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IFN0eWxlIGZyb20gJ29sL3N0eWxlL1N0eWxlJztcblxuZXhwb3J0IGNsYXNzIEdlbmVyYXRlRHJhd1F1ZXJ5IGV4dGVuZHMgUG9zdGJveUNhbGxiYWNrTWVzc2FnZTxEcmF3PiB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSUQ6IHN0cmluZyA9ICdmMDFjOTliYS0wOTUzLTRhYjUtODJmOS0wNGU2ZmJiNjc4YzEnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+LCBwdWJsaWMgc3R5bGU6IFN0eWxlLCBwdWJsaWMgdHlwZTogRHJhd2luZ1R5cGUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBHZW5lcmF0ZURyYXdRdWVyeS5JRDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PostboyCallbackMessage } from '@artstesh/postboy';
|
|
2
|
+
export class GetFeaturesInAreaQuery extends PostboyCallbackMessage {
|
|
3
|
+
area;
|
|
4
|
+
ignore;
|
|
5
|
+
static ID = 'efcf4271-a07a-40e0-9f02-d4dade40b8ac';
|
|
6
|
+
constructor(area, ignore = new Set()) {
|
|
7
|
+
super();
|
|
8
|
+
this.area = area;
|
|
9
|
+
this.ignore = ignore;
|
|
10
|
+
}
|
|
11
|
+
get id() {
|
|
12
|
+
return GetFeaturesInAreaQuery.ID;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBTTNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxzQkFBaUQ7SUFHeEU7SUFBdUI7SUFGbkMsTUFBTSxDQUFVLEVBQUUsR0FBVyxzQ0FBc0MsQ0FBQztJQUUzRSxZQUFtQixJQUFjLEVBQVMsU0FBc0IsSUFBSSxHQUFHLEVBQVU7UUFDL0UsS0FBSyxFQUFFLENBQUM7UUFEUyxTQUFJLEdBQUosSUFBSSxDQUFVO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBaUM7SUFFakYsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8sc0JBQXNCLENBQUMsRUFBRSxDQUFDO0lBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3N0Ym95Q2FsbGJhY2tNZXNzYWdlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5cbmV4cG9ydCBjbGFzcyBHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5IGV4dGVuZHMgUG9zdGJveUNhbGxiYWNrTWVzc2FnZTxEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+PiB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSUQ6IHN0cmluZyA9ICdlZmNmNDI3MS1hMDdhLTQwZTAtOWYwMi1kNGRhZGU0MGI4YWMnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhcmVhOiBHZW9tZXRyeSwgcHVibGljIGlnbm9yZTogU2V0PHN0cmluZz4gPSBuZXcgU2V0PHN0cmluZz4oKSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEdldEZlYXR1cmVzSW5BcmVhUXVlcnkuSUQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export class Dictionary {
|
|
2
|
+
collection = {};
|
|
3
|
+
_keys = new Set();
|
|
4
|
+
get keys() {
|
|
5
|
+
return Array.from(this._keys);
|
|
6
|
+
}
|
|
7
|
+
get size() {
|
|
8
|
+
return this._keys.size;
|
|
9
|
+
}
|
|
10
|
+
static clone(dic, action) {
|
|
11
|
+
return Dictionary.create(dic.collection, action);
|
|
12
|
+
}
|
|
13
|
+
static create(dic, action) {
|
|
14
|
+
let keyList = Object.keys(dic);
|
|
15
|
+
const result = new Dictionary();
|
|
16
|
+
for (let i = 0; i < keyList.length; i++) {
|
|
17
|
+
let key = keyList[i];
|
|
18
|
+
result._keys.add(key);
|
|
19
|
+
result.collection[key] = action ? action(dic[key], key) : dic[key];
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
find(predicate) {
|
|
24
|
+
let result = null;
|
|
25
|
+
this.forEach((e) => {
|
|
26
|
+
if (result === null && predicate(e))
|
|
27
|
+
result = e;
|
|
28
|
+
});
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
has = (key) => this._keys.has(key);
|
|
32
|
+
take(key) {
|
|
33
|
+
return this._keys.has(key) ? this.collection[key] : null;
|
|
34
|
+
}
|
|
35
|
+
put(key, value) {
|
|
36
|
+
if (value == null)
|
|
37
|
+
return;
|
|
38
|
+
this.collection[key] = value;
|
|
39
|
+
this._keys.add(key);
|
|
40
|
+
}
|
|
41
|
+
rmv(key) {
|
|
42
|
+
if (!this._keys.has(key))
|
|
43
|
+
return;
|
|
44
|
+
delete this.collection[key];
|
|
45
|
+
this._keys.delete(key);
|
|
46
|
+
}
|
|
47
|
+
forEach(callback) {
|
|
48
|
+
let keys = Object.keys(this.collection);
|
|
49
|
+
for (let i = 0; i < keys.length; i++) {
|
|
50
|
+
callback(this.collection[keys[i]], i);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9kaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBQ2QsVUFBVSxHQUFzQixFQUFFLENBQUM7SUFDbEMsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFFbEMsSUFBVyxJQUFJO1FBQ2IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBSSxHQUFrQixFQUFFLE1BQStCO1FBQ3hFLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFJLEdBQXNCLEVBQUUsTUFBK0I7UUFDN0UsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBSyxDQUFDO1FBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLElBQUksQ0FBQyxTQUFnQztRQUMxQyxJQUFJLE1BQU0sR0FBYSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2pCLElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sR0FBRyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUzQyxJQUFJLENBQUMsR0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0QsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBZ0I7UUFDdEMsSUFBSSxLQUFLLElBQUksSUFBSTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQTJDO1FBQ3hELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERpY3Rpb25hcnk8VD4ge1xuICBwdWJsaWMgY29sbGVjdGlvbjogRGljdGlvbmFyeVR5cGU8VD4gPSB7fTtcbiAgcHJpdmF0ZSBfa2V5cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fa2V5cyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fa2V5cy5zaXplO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjbG9uZTxUPihkaWM6IERpY3Rpb25hcnk8VD4sIGFjdGlvbj86IChlOiBULCBrOiBzdHJpbmcpID0+IFQpOiBEaWN0aW9uYXJ5PFQ+IHtcbiAgICByZXR1cm4gRGljdGlvbmFyeS5jcmVhdGUoZGljLmNvbGxlY3Rpb24sIGFjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZTxUPihkaWM6IERpY3Rpb25hcnlUeXBlPFQ+LCBhY3Rpb24/OiAoZTogVCwgazogc3RyaW5nKSA9PiBUKTogRGljdGlvbmFyeTxUPiB7XG4gICAgbGV0IGtleUxpc3QgPSBPYmplY3Qua2V5cyhkaWMpO1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PFQ+KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQga2V5ID0ga2V5TGlzdFtpXTtcbiAgICAgIHJlc3VsdC5fa2V5cy5hZGQoa2V5KTtcbiAgICAgIHJlc3VsdC5jb2xsZWN0aW9uW2tleV0gPSBhY3Rpb24gPyBhY3Rpb24oZGljW2tleV0sIGtleSkgOiBkaWNba2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kKHByZWRpY2F0ZTogKHZhbHVlOiBUKSA9PiBib29sZWFuKTogVCB8IG51bGwge1xuICAgIGxldCByZXN1bHQ6IFQgfCBudWxsID0gbnVsbDtcbiAgICB0aGlzLmZvckVhY2goKGUpID0+IHtcbiAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgJiYgcHJlZGljYXRlKGUpKSByZXN1bHQgPSBlO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgaGFzID0gKGtleTogc3RyaW5nKSA9PiB0aGlzLl9rZXlzLmhhcyhrZXkpO1xuXG4gIHB1YmxpYyB0YWtlKGtleTogc3RyaW5nKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9rZXlzLmhhcyhrZXkpID8gdGhpcy5jb2xsZWN0aW9uW2tleV0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIHB1dChrZXk6IHN0cmluZywgdmFsdWU/OiBUIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm47XG4gICAgdGhpcy5jb2xsZWN0aW9uW2tleV0gPSB2YWx1ZTtcbiAgICB0aGlzLl9rZXlzLmFkZChrZXkpO1xuICB9XG5cbiAgcHVibGljIHJtdihrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fa2V5cy5oYXMoa2V5KSkgcmV0dXJuO1xuICAgIGRlbGV0ZSB0aGlzLmNvbGxlY3Rpb25ba2V5XTtcbiAgICB0aGlzLl9rZXlzLmRlbGV0ZShrZXkpO1xuICB9XG5cbiAgcHVibGljIGZvckVhY2goY2FsbGJhY2s6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gdm9pZCk6IHZvaWQge1xuICAgIGxldCBrZXlzID0gT2JqZWN0LmtleXModGhpcy5jb2xsZWN0aW9uKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNhbGxiYWNrKHRoaXMuY29sbGVjdGlvbltrZXlzW2ldXSwgaSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB0eXBlIERpY3Rpb25hcnlUeXBlPFQ+ID0geyBbaWQ6IHN0cmluZ106IFQgfTtcbiJdfQ==
|
|
@@ -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,29 @@
|
|
|
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
|
+
postboy;
|
|
10
|
+
constructor(postboy) {
|
|
11
|
+
this.postboy = postboy;
|
|
12
|
+
}
|
|
13
|
+
up() {
|
|
14
|
+
this.postboy.subscribe(GenerateDrawQuery.ID).subscribe((ev) => {
|
|
15
|
+
ev.finish(new Draw({
|
|
16
|
+
source: ev.layer.getSource(),
|
|
17
|
+
type: DrawingType[ev.type],
|
|
18
|
+
style: ev.style,
|
|
19
|
+
geometryFunction: ev.type !== DrawingType.Circle ? undefined : createRegularPolygon(32),
|
|
20
|
+
}));
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawingGenerationService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawingGenerationService });
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawingGenerationService, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7OztBQUcvRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ2Y7SUFBcEIsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBb0IsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDL0UsRUFBRSxDQUFDLE1BQU0sQ0FDUCxJQUFJLElBQUksQ0FBQztnQkFDUCxNQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUc7Z0JBQzdCLElBQUksRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBUTtnQkFDakMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO2dCQUNmLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7YUFDeEYsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBZFUsd0JBQXdCOzRHQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJhdyB9IGZyb20gJ29sL2ludGVyYWN0aW9uJztcbmltcG9ydCB7IERyYXdpbmdUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGNyZWF0ZVJlZ3VsYXJQb2x5Z29uIH0gZnJvbSAnb2wvaW50ZXJhY3Rpb24vRHJhdyc7XG5pbXBvcnQgeyBHZW5lcmF0ZURyYXdRdWVyeSB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2VuZXJhdGUtZHJhdy5xdWVyeSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8R2VuZXJhdGVEcmF3UXVlcnk+KEdlbmVyYXRlRHJhd1F1ZXJ5LklEKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICBldi5maW5pc2goXG4gICAgICAgIG5ldyBEcmF3KHtcbiAgICAgICAgICBzb3VyY2U6IGV2LmxheWVyLmdldFNvdXJjZSgpISxcbiAgICAgICAgICB0eXBlOiBEcmF3aW5nVHlwZVtldi50eXBlXSBhcyBhbnksXG4gICAgICAgICAgc3R5bGU6IGV2LnN0eWxlLFxuICAgICAgICAgIGdlb21ldHJ5RnVuY3Rpb246IGV2LnR5cGUgIT09IERyYXdpbmdUeXBlLkNpcmNsZSA/IHVuZGVmaW5lZCA6IGNyZWF0ZVJlZ3VsYXJQb2x5Z29uKDMyKSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -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 {
|
|
@@ -20,26 +22,46 @@ export class DrawingService {
|
|
|
20
22
|
this.postboy = postboy;
|
|
21
23
|
}
|
|
22
24
|
up() {
|
|
25
|
+
this.observeDrawing();
|
|
26
|
+
this.observeSelectArea();
|
|
27
|
+
this.observeMapRender();
|
|
28
|
+
}
|
|
29
|
+
observeSelectArea() {
|
|
30
|
+
this.postboy.subscribe(DrawSelectionAreaCommand.ID).subscribe((ev) => {
|
|
31
|
+
const drawingCommand = new StartDrawingCommand(ev.type, ev.style);
|
|
32
|
+
drawingCommand.result.subscribe((r) => {
|
|
33
|
+
if (!r) {
|
|
34
|
+
ev.finish(new Dictionary());
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const area = PolygonModel.fromGeoJson(1, r).feature.getGeometry();
|
|
38
|
+
const getFeaturesCommand = new GetFeaturesInAreaQuery(area, ev.ignore);
|
|
39
|
+
getFeaturesCommand.result.subscribe((result) => ev.finish(result));
|
|
40
|
+
this.postboy.fire(getFeaturesCommand);
|
|
41
|
+
});
|
|
42
|
+
this.postboy.fire(drawingCommand);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
observeDrawing() {
|
|
23
46
|
this.postboy.subscribe(StartDrawingCommand.ID).subscribe((ev) => {
|
|
24
47
|
this.draw((l) => {
|
|
25
48
|
if (!l || !this.map) {
|
|
26
49
|
this.clearInteraction(l);
|
|
27
50
|
return;
|
|
28
51
|
}
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
this.onEnd(evt, ev, l);
|
|
52
|
+
const drawQuery = new GenerateDrawQuery(l, ev.style, ev.type);
|
|
53
|
+
drawQuery.result.subscribe((draw) => {
|
|
54
|
+
const cancelSub = this.observeCancelation(ev, l);
|
|
55
|
+
this.drawInteraction = draw;
|
|
56
|
+
this.map?.addInteraction(this.drawInteraction);
|
|
57
|
+
this.drawInteraction.on('drawend', (evt) => {
|
|
58
|
+
cancelSub.unsubscribe();
|
|
59
|
+
this.onEnd(evt, ev, l);
|
|
60
|
+
});
|
|
39
61
|
});
|
|
62
|
+
this.postboy.fire(drawQuery);
|
|
40
63
|
});
|
|
41
64
|
});
|
|
42
|
-
this.observeMapRender();
|
|
43
65
|
}
|
|
44
66
|
onEnd(evt, command, layer) {
|
|
45
67
|
command.finish(command.format === FeatureOutputFormat.GeoJson
|
|
@@ -79,4 +101,4 @@ export class DrawingService {
|
|
|
79
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawingService, decorators: [{
|
|
80
102
|
type: Injectable
|
|
81
103
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBSXpDLE1BQU0sT0FBTyxjQUFjO0lBSUw7SUFIWixlQUFlLENBQVE7SUFDdkIsR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQXNCLG1CQUFtQixDQUFDLEVB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QUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbEQsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7d0dBbEVVLGNBQWM7NEdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBTdGFydERyYXdpbmdDb21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvc3RhcnQtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IENhbmNlbERyYXdpbmdDb21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERyYXdpbmdGaW5pc2hlZEV2ZW50IH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvZXZlbnRzL2RyYXdpbmctZmluaXNoZWQuZXZlbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgeyBWZWN0b3IgYXMgU291cmNlIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IERyYXcsIFNuYXAgfSBmcm9tICdvbC9pbnRlcmFjdGlvbic7XG5pbXBvcnQgeyBEcmF3aW5nVHlwZSwgRmVhdHVyZU91dHB1dEZvcm1hdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBEcmF3RXZlbnQgfSBmcm9tICdvbC9pbnRlcmFjdGlvbi9EcmF3JztcbmltcG9ydCB7IEdlb0pTT04sIFdLVCB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHJhd2luZ1NlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIGRyYXdJbnRlcmFjdGlvbj86IERyYXc7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHt9XG5cbiAgdXAoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxTdGFydERyYXdpbmdDb21tYW5kPihTdGFydERyYXdpbmdDb21tYW5kLklEKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICB0aGlzLmRyYXcoKGwpID0+IHtcbiAgICAgICAgaWYgKCFsIHx8ICF0aGlzLm1hcCkge1xuICAgICAgICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2FuY2VsU3ViID0gdGhpcy5vYnNlcnZlQ2FuY2VsYXRpb24oZXYsIGwpO1xuICAgICAgICB0aGlzLmRyYXdJbnRlcmFjdGlvbiA9IG5ldyBEcmF3KHtcbiAgICAgICAgICBzb3VyY2U6IGwuZ2V0U291cmNlKCkhLFxuICAgICAgICAgIHR5cGU6IERyYXdpbmdUeXBlW2V2LnR5cGVdIGFzIGFueSxcbiAgICAgICAgICBzdHlsZTogZXYuc3R5bGUsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm1hcC5hZGRJbnRlcmFjdGlvbih0aGlzLmRyYXdJbnRlcmFjdGlvbik7XG4gICAgICAgIHRoaXMuZHJhd0ludGVyYWN0aW9uLm9uKCdkcmF3ZW5kJywgKGV2dDogRHJhd0V2ZW50KSA9PiB7XG4gICAgICAgICAgY2FuY2VsU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgdGhpcy5vbkVuZChldnQsIGV2LCBsKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25FbmQoZXZ0OiBEcmF3RXZlbnQsIGNvbW1hbmQ6IFN0YXJ0RHJhd2luZ0NvbW1hbmQsIGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8R2VvbWV0cnk+Pik6IHZvaWQge1xuICAgIGNvbW1hbmQuZmluaXNoKFxuICAgICAgY29tbWFuZC5mb3JtYXQgPT09IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvblxuICAgICAgICA/IG5ldyBHZW9KU09OKCkud3JpdGVGZWF0dXJlKGV2dC5mZWF0dXJlKVxuICAgICAgICA6IG5ldyBXS1QoKS53cml0ZUZlYXR1cmUoZXZ0LmZlYXR1cmUpLFxuICAgICk7XG4gICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGxheWVyKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhdyhhY3Rpb246IChsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IEdldExheWVyUXVlcnkoTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKTtcbiAgICBxdWVyeS5yZXN1bHQuc3Vic2NyaWJlKChsKSA9PiBhY3Rpb24obCkpO1xuICAgIHRoaXMucG9zdGJveS5maXJlKHF1ZXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUNhbmNlbGF0aW9uKGV2OiBTdGFydERyYXdpbmdDb21tYW5kLCBsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IHwgbnVsbCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxDYW5jZWxEcmF3aW5nQ29tbWFuZD4oQ2FuY2VsRHJhd2luZ0NvbW1hbmQuSUQpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGV2LmZpbmlzaChudWxsKTtcbiAgICAgICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGxheWVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckludGVyYWN0aW9uKGxheWVyOiBMYXllcjxTb3VyY2U8R2VvbWV0cnk+PiB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLmRyYXdJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5tYXA/LnJlbW92ZUludGVyYWN0aW9uKHRoaXMuZHJhd0ludGVyYWN0aW9uKTtcbiAgICAgIGxheWVyPy5zZXRTb3VyY2UobmV3IFNvdXJjZSh7fSkpO1xuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucG9zdGJveS5maXJlKG5ldyBEcmF3aW5nRmluaXNoZWRFdmVudCgpKSwgMzAwKTtcbiAgfVxufVxuIl19
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUk3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7O0FBSTNGLE1BQU0sT0FBTyxjQUFjO0lBSUw7SUFIWixlQUFlLENBQVE7SUFDdkIsR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9B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QUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBcUM7UUFDNUQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUMxQixJQUFJLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNsRCxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkUsQ0FBQzt3R0F4RlUsY0FBYzs0R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXJ0RHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9zdGFydC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgQ2FuY2VsRHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9jYW5jZWwtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRHJhd2luZ0ZpbmlzaGVkRXZlbnQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9ldmVudHMvZHJhd2luZy1maW5pc2hlZC5ldmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBHZXRMYXllclF1ZXJ5IH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtbGF5ZXIucXVlcnknO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcbmltcG9ydCB7IFZlY3RvciBhcyBTb3VyY2UgfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgRHJhdyB9IGZyb20gJ29sL2ludGVyYWN0aW9uJztcbmltcG9ydCB7IERpY3Rpb25hcnksIEZlYXR1cmVPdXRwdXRGb3JtYXQsIFBvbHlnb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBEcmF3RXZlbnQgfSBmcm9tICdvbC9pbnRlcmFjdGlvbi9EcmF3JztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgR2VuZXJhdGVEcmF3UXVlcnkgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9xdWVyaWVzL2dlbmVyYXRlLWRyYXcucXVlcnknO1xuaW1wb3J0IHsgRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmF3aW5nU2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgZHJhd0ludGVyYWN0aW9uPzogRHJhdztcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVEcmF3aW5nKCk7XG4gICAgdGhpcy5vYnNlcnZlU2VsZWN0QXJlYSgpO1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlU2VsZWN0QXJlYSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZD4oRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kLklEKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICBjb25zdCBkcmF3aW5nQ29tbWFuZCA9IG5ldyBTdGFydERyYXdpbmdDb21tYW5kKGV2LnR5cGUsIGV2LnN0eWxlKTtcbiAgICAgIGRyYXdpbmdDb21tYW5kLnJlc3VsdC5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgaWYgKCFyKSB7XG4gICAgICAgICAgZXYuZmluaXNoKG5ldyBEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+KCkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhcmVhID0gUG9seWdvbk1vZGVsLmZyb21HZW9Kc29uKDEsIHIpLmZlYXR1cmUuZ2V0R2VvbWV0cnkoKSE7XG4gICAgICAgIGNvbnN0IGdldEZlYXR1cmVzQ29tbWFuZCA9IG5ldyBHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5KGFyZWEsIGV2Lmlnbm9yZSk7XG4gICAgICAgIGdldEZlYXR1cmVzQ29tbWFuZC5yZXN1bHQuc3Vic2NyaWJlKChyZXN1bHQpID0+IGV2LmZpbmlzaChyZXN1bHQpKTtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZ2V0RmVhdHVyZXNDb21tYW5kKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZHJhd2luZ0NvbW1hbmQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRHJhd2luZygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFN0YXJ0RHJhd2luZ0NvbW1hbmQ+KFN0YXJ0RHJhd2luZ0NvbW1hbmQuSUQpLnN1YnNjcmliZSgoZXYpID0+IHtcbiAgICAgIHRoaXMuZHJhdygobCkgPT4ge1xuICAgICAgICBpZiAoIWwgfHwgIXRoaXMubWFwKSB7XG4gICAgICAgICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkcmF3UXVlcnkgPSBuZXcgR2VuZXJhdGVEcmF3UXVlcnkobCwgZXYuc3R5bGUsIGV2LnR5cGUpO1xuICAgICAgICBkcmF3UXVlcnkucmVzdWx0LnN1YnNjcmliZSgoZHJhdykgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhbmNlbFN1YiA9IHRoaXMub2JzZXJ2ZUNhbmNlbGF0aW9uKGV2LCBsKTtcbiAgICAgICAgICB0aGlzLmRyYXdJbnRlcmFjdGlvbiA9IGRyYXc7XG4gICAgICAgICAgdGhpcy5tYXA/LmFkZEludGVyYWN0aW9uKHRoaXMuZHJhd0ludGVyYWN0aW9uKTtcbiAgICAgICAgICB0aGlzLmRyYXdJbnRlcmFjdGlvbi5vbignZHJhd2VuZCcsIChldnQ6IERyYXdFdmVudCkgPT4ge1xuICAgICAgICAgICAgY2FuY2VsU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLm9uRW5kKGV2dCwgZXYsIGwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZHJhd1F1ZXJ5KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkVuZChldnQ6IERyYXdFdmVudCwgY29tbWFuZDogU3RhcnREcmF3aW5nQ29tbWFuZCwgbGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxHZW9tZXRyeT4+KTogdm9pZCB7XG4gICAgY29tbWFuZC5maW5pc2goXG4gICAgICBjb21tYW5kLmZvcm1hdCA9PT0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uXG4gICAgICAgID8gbmV3IEdlb0pTT04oKS53cml0ZUZlYXR1cmUoZXZ0LmZlYXR1cmUpXG4gICAgICAgIDogbmV3IFdLVCgpLndyaXRlRmVhdHVyZShldnQuZmVhdHVyZSksXG4gICAgKTtcbiAgICB0aGlzLmNsZWFySW50ZXJhY3Rpb24obGF5ZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3KGFjdGlvbjogKGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8YW55Pj4gfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgY29uc3QgcXVlcnkgPSBuZXcgR2V0TGF5ZXJRdWVyeShNYXBDb25zdGFudHMuRHJhd2luZ0xheWVySWQpO1xuICAgIHF1ZXJ5LnJlc3VsdC5zdWJzY3JpYmUoKGwpID0+IGFjdGlvbihsKSk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUocXVlcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQ2FuY2VsYXRpb24oZXY6IFN0YXJ0RHJhd2luZ0NvbW1hbmQsIGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8YW55Pj4gfCBudWxsKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPENhbmNlbERyYXdpbmdDb21tYW5kPihDYW5jZWxEcmF3aW5nQ29tbWFuZC5JRClcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgZXYuZmluaXNoKG51bGwpO1xuICAgICAgICB0aGlzLmNsZWFySW50ZXJhY3Rpb24obGF5ZXIpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySW50ZXJhY3Rpb24obGF5ZXI6IExheWVyPFNvdXJjZTxHZW9tZXRyeT4+IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMuZHJhd0ludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLm1hcD8ucmVtb3ZlSW50ZXJhY3Rpb24odGhpcy5kcmF3SW50ZXJhY3Rpb24pO1xuICAgICAgbGF5ZXI/LnNldFNvdXJjZShuZXcgU291cmNlKHt9KSk7XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wb3N0Ym95LmZpcmUobmV3IERyYXdpbmdGaW5pc2hlZEV2ZW50KCkpLCAzMDApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
postboy;
|
|
7
|
+
constructor(postboy) {
|
|
8
|
+
this.postboy = postboy;
|
|
9
|
+
}
|
|
10
|
+
up() {
|
|
11
|
+
this.postboy.subscribe(FilterFeaturesInAreaQuery.ID).subscribe((qr) => {
|
|
12
|
+
qr.finish(qr.features.filter((f) => FeatureService.booleanIntersects(qr.area, f.getGeometry())));
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
static booleanIntersects(g1, g2) {
|
|
16
|
+
if (g2.getType() === 'Point')
|
|
17
|
+
return g1.intersectsCoordinate(g2.getCoordinates());
|
|
18
|
+
if (g2.getType() === 'Circle')
|
|
19
|
+
return g1.intersectsCoordinate(g2.getCenter());
|
|
20
|
+
if (g2.getType() === 'Polygon')
|
|
21
|
+
return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureService });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureService, decorators: [{
|
|
28
|
+
type: Injectable
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7OztBQUc5RixNQUFNLE9BQU8sY0FBYztJQUNMO0lBQXBCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQTRCLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQy9GLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBWSxFQUFFLEVBQVk7UUFDekQsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssT0FBTztZQUFFLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFFLEVBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVE7WUFBRSxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBRSxFQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxTQUFTO1lBQUUsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUUsRUFBYyxDQUFDLGdCQUFnQixFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNwSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBZFUsY0FBYzs0R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2lyY2xlLCBHZW9tZXRyeSwgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCBQb2x5Z29uIGZyb20gJ29sL2dlb20vUG9seWdvbic7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luQXJlYVF1ZXJ5IH0gZnJvbSAnLi4vbWVzc2FnZXMvcXVlcmllcy9maWx0ZXItZmVhdHVyZXMtaW4tYXJlYS5xdWVyeSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGZWF0dXJlU2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHt9XG5cbiAgdXAoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxGaWx0ZXJGZWF0dXJlc0luQXJlYVF1ZXJ5PihGaWx0ZXJGZWF0dXJlc0luQXJlYVF1ZXJ5LklEKS5zdWJzY3JpYmUoKHFyKSA9PiB7XG4gICAgICBxci5maW5pc2gocXIuZmVhdHVyZXMuZmlsdGVyKChmKSA9PiBGZWF0dXJlU2VydmljZS5ib29sZWFuSW50ZXJzZWN0cyhxci5hcmVhLCBmLmdldEdlb21ldHJ5KCkhKSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYm9vbGVhbkludGVyc2VjdHMoZzE6IEdlb21ldHJ5LCBnMjogR2VvbWV0cnkpOiBib29sZWFuIHtcbiAgICBpZiAoZzIuZ2V0VHlwZSgpID09PSAnUG9pbnQnKSByZXR1cm4gZzEuaW50ZXJzZWN0c0Nvb3JkaW5hdGUoKGcyIGFzIFBvaW50KS5nZXRDb29yZGluYXRlcygpKTtcbiAgICBpZiAoZzIuZ2V0VHlwZSgpID09PSAnQ2lyY2xlJykgcmV0dXJuIGcxLmludGVyc2VjdHNDb29yZGluYXRlKChnMiBhcyBDaXJjbGUpLmdldENlbnRlcigpKTtcbiAgICBpZiAoZzIuZ2V0VHlwZSgpID09PSAnUG9seWdvbicpIHJldHVybiBnMS5pbnRlcnNlY3RzQ29vcmRpbmF0ZSgoZzIgYXMgUG9seWdvbikuZ2V0SW50ZXJpb3JQb2ludCgpLmdldENvb3JkaW5hdGVzKCkpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|