@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.
Files changed (71) hide show
  1. package/dist/esm2020/map/helpers/index.mjs +2 -1
  2. package/dist/esm2020/map/helpers/stringify-feature.helper.mjs +58 -0
  3. package/dist/esm2020/map/map-plate/map-plate.component.mjs +7 -1
  4. package/dist/esm2020/map/messages/commands/draw-selection-area.command.mjs +14 -0
  5. package/dist/esm2020/map/messages/index.mjs +2 -1
  6. package/dist/esm2020/map/messages/queries/filter-features-in-area.query.mjs +13 -0
  7. package/dist/esm2020/map/messages/queries/generate-draw.query.mjs +14 -0
  8. package/dist/esm2020/map/messages/queries/get-features-in-area.query.mjs +13 -0
  9. package/dist/esm2020/map/models/dictionary.mjs +56 -0
  10. package/dist/esm2020/map/models/drawing-type.enum.mjs +2 -1
  11. package/dist/esm2020/map/models/index.mjs +2 -1
  12. package/dist/esm2020/map/services/drawing/drawing-generation.service.mjs +28 -0
  13. package/dist/esm2020/map/services/drawing/drawing.service.mjs +36 -14
  14. package/dist/esm2020/map/services/feature.service.mjs +29 -0
  15. package/dist/esm2020/map/services/map-management.service.mjs +36 -7
  16. package/dist/esm2020/map/services/message-registrator.service.mjs +15 -5
  17. package/dist/esm2020/src/map/helpers/index.mjs +2 -1
  18. package/dist/esm2020/src/map/helpers/stringify-feature.helper.mjs +58 -0
  19. package/dist/esm2020/src/map/map-plate/map-plate.component.mjs +7 -1
  20. package/dist/esm2020/src/map/messages/commands/draw-selection-area.command.mjs +14 -0
  21. package/dist/esm2020/src/map/messages/index.mjs +2 -1
  22. package/dist/esm2020/src/map/messages/queries/filter-features-in-area.query.mjs +13 -0
  23. package/dist/esm2020/src/map/messages/queries/generate-draw.query.mjs +14 -0
  24. package/dist/esm2020/src/map/messages/queries/get-features-in-area.query.mjs +13 -0
  25. package/dist/esm2020/src/map/models/dictionary.mjs +56 -0
  26. package/dist/esm2020/src/map/models/drawing-type.enum.mjs +2 -1
  27. package/dist/esm2020/src/map/models/index.mjs +2 -1
  28. package/dist/esm2020/src/map/services/drawing/drawing-generation.service.mjs +28 -0
  29. package/dist/esm2020/src/map/services/drawing/drawing.service.mjs +36 -14
  30. package/dist/esm2020/src/map/services/feature.service.mjs +29 -0
  31. package/dist/esm2020/src/map/services/map-management.service.mjs +36 -7
  32. package/dist/esm2020/src/map/services/message-registrator.service.mjs +15 -5
  33. package/dist/fesm2015/maps-components-src-map.mjs +286 -28
  34. package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
  35. package/dist/fesm2015/maps-components.mjs +286 -28
  36. package/dist/fesm2015/maps-components.mjs.map +1 -1
  37. package/dist/fesm2020/maps-components-src-map.mjs +284 -27
  38. package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
  39. package/dist/fesm2020/maps-components.mjs +284 -27
  40. package/dist/fesm2020/maps-components.mjs.map +1 -1
  41. package/dist/map/helpers/index.d.ts +1 -0
  42. package/dist/map/helpers/stringify-feature.helper.d.ts +8 -0
  43. package/dist/map/messages/commands/draw-selection-area.command.d.ts +12 -0
  44. package/dist/map/messages/index.d.ts +1 -0
  45. package/dist/map/messages/queries/filter-features-in-area.query.d.ts +10 -0
  46. package/dist/map/messages/queries/generate-draw.query.d.ts +14 -0
  47. package/dist/map/messages/queries/get-features-in-area.query.d.ts +11 -0
  48. package/dist/map/models/dictionary.d.ts +17 -0
  49. package/dist/map/models/drawing-type.enum.d.ts +2 -1
  50. package/dist/map/models/index.d.ts +1 -0
  51. package/dist/map/services/drawing/drawing-generation.service.d.ts +10 -0
  52. package/dist/map/services/drawing/drawing.service.d.ts +2 -0
  53. package/dist/map/services/feature.service.d.ts +11 -0
  54. package/dist/map/services/map-management.service.d.ts +1 -0
  55. package/dist/map/services/message-registrator.service.d.ts +3 -1
  56. package/dist/src/map/helpers/index.d.ts +1 -0
  57. package/dist/src/map/helpers/stringify-feature.helper.d.ts +8 -0
  58. package/dist/src/map/messages/commands/draw-selection-area.command.d.ts +12 -0
  59. package/dist/src/map/messages/index.d.ts +1 -0
  60. package/dist/src/map/messages/queries/filter-features-in-area.query.d.ts +10 -0
  61. package/dist/src/map/messages/queries/generate-draw.query.d.ts +14 -0
  62. package/dist/src/map/messages/queries/get-features-in-area.query.d.ts +11 -0
  63. package/dist/src/map/models/dictionary.d.ts +17 -0
  64. package/dist/src/map/models/drawing-type.enum.d.ts +2 -1
  65. package/dist/src/map/models/index.d.ts +1 -0
  66. package/dist/src/map/services/drawing/drawing-generation.service.d.ts +10 -0
  67. package/dist/src/map/services/drawing/drawing.service.d.ts +2 -0
  68. package/dist/src/map/services/feature.service.d.ts +11 -0
  69. package/dist/src/map/services/map-management.service.d.ts +1 -0
  70. package/dist/src/map/services/message-registrator.service.d.ts +3 -1
  71. 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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZXItc3R5bGUuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWdvbi1zdHlsZS5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LXN0eWxlLmhlbHBlcic7XG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFnQnJFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUFJMUQsWUFDVSxVQUFzQixFQUN0QixPQUEwQixFQUMxQixVQUEyQixFQUMzQixXQUFzQyxFQUN0QyxRQUEyQjtRQUVuQyxLQUFLLEVBQUUsQ0FBQztRQU5BLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQTJCO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBUHJDLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFhWixjQUFTLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDM0MseUJBQW9CLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7UUE2QnZGLGNBQVMsR0FBRyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQztRQW5DQSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUtELElBQWEsUUFBUSxDQUFDLEtBQThCO1FBQ2xELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixhQUFhLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsc0NBQXNDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FDdkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUNqQixvQkFBb0IsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7K0dBM0NVLGlCQUFpQjttR0FBakIsaUJBQWlCLDBFQVRqQjtRQUNULHlCQUF5QjtRQUN6QixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYztLQUNmLGlEQzdCSCxnT0FHQTs0RkQ0QmEsaUJBQWlCO2tCQWQ3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCx5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsY0FBYztxQkFDZjt1T0FvQlksUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBMeXJzTGFiZWwsIE1hcFNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCBNYXAgZnJvbSAnb2wvTWFwJztcbmltcG9ydCB7IHVzZUdlb2dyYXBoaWMgfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tZXNzYWdlLXJlZ2lzdHJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBNYXBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUGxhdGVGYWN0b3J5IH0gZnJvbSAnLi9tYXAtcGxhdGUuZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1jbGljay5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLWZlYXR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4vbGF5ZXJzJztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcbmltcG9ydCB7IERyYXdpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbWFwLXBsYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSxcbiAgICBNYXBTdGF0ZVNlcnZpY2UsXG4gICAgTWFwTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgTWFwQ2xpY2tTZXJ2aWNlLFxuICAgIE1hcEZlYXR1cmVTZXJ2aWNlLFxuICAgIERyYXdpbmdTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBQbGF0ZUNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1hcCE6IE1hcDtcbiAgb3NtVXJsID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBGYWN0b3J5OiBNYXBQbGF0ZUZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWdpc3RyYXRvcjogTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGRldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICByZWdpc3RyYXRvci51cCgpO1xuICB9XG5cbiAgX3NldHRpbmdzOiBNYXBTZXR0aW5ncyA9IG5ldyBNYXBTZXR0aW5ncygpO1xuICBkcmF3aW5nTGF5ZXJTZXR0aW5ncyA9IG5ldyBGZWF0dXJlTGF5ZXJTZXR0aW5ncygpLnNldE5hbWUoTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IE1hcFNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdXNlR2VvZ3JhcGhpYygpO1xuICAgIHRoaXMubWFwID0gdGhpcy5tYXBGYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzKTtcbiAgICB0aGlzLm1hcC5zZXRUYXJnZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLm9uY2UoJ3Bvc3RyZW5kZXInLCAoKSA9PiB7XG4gICAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwUmVuZGVyZWRFdmVudCh0aGlzLm1hcCkpO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0T3NtKCk7XG4gIH1cblxuICBwcml2YXRlIHNldE9zbSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgdGhpcy5vc21VcmwgPSBgaHR0cHM6Ly9tdHswLTN9Lmdvb2dsZS5jb20vdnQvbHlycz0ke01hcEx5cnNMYWJlbC5nZXQodGhpcy5fc2V0dGluZ3MubHlycyl9JmhsPSR7XG4gICAgICB0aGlzLl9zZXR0aW5ncy5sYW5ndWFnZVxuICAgIH0meD17eH0meT17eX0mej17en1gO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLnVwZGF0ZVNpemUoKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHtcbiAgICB0aGlzLnJlZ2lzdHJhdG9yLmRvd24oKTtcbiAgfTtcbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPGxpYi1vc20tdGlsZS1sYXllciAqbmdJZj1cIm9zbVVybCAmJiBtYXBcIiBbbWFwXT1cIm1hcFwiIFt1cmxdPVwib3NtVXJsXCI+PC9saWItb3NtLXRpbGUtbGF5ZXI+XHJcbjxsaWItZmVhdHVyZS1sYXllciAqbmdJZj1cIm1hcFwiIFtzZXR0aW5nc109XCJkcmF3aW5nTGF5ZXJTZXR0aW5nc1wiPjwvbGliLWZlYXR1cmUtbGF5ZXI+XHJcbiJdfQ==
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXZlbnRzL21hcC1yZW5kZXJlZC5ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cy9tYXAtY2xpY2suZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudHMvbWFwLW1vdmUtZW5kLmV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvY2xvc2UtdG9vbHRpcC5jb21tYW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvc3RhcnQtZHJhd2luZy5jb21tYW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvY2FuY2VsLWRyYXdpbmcuY29tbWFuZCc7XG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tb2RlbHMvZHJhd2luZy10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FFWDtBQUZELFdBQVksV0FBVztJQUNyQixtREFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUZXLFdBQVcsS0FBWCxXQUFXLFFBRXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRHJhd2luZ1R5cGUge1xuICBQb2x5Z29uID0gMSxcbn1cbiJdfQ==
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hcC1seXJzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAtc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrZXItbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wb2x5Z29uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhd2luZy10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWZvcm1hdC5lbnVtJztcbiJdfQ==
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 { Draw } from 'ol/interaction';
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 cancelSub = this.observeCancelation(ev, l);
27
- this.drawInteraction = new Draw({
28
- source: l.getSource(),
29
- type: DrawingType[ev.type],
30
- style: ev.style,
31
- });
32
- this.map.addInteraction(this.drawInteraction);
33
- this.drawInteraction.on('drawend', (evt) => {
34
- cancelSub.unsubscribe();
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==