@artstesh/maps 4.0.11 → 4.1.1

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 (81) hide show
  1. package/dist/esm2020/map/map-plate/controls/index.mjs +3 -0
  2. package/dist/esm2020/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +49 -0
  3. package/dist/esm2020/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +13 -0
  4. package/dist/esm2020/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +47 -0
  5. package/dist/esm2020/map/map-plate/features/markers/markers.component.mjs +3 -3
  6. package/dist/esm2020/map/map-plate/features/polygons/polygons.component.mjs +3 -3
  7. package/dist/esm2020/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +3 -3
  8. package/dist/esm2020/map/map-plate/layers/feature-layer/feature-layer.component.mjs +3 -3
  9. package/dist/esm2020/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +3 -3
  10. package/dist/esm2020/map/map-plate/layers/tile-layer/tile-layer.component.mjs +3 -3
  11. package/dist/esm2020/map/map-plate/map-plate.component.mjs +5 -5
  12. package/dist/esm2020/map/map-plate/tooltips/tooltip/tooltip.component.mjs +3 -3
  13. package/dist/esm2020/map/map.module.mjs +8 -3
  14. package/dist/esm2020/map/messages/executors/generate-zoom-control.executor.mjs +12 -0
  15. package/dist/esm2020/map/messages/queries/get-features-in-area.query.mjs +1 -1
  16. package/dist/esm2020/map/models/drawing-type.enum.mjs +2 -1
  17. package/dist/esm2020/map/public-api.mjs +2 -1
  18. package/dist/esm2020/map/services/drawing/drawing-generation.service.mjs +4 -2
  19. package/dist/esm2020/map/services/feature.service.mjs +1 -1
  20. package/dist/esm2020/map/services/message-registrator.service.mjs +4 -1
  21. package/dist/esm2020/src/map/map-plate/controls/index.mjs +3 -0
  22. package/dist/esm2020/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +49 -0
  23. package/dist/esm2020/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +13 -0
  24. package/dist/esm2020/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +47 -0
  25. package/dist/esm2020/src/map/map-plate/features/markers/markers.component.mjs +3 -3
  26. package/dist/esm2020/src/map/map-plate/features/polygons/polygons.component.mjs +3 -3
  27. package/dist/esm2020/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +3 -3
  28. package/dist/esm2020/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +3 -3
  29. package/dist/esm2020/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +3 -3
  30. package/dist/esm2020/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +3 -3
  31. package/dist/esm2020/src/map/map-plate/map-plate.component.mjs +5 -5
  32. package/dist/esm2020/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +3 -3
  33. package/dist/esm2020/src/map/map.module.mjs +8 -3
  34. package/dist/esm2020/src/map/messages/executors/generate-zoom-control.executor.mjs +12 -0
  35. package/dist/esm2020/src/map/messages/queries/get-features-in-area.query.mjs +1 -1
  36. package/dist/esm2020/src/map/models/drawing-type.enum.mjs +2 -1
  37. package/dist/esm2020/src/map/public-api.mjs +2 -1
  38. package/dist/esm2020/src/map/services/drawing/drawing-generation.service.mjs +4 -2
  39. package/dist/esm2020/src/map/services/feature.service.mjs +1 -1
  40. package/dist/esm2020/src/map/services/message-registrator.service.mjs +4 -1
  41. package/dist/fesm2015/maps-components-src-map.mjs +142 -22
  42. package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
  43. package/dist/fesm2015/maps-components.mjs +142 -22
  44. package/dist/fesm2015/maps-components.mjs.map +1 -1
  45. package/dist/fesm2020/maps-components-src-map.mjs +142 -22
  46. package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
  47. package/dist/fesm2020/maps-components.mjs +142 -22
  48. package/dist/fesm2020/maps-components.mjs.map +1 -1
  49. package/dist/map/map-plate/controls/index.d.ts +2 -0
  50. package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -0
  51. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -0
  52. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -0
  53. package/dist/map/map-plate/features/markers/markers.component.d.ts +1 -1
  54. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +1 -1
  55. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +1 -1
  56. package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
  57. package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
  58. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  59. package/dist/map/map-plate/map-plate.component.d.ts +1 -1
  60. package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +1 -1
  61. package/dist/map/map.module.d.ts +3 -2
  62. package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +9 -0
  63. package/dist/map/models/drawing-type.enum.d.ts +2 -1
  64. package/dist/map/public-api.d.ts +1 -0
  65. package/dist/src/map/map-plate/controls/index.d.ts +2 -0
  66. package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -0
  67. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -0
  68. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -0
  69. package/dist/src/map/map-plate/features/markers/markers.component.d.ts +1 -1
  70. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +1 -1
  71. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +1 -1
  72. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
  73. package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
  74. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  75. package/dist/src/map/map-plate/map-plate.component.d.ts +1 -1
  76. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +1 -1
  77. package/dist/src/map/map.module.d.ts +3 -2
  78. package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +9 -0
  79. package/dist/src/map/models/drawing-type.enum.d.ts +2 -1
  80. package/dist/src/map/public-api.d.ts +1 -0
  81. package/package.json +1 -1
