@artstesh/maps 5.0.11 → 5.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 (77) hide show
  1. package/dist/esm2022/map/map-plate/controls/index.mjs +3 -0
  2. package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +52 -0
  3. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +13 -0
  4. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +45 -0
  5. package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +3 -3
  6. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +3 -3
  7. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +3 -3
  8. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +3 -3
  9. package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +3 -3
  10. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +3 -3
  11. package/dist/esm2022/map/map-plate/map-plate.component.mjs +5 -5
  12. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +3 -3
  13. package/dist/esm2022/map/map.module.mjs +8 -3
  14. package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +13 -0
  15. package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +1 -1
  16. package/dist/esm2022/map/models/drawing-type.enum.mjs +2 -1
  17. package/dist/esm2022/map/public-api.mjs +2 -1
  18. package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +4 -2
  19. package/dist/esm2022/map/services/feature.service.mjs +1 -1
  20. package/dist/esm2022/map/services/message-registrator.service.mjs +4 -1
  21. package/dist/esm2022/src/map/map-plate/controls/index.mjs +3 -0
  22. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +52 -0
  23. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +13 -0
  24. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +45 -0
  25. package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +3 -3
  26. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +3 -3
  27. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +3 -3
  28. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +3 -3
  29. package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +3 -3
  30. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +3 -3
  31. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +5 -5
  32. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +3 -3
  33. package/dist/esm2022/src/map/map.module.mjs +8 -3
  34. package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +13 -0
  35. package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +1 -1
  36. package/dist/esm2022/src/map/models/drawing-type.enum.mjs +2 -1
  37. package/dist/esm2022/src/map/public-api.mjs +2 -1
  38. package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +4 -2
  39. package/dist/esm2022/src/map/services/feature.service.mjs +1 -1
  40. package/dist/esm2022/src/map/services/message-registrator.service.mjs +4 -1
  41. package/dist/fesm2022/maps-components-src-map.mjs +144 -22
  42. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  43. package/dist/fesm2022/maps-components.mjs +144 -22
  44. package/dist/fesm2022/maps-components.mjs.map +1 -1
  45. package/dist/map/map-plate/controls/index.d.ts +2 -0
  46. package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -0
  47. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -0
  48. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -0
  49. package/dist/map/map-plate/features/markers/markers.component.d.ts +1 -1
  50. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +1 -1
  51. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +1 -1
  52. package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
  53. package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
  54. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  55. package/dist/map/map-plate/map-plate.component.d.ts +1 -1
  56. package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +1 -1
  57. package/dist/map/map.module.d.ts +3 -2
  58. package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +9 -0
  59. package/dist/map/models/drawing-type.enum.d.ts +2 -1
  60. package/dist/map/public-api.d.ts +1 -0
  61. package/dist/src/map/map-plate/controls/index.d.ts +2 -0
  62. package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -0
  63. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -0
  64. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -0
  65. package/dist/src/map/map-plate/features/markers/markers.component.d.ts +1 -1
  66. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +1 -1
  67. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +1 -1
  68. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
  69. package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
  70. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  71. package/dist/src/map/map-plate/map-plate.component.d.ts +1 -1
  72. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +1 -1
  73. package/dist/src/map/map.module.d.ts +3 -2
  74. package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +9 -0
  75. package/dist/src/map/models/drawing-type.enum.d.ts +2 -1
  76. package/dist/src/map/public-api.d.ts +1 -0
  77. 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';
@@ -187,6 +188,7 @@ var DrawingType;
187
188
  DrawingType[DrawingType["Polygon"] = 1] = "Polygon";
188
189
  DrawingType[DrawingType["Circle"] = 2] = "Circle";
189
190
  DrawingType[DrawingType["Square"] = 3] = "Square";
191
+ DrawingType[DrawingType["Box"] = 4] = "Box";
190
192
  })(DrawingType || (DrawingType = {}));
191
193
 
192
194
  var FeatureOutputFormat;
@@ -476,6 +478,8 @@ class DrawingGenerationService {
476
478
  switch (type) {
477
479
  case DrawingType.Circle:
478
480
  return createRegularPolygon(32);
481
+ case DrawingType.Box:
482
+ return createBox();
479
483
  case DrawingType.Square:
480
484
  return createRegularPolygon(4);
481
485
  }
@@ -543,6 +547,30 @@ class GenerateDrawExecutor extends PostboyExecutor {
543
547
  }
544
548
  }
545
549
 
