@artstesh/maps 4.0.11 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm2020/map/map-plate/controls/index.mjs +3 -0
- package/dist/esm2020/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +49 -0
- package/dist/esm2020/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +13 -0
- package/dist/esm2020/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +47 -0
- package/dist/esm2020/map/map.module.mjs +8 -3
- package/dist/esm2020/map/messages/executors/generate-zoom-control.executor.mjs +12 -0
- package/dist/esm2020/map/public-api.mjs +2 -1
- package/dist/esm2020/map/services/message-registrator.service.mjs +4 -1
- package/dist/esm2020/src/map/map-plate/controls/index.mjs +3 -0
- package/dist/esm2020/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +49 -0
- package/dist/esm2020/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +13 -0
- package/dist/esm2020/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +47 -0
- package/dist/esm2020/src/map/map.module.mjs +8 -3
- package/dist/esm2020/src/map/messages/executors/generate-zoom-control.executor.mjs +12 -0
- package/dist/esm2020/src/map/public-api.mjs +2 -1
- package/dist/esm2020/src/map/services/message-registrator.service.mjs +4 -1
- package/dist/fesm2015/maps-components-src-map.mjs +120 -3
- package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2015/maps-components.mjs +120 -3
- package/dist/fesm2015/maps-components.mjs.map +1 -1
- package/dist/fesm2020/maps-components-src-map.mjs +120 -3
- package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2020/maps-components.mjs +120 -3
- package/dist/fesm2020/maps-components.mjs.map +1 -1
- package/dist/map/map-plate/controls/index.d.ts +2 -0
- package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -0
- package/dist/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -0
- package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -0
- package/dist/map/map.module.d.ts +3 -2
- package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +9 -0
- package/dist/map/public-api.d.ts +1 -0
- package/dist/src/map/map-plate/controls/index.d.ts +2 -0
- package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -0
- package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -0
- package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -0
- package/dist/src/map/map.module.d.ts +3 -2
- package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +9 -0
- package/dist/src/map/public-api.d.ts +1 -0
- package/package.json +1 -1
|
@@ -10,6 +10,7 @@ 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
12
|
import { createRegularPolygon } 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';
|
|
@@ -506,6 +507,29 @@ class GenerateDrawExecutor extends PostboyExecutor {
|
|
|
506
507
|
}
|
|
507
508
|
GenerateDrawExecutor.ID = 'f01c99ba-0953-4ab5-82f9-04e6fbb678c1';
|
|
508
509
|
|
|
510
|
+
class GenerateZoomControlExecutor extends PostboyExecutor {
|
|
511
|
+
constructor(settings) {
|
|
512
|
+
super();
|
|
513
|
+
this.settings = settings;
|
|
514
|
+
}
|
|
515
|
+
get id() {
|
|
516
|
+
return GenerateZoomControlExecutor.ID;
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
GenerateZoomControlExecutor.ID = 'ff16a833-c68e-4b1a-bc23-c0d16b002810';
|
|
520
|
+
|
|
521
|
+
class ZoomControlFactory {
|
|
522
|
+
static build(settings) {
|
|
523
|
+
return new Zoom({
|
|
524
|
+
zoomInTipLabel: settings.zoomInLabel,
|
|
525
|
+
zoomOutTipLabel: settings.zoomOutLabel,
|
|
526
|
+
zoomInClassName: settings.zoomInClass,
|
|
527
|
+
zoomOutClassName: settings.zoomOutClass,
|
|
528
|
+
className: settings.controlClass,
|
|
529
|
+
});
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
|
|
509
533
|
class MapPostboyService extends PostboyService {
|
|
510
534
|
constructor() {
|
|
511
535
|
super();
|
|
@@ -902,6 +926,7 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
|
|
|
902
926
|
setExecutors() {
|
|
903
927
|
this.registerExecutor(FilterFeaturesInAreaExecutor.ID, (e) => FeatureService.filterFeaturesInArea(e));
|
|
904
928
|
this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
|
|
929
|
+
this.registerExecutor(GenerateZoomControlExecutor.ID, (e) => ZoomControlFactory.build(e.settings));
|
|
905
930
|
}
|
|
906
931
|
}
|
|
907
932
|
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 });
|
|
@@ -1645,6 +1670,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1645
1670
|
type: Input
|
|
1646
1671
|
}] } });
|
|
1647
1672
|
|
|
1673
|
+
class ZoomControlSettings {
|
|
1674
|
+
constructor() {
|
|
1675
|
+
this.controlClass = 'ol-zoom';
|
|
1676
|
+
this.zoomInClass = 'ol-zoom-in';
|
|
1677
|
+
this.zoomOutClass = 'ol-zoom-out';
|
|
1678
|
+
this.zoomInLabel = 'Zoom In';
|
|
1679
|
+
this.zoomOutLabel = 'Zoom Out';
|
|
1680
|
+
}
|
|
1681
|
+
static copy(model) {
|
|
1682
|
+
const result = new ZoomControlSettings();
|
|
1683
|
+
result.controlClass = model.controlClass;
|
|
1684
|
+
result.zoomInClass = model.zoomInClass;
|
|
1685
|
+
result.zoomOutClass = model.zoomOutClass;
|
|
1686
|
+
result.zoomInLabel = model.zoomInLabel;
|
|
1687
|
+
result.zoomOutLabel = model.zoomOutLabel;
|
|
1688
|
+
return result;
|
|
1689
|
+
}
|
|
1690
|
+
isSame(model) {
|
|
1691
|
+
if (this.zoomInClass !== model.zoomInClass)
|
|
1692
|
+
return false;
|
|
1693
|
+
if (this.zoomOutClass !== model.zoomOutClass)
|
|
1694
|
+
return false;
|
|
1695
|
+
if (this.zoomInLabel !== model.zoomInLabel)
|
|
1696
|
+
return false;
|
|
1697
|
+
if (this.controlClass !== model.controlClass)
|
|
1698
|
+
return false;
|
|
1699
|
+
if (this.zoomOutLabel !== model.zoomOutLabel)
|
|
1700
|
+
return false;
|
|
1701
|
+
return true;
|
|
1702
|
+
}
|
|
1703
|
+
setZoomInLabel(zoomInLabel) {
|
|
1704
|
+
return ZoomControlSettings.copy({ ...this, zoomInLabel });
|
|
1705
|
+
}
|
|
1706
|
+
setZoomOutClass(zoomOutClass) {
|
|
1707
|
+
return ZoomControlSettings.copy({ ...this, zoomOutClass });
|
|
1708
|
+
}
|
|
1709
|
+
setZoomInClass(zoomInClass) {
|
|
1710
|
+
return ZoomControlSettings.copy({ ...this, zoomInClass });
|
|
1711
|
+
}
|
|
1712
|
+
setZoomOutLabel(zoomOutLabel) {
|
|
1713
|
+
return ZoomControlSettings.copy({ ...this, zoomOutLabel });
|
|
1714
|
+
}
|
|
1715
|
+
setControlClass(controlClass) {
|
|
1716
|
+
return ZoomControlSettings.copy({ ...this, controlClass });
|
|
1717
|
+
}
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
class MapControlZoomComponent extends DestructibleComponent {
|
|
1721
|
+
set settings(value) {
|
|
1722
|
+
if (!value || this._settings.isSame(value))
|
|
1723
|
+
return;
|
|
1724
|
+
this._settings = value;
|
|
1725
|
+
this.setControl();
|
|
1726
|
+
}
|
|
1727
|
+
constructor(postboy) {
|
|
1728
|
+
super();
|
|
1729
|
+
this.postboy = postboy;
|
|
1730
|
+
this._settings = new ZoomControlSettings();
|
|
1731
|
+
this.onDestroy = () => {
|
|
1732
|
+
this.eliminate();
|
|
1733
|
+
};
|
|
1734
|
+
this.eliminate = () => !!this.map && !!this.control && this.map.removeControl(this.control);
|
|
1735
|
+
}
|
|
1736
|
+
ngOnInit() {
|
|
1737
|
+
this.postboy
|
|
1738
|
+
.subscribe(MapRenderedEvent.ID)
|
|
1739
|
+
.pipe(filter((m) => !!m), first())
|
|
1740
|
+
.subscribe((m) => {
|
|
1741
|
+
this.map = m.map;
|
|
1742
|
+
this.setControl();
|
|
1743
|
+
});
|
|
1744
|
+
}
|
|
1745
|
+
setControl() {
|
|
1746
|
+
if (!this.map)
|
|
1747
|
+
return;
|
|
1748
|
+
this.control = this.postboy.execute(new GenerateZoomControlExecutor(this._settings));
|
|
1749
|
+
this.map.addControl(this.control);
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
MapControlZoomComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapControlZoomComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1753
|
+
MapControlZoomComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapControlZoomComponent, selector: "lib-map-control-zoom", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1754
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapControlZoomComponent, decorators: [{
|
|
1755
|
+
type: Component,
|
|
1756
|
+
args: [{ selector: 'lib-map-control-zoom', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
1757
|
+
}], ctorParameters: function () { return [{ type: MapPostboyService }]; }, propDecorators: { settings: [{
|
|
1758
|
+
type: Input
|
|
1759
|
+
}] } });
|
|
1760
|
+
|
|
1648
1761
|
class MapModule {
|
|
1649
1762
|
}
|
|
1650
1763
|
MapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -1656,13 +1769,15 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
|
1656
1769
|
MarkersComponent,
|
|
1657
1770
|
TooltipComponent,
|
|
1658
1771
|
PolygonsComponent,
|
|
1659
|
-
ClusterLayerComponent
|
|
1772
|
+
ClusterLayerComponent,
|
|
1773
|
+
MapControlZoomComponent], imports: [CommonModule], exports: [MapPlateComponent,
|
|
1660
1774
|
FeatureLayerComponent,
|
|
1661
1775
|
MarkersComponent,
|
|
1662
1776
|
TileLayerComponent,
|
|
1663
1777
|
TooltipComponent,
|
|
1664
1778
|
PolygonsComponent,
|
|
1665
|
-
ClusterLayerComponent
|
|
1779
|
+
ClusterLayerComponent,
|
|
1780
|
+
MapControlZoomComponent] });
|
|
1666
1781
|
MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, imports: [CommonModule] });
|
|
1667
1782
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, decorators: [{
|
|
1668
1783
|
type: NgModule,
|
|
@@ -1678,6 +1793,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1678
1793
|
TooltipComponent,
|
|
1679
1794
|
PolygonsComponent,
|
|
1680
1795
|
ClusterLayerComponent,
|
|
1796
|
+
MapControlZoomComponent,
|
|
1681
1797
|
],
|
|
1682
1798
|
exports: [
|
|
1683
1799
|
MapPlateComponent,
|
|
@@ -1687,6 +1803,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1687
1803
|
TooltipComponent,
|
|
1688
1804
|
PolygonsComponent,
|
|
1689
1805
|
ClusterLayerComponent,
|
|
1806
|
+
MapControlZoomComponent,
|
|
1690
1807
|
],
|
|
1691
1808
|
}]
|
|
1692
1809
|
}] });
|
|
@@ -1821,5 +1938,5 @@ class StringifyFeatureHelper {
|
|
|
1821
1938
|
* Generated bundle index. Do not edit.
|
|
1822
1939
|
*/
|
|
1823
1940
|
|
|
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 };
|
|
1941
|
+
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
1942
|
//# sourceMappingURL=maps-components-src-map.mjs.map
|