@@ -9,7 +9,8 @@ import { getCenter, createEmpty, extend } from 'ol/extent';
9
9
  import { get, useGeographic, transform } from 'ol/proj';
10
10
  import { PostboyGenericMessage, PostboyCallbackMessage, PostboyExecutor, PostboyService, PostboyAbstractRegistrator } from '@artstesh/postboy';
11
11
  import { Draw, Modify, Translate } from 'ol/interaction';
12
- import { createRegularPolygon } from 'ol/interaction/Draw';
12
+ import { createRegularPolygon, createBox } from 'ol/interaction/Draw';
13
+ import { Zoom } from 'ol/control';
13
14
  import { first, filter, auditTime } from 'rxjs/operators';
14
15
  import { Vector, XYZ } from 'ol/source';
15
16
  import TileLayer from 'ol/layer/Tile';
@@ -180,6 +181,7 @@ var DrawingType;
180
181
  DrawingType[DrawingType["Polygon"] = 1] = "Polygon";
181
182
  DrawingType[DrawingType["Circle"] = 2] = "Circle";
182
183
  DrawingType[DrawingType["Square"] = 3] = "Square";
184
+ DrawingType[DrawingType["Box"] = 4] = "Box";
183
185
  })(DrawingType || (DrawingType = {}));
184
186
 
185
187
  var FeatureOutputFormat;