550
+ class GenerateZoomControlExecutor extends PostboyExecutor {
551
+ settings;
552
+ static ID = 'ff16a833-c68e-4b1a-bc23-c0d16b002810';
553
+ constructor(settings) {
554
+ super();
555
+ this.settings = settings;
556
+ }
557
+ get id() {
558
+ return GenerateZoomControlExecutor.ID;
559
+ }
560
+ }
561
+
562
+ class ZoomControlFactory {
563
+ static build(settings) {
564
+ return new Zoom({
565
+ zoomInTipLabel: settings.zoomInLabel,
566
+ zoomOutTipLabel: settings.zoomOutLabel,
567
+ zoomInClassName: settings.zoomInClass,
568
+ zoomOutClassName: settings.zoomOutClass,
569
+ className: settings.controlClass,
570
+ });
571
+ }
572
+ }
573
+
546
574
  class MapPostboyService extends PostboyService {
547
575
  constructor() {
548
576
  super();
@@ -954,6 +982,7 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
954
982
  setExecutors() {
955
983
  this.registerExecutor(FilterFeaturesInAreaExecutor.ID, (e) => FeatureService.filterFeaturesInArea(e));
956
984
  this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
985
+ this.registerExecutor(GenerateZoomControlExecutor.ID, (e) => ZoomControlFactory.build(e.settings));
957
986
  }
958
987
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token: FeatureModificationService }], target: i0.ɵɵFactoryTarget.Injectable });
959
988
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService });
@@ -1085,11 +1114,11 @@ class TileLayerComponent extends DestructibleComponent {
1085
1114
  this.postboy.fire(new RemoveTileCommand(this.layer));
1086
1115
  }