@@ -446,6 +448,8 @@ class DrawingGenerationService {
446
448
  switch (type) {
447
449
  case DrawingType.Circle:
448
450
  return createRegularPolygon(32);
451
+ case DrawingType.Box:
452
+ return createBox();
449
453
  case DrawingType.Square:
450
454
  return createRegularPolygon(4);
451
455
  }
@@ -506,6 +510,29 @@ class GenerateDrawExecutor extends PostboyExecutor {
506
510
  }
507
511
  GenerateDrawExecutor.ID = 'f01c99ba-0953-4ab5-82f9-04e6fbb678c1';
508
512
 
513
+ class GenerateZoomControlExecutor extends PostboyExecutor {
514
+ constructor(settings) {
515
+ super();
516
+ this.settings = settings;
517
+ }
518
+ get id() {
519
+ return GenerateZoomControlExecutor.ID;
520
+ }
521
+ }
522
+ GenerateZoomControlExecutor.ID = 'ff16a833-c68e-4b1a-bc23-c0d16b002810';
523
+
524
+ class ZoomControlFactory {
525
+ static build(settings) {
526
+ return new Zoom({
527
+ zoomInTipLabel: settings.zoomInLabel,
528
+ zoomOutTipLabel: settings.zoomOutLabel,
529
+ zoomInClassName: settings.zoomInClass,
530
+ zoomOutClassName: settings.zoomOutClass,
531
+ className: settings.controlClass,
532
+ });
533
+ }
534
+ }
535
+
509
536
  class MapPostboyService extends PostboyService {
510
537
  constructor() {
511
538
  super();
@@ -902,6 +929,7 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
902
929
  setExecutors() {
903
930
  this.registerExecutor(FilterFeaturesInAreaExecutor.ID, (e) => FeatureService.filterFeaturesInArea(e));
904
931
  this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
932
+ this.registerExecutor(GenerateZoomControlExecutor.ID, (e) => ZoomControlFactory.build(e.settings));
905
933
  }
906
934
  }
907
935
  MessageRegistratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token: FeatureModificationService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1033,10 +1061,10 @@ class TileLayerComponent extends DestructibleComponent {
1033
1061
  }
1034
1062
  }
1035
1063
  TileLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerComponent, deps: [{ token: MapPostboyService }, { token: TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
1036
- TileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TileLayerComponent, selector: "lib-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1064
+ TileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TileLayerComponent, selector: "art-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1037
1065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TileLayerComponent, decorators: [{
1038
1066
  type: Component,
1039
- args: [{ selector: 'lib-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1067
+ args: [{ selector: 'art-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1040
1068
  }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: TileLayerFactory }]; }, propDecorators: { settings: [{
1041
1069
  type: Input
1042
1070
  }] } });
@@ -1081,10 +1109,10 @@ class OsmTileLayerComponent extends DestructibleComponent {
1081
1109
  }
1082
1110
  }
1083
1111
  OsmTileLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OsmTileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1084
- OsmTileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OsmTileLayerComponent, selector: "lib-osm-tile-layer", inputs: { url: "url", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1112
+ OsmTileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: { url: "url", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1085
1113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OsmTileLayerComponent, decorators: [{
1086
1114
  type: Component,
1087
- args: [{ selector: 'lib-osm-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1115
+ args: [{ selector: 'art-osm-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1088
1116
  }], ctorParameters: function () { return []; }, propDecorators: { url: [{
1089
1117
  type: Input
1090
1118
  }], map: [{
@@ -1193,10 +1221,10 @@ class FeatureLayerComponent extends DestructibleComponent {
1193
1221
  }
1194
1222
  }
1195
1223
  FeatureLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FeatureLayerComponent, deps: [{ token: MapPostboyService }, { token: FeatureLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
1196
- FeatureLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FeatureLayerComponent, selector: "lib-feature-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1224
+ FeatureLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FeatureLayerComponent, selector: "art-feature-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1197
1225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FeatureLayerComponent, decorators: [{
1198
1226
  type: Component,
1199
- args: [{ selector: 'lib-feature-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1227
+ args: [{ selector: 'art-feature-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1200
1228
  }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: FeatureLayerFactory }]; }, propDecorators: { settings: [{
1201
1229
  type: Input
1202
1230
  }] } });
@@ -1380,10 +1408,10 @@ class ClusterLayerComponent extends DestructibleComponent {
1380
1408
  }
1381
1409
  }
1382
1410
  ClusterLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClusterLayerComponent, deps: [{ token: MapPostboyService }, { token: ClusterLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
1383
- ClusterLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ClusterLayerComponent, selector: "lib-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1411
+ ClusterLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ClusterLayerComponent, selector: "art-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1384
1412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClusterLayerComponent, decorators: [{
1385
1413
  type: Component,
1386
- args: [{ selector: 'lib-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1414
+ args: [{ selector: 'art-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1387
1415
  }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: ClusterLayerFactory }]; }, propDecorators: { settings: [{
1388
1416
  type: Input
1389
1417
  }] } });
@@ -1453,7 +1481,7 @@ class MapPlateComponent extends DestructibleComponent {
1453
1481
  }
1454
1482
  }
1455
1483
  MapPlateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapPlateComponent, deps: [{ token: i0.ElementRef }, { token: MapPostboyService }, { token: MapPlateFactory }, { token: MessageRegistratorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1456
- MapPlateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapPlateComponent, selector: "lib-map-plate", inputs: { settings: "settings" }, providers: [
1484
+ MapPlateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapPlateComponent, selector: "art-map-plate", inputs: { settings: "settings" }, providers: [
1457
1485
  MessageRegistratorService,
1458
1486
  MapStateService,
1459
1487
  MapManagementService,
@@ -1463,10 +1491,10 @@ MapPlateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
1463
1491
  DrawingGenerationService,
1464
1492
  FeatureService,
1465
1493
  FeatureModificationService,
1466
- ], 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: OsmTileLayerComponent, selector: "lib-osm-tile-layer", inputs: ["url", "map"] }, { kind: "component", type: FeatureLayerComponent, selector: "lib-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1494
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></art-osm-tile-layer>\r\n<art-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></art-feature-layer>\r\n", styles: ["art-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: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: ["url", "map"] }, { kind: "component", type: FeatureLayerComponent, selector: "art-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1467
1495
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapPlateComponent, decorators: [{
1468
1496
  type: Component,
1469
- args: [{ selector: 'lib-map-plate', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1497
+ args: [{ selector: 'art-map-plate', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1470
1498
  MessageRegistratorService,
1471
1499
  MapStateService,
1472
1500
  MapManagementService,
@@ -1476,7 +1504,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1476
1504
  DrawingGenerationService,
1477
1505
  FeatureService,
1478
1506
  FeatureModificationService,
1479
- ], 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"] }]
1507
+ ], template: "<ng-content></ng-content>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></art-osm-tile-layer>\r\n<art-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></art-feature-layer>\r\n", styles: ["art-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"] }]
1480
1508
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: MapPostboyService }, { type: MapPlateFactory }, { type: MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
1481
1509
  type: Input
1482
1510
  }] } });
@@ -1505,10 +1533,10 @@ class MarkersComponent extends DestructibleComponent {
1505
1533
  }
1506
1534
  }
1507
1535
  MarkersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MarkersComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
1508
- MarkersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MarkersComponent, selector: "lib-markers", inputs: { layerName: "layerName", markers: "markers" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1536
+ MarkersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MarkersComponent, selector: "art-markers", inputs: { layerName: "layerName", markers: "markers" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1509
1537
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MarkersComponent, decorators: [{
1510
1538
  type: Component,
1511
- args: [{ selector: 'lib-markers', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1539
+ args: [{ selector: 'art-markers', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1512
1540
  }], ctorParameters: function () { return [{ type: MapPostboyService }]; }, propDecorators: { layerName: [{
1513
1541
  type: Input
1514
1542
  }], markers: [{
@@ -1600,10 +1628,10 @@ class TooltipComponent extends DestructibleComponent {
1600
1628
  }
1601
1629
  }
1602
1630
  TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TooltipComponent, deps: [{ token: MapPostboyService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1603
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TooltipComponent, selector: "lib-tooltip", inputs: { settings: "settings" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["tip"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #tip [class]=\"['tooltip-wrapper', _settings.containerClass]\" [hidden]=\"!show\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".tooltip-wrapper{position:absolute}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1631
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TooltipComponent, selector: "art-tooltip", inputs: { settings: "settings" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["tip"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #tip [class]=\"['tooltip-wrapper', _settings.containerClass]\" [hidden]=\"!show\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".tooltip-wrapper{position:absolute}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1604
1632
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TooltipComponent, decorators: [{
1605
1633
  type: Component,
1606
- args: [{ selector: 'lib-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tip [class]=\"['tooltip-wrapper', _settings.containerClass]\" [hidden]=\"!show\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".tooltip-wrapper{position:absolute}\n"] }]
1634
+ args: [{ selector: 'art-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tip [class]=\"['tooltip-wrapper', _settings.containerClass]\" [hidden]=\"!show\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".tooltip-wrapper{position:absolute}\n"] }]
1607
1635
  }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { container: [{
1608
1636
  type: ViewChild,
1609
1637
  args: ['tip']
@@ -1635,16 +1663,104 @@ class PolygonsComponent extends DestructibleComponent {
1635
1663
  }
1636
1664
  }
1637
1665
  PolygonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PolygonsComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
1638
- PolygonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PolygonsComponent, selector: "lib-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1666
+ PolygonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PolygonsComponent, selector: "art-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1639
1667
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PolygonsComponent, decorators: [{
1640
1668
  type: Component,
1641
- args: [{ selector: 'lib-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1669
+ args: [{ selector: 'art-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1642
1670
  }], ctorParameters: function () { return [{ type: MapPostboyService }]; }, propDecorators: { layerName: [{
1643
1671
  type: Input
1644
1672
  }], polygons: [{
1645
1673
  type: Input
1646
1674
  }] } });
1647
1675
 
1676
+ class ZoomControlSettings {
1677
+ constructor() {
1678
+ this.controlClass = 'ol-zoom';
1679
+ this.zoomInClass = 'ol-zoom-in';
1680
+ this.zoomOutClass = 'ol-zoom-out';
1681
+ this.zoomInLabel = 'Zoom In';
1682
+ this.zoomOutLabel = 'Zoom Out';
1683
+ }
1684
+ static copy(model) {
1685
+ const result = new ZoomControlSettings();
1686
+ result.controlClass = model.controlClass;
1687
+ result.zoomInClass = model.zoomInClass;
1688
+ result.zoomOutClass = model.zoomOutClass;
1689
+ result.zoomInLabel = model.zoomInLabel;
1690
+ result.zoomOutLabel = model.zoomOutLabel;
1691
+ return result;
1692
+ }
1693
+ isSame(model) {
1694
+ if (this.zoomInClass !== model.zoomInClass)
1695
+ return false;
1696
+ if (this.zoomOutClass !== model.zoomOutClass)
1697
+ return false;
1698
+ if (this.zoomInLabel !== model.zoomInLabel)
1699
+ return false;
1700
+ if (this.controlClass !== model.controlClass)
1701
+ return false;
1702
+ if (this.zoomOutLabel !== model.zoomOutLabel)
1703
+ return false;
1704
+ return true;
1705
+ }
1706
+ setZoomInLabel(zoomInLabel) {
1707
+ return ZoomControlSettings.copy({ ...this, zoomInLabel });
1708
+ }
1709
+ setZoomOutClass(zoomOutClass) {
1710
+ return ZoomControlSettings.copy({ ...this, zoomOutClass });
1711
+ }
1712
+ setZoomInClass(zoomInClass) {
1713
+ return ZoomControlSettings.copy({ ...this, zoomInClass });
1714
+ }
1715
+ setZoomOutLabel(zoomOutLabel) {
1716
+ return ZoomControlSettings.copy({ ...this, zoomOutLabel });
1717
+ }
1718
+ setControlClass(controlClass) {
1719
+ return ZoomControlSettings.copy({ ...this, controlClass });
1720
+ }
1721
+ }
1722
+
1723
+ class MapControlZoomComponent extends DestructibleComponent {
1724
+ set settings(value) {
1725
+ if (!value || this._settings.isSame(value))
1726
+ return;
1727
+ this._settings = value;
1728
+ this.setControl();
1729
+ }
1730
+ constructor(postboy) {
1731
+ super();
1732
+ this.postboy = postboy;
1733
+ this._settings = new ZoomControlSettings();
1734
+ this.onDestroy = () => {
1735
+ this.eliminate();
1736
+ };
1737
+ this.eliminate = () => !!this.map && !!this.control && this.map.removeControl(this.control);
1738
+ }
1739
+ ngOnInit() {
1740
+ this.postboy
1741
+ .subscribe(MapRenderedEvent.ID)
1742
+ .pipe(filter((m) => !!m), first())
1743
+ .subscribe((m) => {
1744
+ this.map = m.map;
1745
+ this.setControl();
1746
+ });
1747
+ }
1748
+ setControl() {
1749
+ if (!this.map)
1750
+ return;
1751
+ this.control = this.postboy.execute(new GenerateZoomControlExecutor(this._settings));
1752
+ this.map.addControl(this.control);
1753
+ }
1754
+ }
1755
+ MapControlZoomComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapControlZoomComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
1756
+ MapControlZoomComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapControlZoomComponent, selector: "art-map-control-zoom", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1757
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapControlZoomComponent, decorators: [{
1758
+ type: Component,
1759
+ args: [{ selector: 'art-map-control-zoom', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1760
+ }], ctorParameters: function () { return [{ type: MapPostboyService }]; }, propDecorators: { settings: [{
1761
+ type: Input
1762
+ }] } });
1763
+
1648
1764
  class MapModule {
1649
1765
  }
1650
1766
  MapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1656,13 +1772,15 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
1656
1772
  MarkersComponent,
1657
1773
  TooltipComponent,
1658
1774
  PolygonsComponent,
1659
- ClusterLayerComponent], imports: [CommonModule], exports: [MapPlateComponent,
1775
+ ClusterLayerComponent,
1776
+ MapControlZoomComponent], imports: [CommonModule], exports: [MapPlateComponent,
1660
1777
  FeatureLayerComponent,
1661
1778
  MarkersComponent,
1662
1779
  TileLayerComponent,
1663
1780
  TooltipComponent,
1664
1781
  PolygonsComponent,
1665
- ClusterLayerComponent] });
1782
+ ClusterLayerComponent,
1783
+ MapControlZoomComponent] });
1666
1784
  MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, imports: [CommonModule] });
1667
1785
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, decorators: [{
1668
1786
  type: NgModule,
@@ -1678,6 +1796,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1678
1796
  TooltipComponent,
1679
1797
  PolygonsComponent,
1680
1798
  ClusterLayerComponent,
1799
+ MapControlZoomComponent,
1681
1800
  ],
1682
1801
  exports: [
1683
1802
  MapPlateComponent,
@@ -1687,6 +1806,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1687
1806
  TooltipComponent,
1688
1807
  PolygonsComponent,
1689
1808
  ClusterLayerComponent,
1809
+ MapControlZoomComponent,
1690
1810
  ],
1691
1811
  }]
1692
1812
  }] });
@@ -1821,5 +1941,5 @@ class StringifyFeatureHelper {
1821
1941
  * Generated bundle index. Do not edit.
1822
1942
  */
1823
1943
 
1824
- export { CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, Dictionary, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, MapClickEvent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings };
1944
+ export { CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, Dictionary, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, MapClickEvent, MapControlZoomComponent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
1825
1945
  //# sourceMappingURL=maps-components-src-map.mjs.map