1087
1116
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerComponent, deps: [{ token: MapPostboyService }, { token: TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
1088
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TileLayerComponent, selector: "lib-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1117
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TileLayerComponent, selector: "art-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1089
1118
  }
1090
1119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerComponent, decorators: [{
1091
1120
  type: Component,
1092
- args: [{ selector: 'lib-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1121
+ args: [{ selector: 'art-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1093
1122
  }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: TileLayerFactory }]; }, propDecorators: { settings: [{
1094
1123
  type: Input
1095
1124
  }] } });
@@ -1135,11 +1164,11 @@ class OsmTileLayerComponent extends DestructibleComponent {
1135
1164
  this._map.addLayer(this.layer);
1136
1165
  }
1137
1166
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OsmTileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1138
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OsmTileLayerComponent, selector: "lib-osm-tile-layer", inputs: { url: "url", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1167
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: { url: "url", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1139
1168
  }
1140
1169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OsmTileLayerComponent, decorators: [{
1141
1170
  type: Component,
1142
- args: [{ selector: 'lib-osm-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1171
+ args: [{ selector: 'art-osm-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1143
1172
  }], ctorParameters: function () { return []; }, propDecorators: { url: [{
1144
1173
  type: Input
1145
1174
  }], map: [{
@@ -1248,11 +1277,11 @@ class FeatureLayerComponent extends DestructibleComponent {
1248
1277
  this.postboy.fire(new RemoveLayerCommand(this.layer));
1249
1278
  }
1250
1279
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureLayerComponent, deps: [{ token: MapPostboyService }, { token: FeatureLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
1251
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FeatureLayerComponent, selector: "lib-feature-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1280
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FeatureLayerComponent, selector: "art-feature-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1252
1281
  }
1253
1282
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureLayerComponent, decorators: [{
1254
1283
  type: Component,
1255
- args: [{ selector: 'lib-feature-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1284
+ args: [{ selector: 'art-feature-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1256
1285
  }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: FeatureLayerFactory }]; }, propDecorators: { settings: [{
1257
1286
  type: Input
1258
1287
  }] } });
@@ -1439,11 +1468,11 @@ class ClusterLayerComponent extends DestructibleComponent {
1439
1468
  this.postboy.fire(new RemoveLayerCommand(this.manager.layer));
1440
1469
  }
1441
1470
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerComponent, deps: [{ token: MapPostboyService }, { token: ClusterLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
1442
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ClusterLayerComponent, selector: "lib-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1471
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ClusterLayerComponent, selector: "art-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1443
1472
  }
1444
1473
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerComponent, decorators: [{
1445
1474
  type: Component,
1446
- args: [{ selector: 'lib-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1475
+ args: [{ selector: 'art-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1447
1476
  }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: ClusterLayerFactory }]; }, propDecorators: { settings: [{
1448
1477
  type: Input
1449
1478
  }] } });
@@ -1518,7 +1547,7 @@ class MapPlateComponent extends DestructibleComponent {
1518
1547
  this.registrator.down();
1519
1548
  };
1520
1549
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, deps: [{ token: i0.ElementRef }, { token: MapPostboyService }, { token: MapPlateFactory }, { token: MessageRegistratorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1521
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapPlateComponent, selector: "lib-map-plate", inputs: { settings: "settings" }, providers: [
1550
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapPlateComponent, selector: "art-map-plate", inputs: { settings: "settings" }, providers: [
1522
1551
  MessageRegistratorService,
1523
1552
  MapStateService,
1524
1553
  MapManagementService,
@@ -1528,11 +1557,11 @@ class MapPlateComponent extends DestructibleComponent {
1528
1557
  DrawingGenerationService,
1529
1558
  FeatureService,
1530
1559
  FeatureModificationService,
1531
- ], 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 });
1560
+ ], 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 });
1532
1561
  }
1533
1562
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, decorators: [{
1534
1563
  type: Component,
1535
- args: [{ selector: 'lib-map-plate', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1564
+ args: [{ selector: 'art-map-plate', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1536
1565
  MessageRegistratorService,
1537
1566
  MapStateService,
1538
1567
  MapManagementService,
@@ -1542,7 +1571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1542
1571
  DrawingGenerationService,
1543
1572
  FeatureService,
1544
1573
  FeatureModificationService,
1545
- ], 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"] }]
1574
+ ], 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"] }]
1546
1575
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: MapPostboyService }, { type: MapPlateFactory }, { type: MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
1547
1576
  type: Input
1548
1577
  }] } });
@@ -1571,11 +1600,11 @@ class MarkersComponent extends DestructibleComponent {
1571
1600
  this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._markers.map((m) => m.feature)));
1572
1601
  }
1573
1602
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarkersComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
1574
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MarkersComponent, selector: "lib-markers", inputs: { layerName: "layerName", markers: "markers" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1603
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MarkersComponent, selector: "art-markers", inputs: { layerName: "layerName", markers: "markers" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1575
1604
  }
1576
1605
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarkersComponent, decorators: [{
1577
1606
  type: Component,
1578
- args: [{ selector: 'lib-markers', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1607
+ args: [{ selector: 'art-markers', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1579
1608
  }], ctorParameters: function () { return [{ type: MapPostboyService }]; }, propDecorators: { layerName: [{
1580
1609
  type: Input
1581
1610
  }], markers: [{
@@ -1672,11 +1701,11 @@ class TooltipComponent extends DestructibleComponent {
1672
1701
  };
1673
1702
  };
1674
1703
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipComponent, deps: [{ token: MapPostboyService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1675
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 });
1704
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 });
1676
1705
  }
1677
1706
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipComponent, decorators: [{
1678
1707
  type: Component,
1679
- 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"] }]
1708
+ 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"] }]
1680
1709
  }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { container: [{
1681
1710
  type: ViewChild,
1682
1711
  args: ['tip']
@@ -1708,17 +1737,106 @@ class PolygonsComponent extends DestructibleComponent {
1708
1737
  this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
1709
1738
  }
1710
1739
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolygonsComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
1711
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PolygonsComponent, selector: "lib-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1740
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PolygonsComponent, selector: "art-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1712
1741
  }
1713
1742
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolygonsComponent, decorators: [{
1714
1743
  type: Component,
1715
- args: [{ selector: 'lib-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1744
+ args: [{ selector: 'art-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1716
1745
  }], ctorParameters: function () { return [{ type: MapPostboyService }]; }, propDecorators: { layerName: [{
1717
1746
  type: Input
1718
1747
  }], polygons: [{
1719
1748
  type: Input
1720
1749
  }] } });
1721
1750
 
1751
+ class ZoomControlSettings {
1752
+ controlClass = 'ol-zoom';
1753
+ zoomInClass = 'ol-zoom-in';
1754
+ zoomOutClass = 'ol-zoom-out';
1755
+ zoomInLabel = 'Zoom In';
1756
+ zoomOutLabel = 'Zoom Out';
1757
+ static copy(model) {
1758
+ const result = new ZoomControlSettings();
1759
+ result.controlClass = model.controlClass;
1760
+ result.zoomInClass = model.zoomInClass;
1761
+ result.zoomOutClass = model.zoomOutClass;
1762
+ result.zoomInLabel = model.zoomInLabel;
1763
+ result.zoomOutLabel = model.zoomOutLabel;
1764
+ return result;
1765
+ }
1766
+ isSame(model) {
1767
+ if (this.zoomInClass !== model.zoomInClass)
1768
+ return false;
1769
+ if (this.zoomOutClass !== model.zoomOutClass)
1770
+ return false;
1771
+ if (this.zoomInLabel !== model.zoomInLabel)
1772
+ return false;
1773
+ if (this.controlClass !== model.controlClass)
1774
+ return false;
1775
+ if (this.zoomOutLabel !== model.zoomOutLabel)
1776
+ return false;
1777
+ return true;
1778
+ }
1779
+ setZoomInLabel(zoomInLabel) {
1780
+ return ZoomControlSettings.copy({ ...this, zoomInLabel });
1781
+ }
1782
+ setZoomOutClass(zoomOutClass) {
1783
+ return ZoomControlSettings.copy({ ...this, zoomOutClass });
1784
+ }
1785
+ setZoomInClass(zoomInClass) {
1786
+ return ZoomControlSettings.copy({ ...this, zoomInClass });
1787
+ }
1788
+ setZoomOutLabel(zoomOutLabel) {
1789
+ return ZoomControlSettings.copy({ ...this, zoomOutLabel });
1790
+ }
1791
+ setControlClass(controlClass) {
1792
+ return ZoomControlSettings.copy({ ...this, controlClass });
1793
+ }
1794
+ }
1795
+
1796
+ class MapControlZoomComponent extends DestructibleComponent {
1797
+ postboy;
1798
+ _settings = new ZoomControlSettings();
1799
+ map;
1800
+ control;
1801
+ set settings(value) {
1802
+ if (!value || this._settings.isSame(value))
1803
+ return;
1804
+ this._settings = value;
1805
+ this.setControl();
1806
+ }
1807
+ constructor(postboy) {
1808
+ super();
1809
+ this.postboy = postboy;
1810
+ }
1811
+ ngOnInit() {
1812
+ this.postboy
1813
+ .subscribe(MapRenderedEvent.ID)
1814
+ .pipe(filter((m) => !!m), first())
1815
+ .subscribe((m) => {
1816
+ this.map = m.map;
1817
+ this.setControl();
1818
+ });
1819
+ }
1820
+ setControl() {
1821
+ if (!this.map)
1822
+ return;
1823
+ this.control = this.postboy.execute(new GenerateZoomControlExecutor(this._settings));
1824
+ this.map.addControl(this.control);
1825
+ }
1826
+ onDestroy = () => {
1827
+ this.eliminate();
1828
+ };
1829
+ eliminate = () => !!this.map && !!this.control && this.map.removeControl(this.control);
1830
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapControlZoomComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
1831
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapControlZoomComponent, selector: "art-map-control-zoom", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1832
+ }
1833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapControlZoomComponent, decorators: [{
1834
+ type: Component,
1835
+ args: [{ selector: 'art-map-control-zoom', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1836
+ }], ctorParameters: function () { return [{ type: MapPostboyService }]; }, propDecorators: { settings: [{
1837
+ type: Input
1838
+ }] } });
1839
+
1722
1840
  class MapModule {
1723
1841
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1724
1842
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MapModule, declarations: [DestructibleComponent,
@@ -1729,13 +1847,15 @@ class MapModule {
1729
1847
  MarkersComponent,
1730
1848
  TooltipComponent,
1731
1849
  PolygonsComponent,
1732
- ClusterLayerComponent], imports: [CommonModule], exports: [MapPlateComponent,
1850
+ ClusterLayerComponent,
1851
+ MapControlZoomComponent], imports: [CommonModule], exports: [MapPlateComponent,
1733
1852
  FeatureLayerComponent,
1734
1853
  MarkersComponent,
1735
1854
  TileLayerComponent,
1736
1855
  TooltipComponent,
1737
1856
  PolygonsComponent,
1738
- ClusterLayerComponent] });
1857
+ ClusterLayerComponent,
1858
+ MapControlZoomComponent] });
1739
1859
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapModule, imports: [CommonModule] });
1740
1860
  }
1741
1861
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapModule, decorators: [{
@@ -1752,6 +1872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1752
1872
  TooltipComponent,
1753
1873
  PolygonsComponent,
1754
1874
  ClusterLayerComponent,
1875
+ MapControlZoomComponent,
1755
1876
  ],
1756
1877
  exports: [
1757
1878
  MapPlateComponent,
@@ -1761,6 +1882,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1761
1882
  TooltipComponent,
1762
1883
  PolygonsComponent,
1763
1884
  ClusterLayerComponent,
1885
+ MapControlZoomComponent,
1764
1886
  ],
1765
1887
  }]
1766
1888
  }] });
@@ -1895,5 +2017,5 @@ class StringifyFeatureHelper {
1895
2017
  * Generated bundle index. Do not edit.
1896
2018
  */
1897
2019
 
1898
- 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 };
2020
+ 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 };
1899
2021
  //# sourceMappingURL=maps-components-src-map.mjs.map