@artstesh/maps 5.0.6 → 5.0.7

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/helpers/index.mjs +2 -1
  2. package/dist/esm2022/map/helpers/marker-style.helper.mjs +5 -1
  3. package/dist/esm2022/map/helpers/text-style.helper.mjs +14 -0
  4. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -0
  5. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -0
  6. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +21 -0
  7. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +60 -0
  8. package/dist/esm2022/map/map-plate/layers/index.mjs +3 -1
  9. package/dist/esm2022/map/map-plate/map-plate.component.mjs +4 -3
  10. package/dist/esm2022/map/map.module.mjs +8 -3
  11. package/dist/esm2022/map/messages/commands/add-layer.command.mjs +1 -1
  12. package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +15 -0
  13. package/dist/esm2022/map/messages/events/map-click.event.mjs +4 -2
  14. package/dist/esm2022/map/models/i-identified.mjs +2 -0
  15. package/dist/esm2022/map/models/map.constants.mjs +4 -0
  16. package/dist/esm2022/map/models/marker-model.mjs +3 -2
  17. package/dist/esm2022/map/services/map-click.service.mjs +7 -3
  18. package/dist/esm2022/map/services/map-feature.service.mjs +41 -0
  19. package/dist/esm2022/map/services/map-management.service.mjs +6 -3
  20. package/dist/esm2022/map/services/message-registrator.service.mjs +9 -6
  21. package/dist/esm2022/src/map/helpers/index.mjs +2 -1
  22. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +5 -1
  23. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +14 -0
  24. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -0
  25. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -0
  26. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +21 -0
  27. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +60 -0
  28. package/dist/esm2022/src/map/map-plate/layers/index.mjs +3 -1
  29. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +4 -3
  30. package/dist/esm2022/src/map/map.module.mjs +8 -3
  31. package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +1 -1
  32. package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +15 -0
  33. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +4 -2
  34. package/dist/esm2022/src/map/models/i-identified.mjs +2 -0
  35. package/dist/esm2022/src/map/models/map.constants.mjs +4 -0
  36. package/dist/esm2022/src/map/models/marker-model.mjs +3 -2
  37. package/dist/esm2022/src/map/services/map-click.service.mjs +7 -3
  38. package/dist/esm2022/src/map/services/map-feature.service.mjs +41 -0
  39. package/dist/esm2022/src/map/services/map-management.service.mjs +6 -3
  40. package/dist/esm2022/src/map/services/message-registrator.service.mjs +9 -6
  41. package/dist/fesm2022/maps-components-src-map.mjs +273 -17
  42. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  43. package/dist/fesm2022/maps-components.mjs +273 -17
  44. package/dist/fesm2022/maps-components.mjs.map +1 -1
  45. package/dist/map/helpers/index.d.ts +1 -0
  46. package/dist/map/helpers/marker-style.helper.d.ts +2 -0
  47. package/dist/map/helpers/text-style.helper.d.ts +4 -0
  48. package/dist/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -0
  49. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -0
  50. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +11 -0
  51. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +20 -0
  52. package/dist/map/map-plate/layers/index.d.ts +2 -0
  53. package/dist/map/map.module.d.ts +3 -2
  54. package/dist/map/messages/commands/add-layer.command.d.ts +3 -2
  55. package/dist/map/messages/commands/fit-to-features.command.d.ts +10 -0
  56. package/dist/map/messages/events/map-click.event.d.ts +10 -2
  57. package/dist/map/models/i-identified.d.ts +3 -0
  58. package/dist/map/models/map.constants.d.ts +3 -0
  59. package/dist/map/services/map-feature.service.d.ts +14 -0
  60. package/dist/map/services/message-registrator.service.d.ts +2 -1
  61. package/dist/src/map/helpers/index.d.ts +1 -0
  62. package/dist/src/map/helpers/marker-style.helper.d.ts +2 -0
  63. package/dist/src/map/helpers/text-style.helper.d.ts +4 -0
  64. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -0
  65. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -0
  66. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +11 -0
  67. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +20 -0
  68. package/dist/src/map/map-plate/layers/index.d.ts +2 -0
  69. package/dist/src/map/map.module.d.ts +3 -2
  70. package/dist/src/map/messages/commands/add-layer.command.d.ts +3 -2
  71. package/dist/src/map/messages/commands/fit-to-features.command.d.ts +10 -0
  72. package/dist/src/map/messages/events/map-click.event.d.ts +10 -2
  73. package/dist/src/map/models/i-identified.d.ts +3 -0
  74. package/dist/src/map/models/map.constants.d.ts +3 -0
  75. package/dist/src/map/services/map-feature.service.d.ts +14 -0
  76. package/dist/src/map/services/message-registrator.service.d.ts +2 -1
  77. package/package.json +1 -1
@@ -1,12 +1,20 @@
1
1
  import { GenericMessage } from '../generic-message';
2
+ import { Feature } from 'ol';
3
+ import { Geometry } from 'ol/geom';
4
+ import { IIdentified } from '../../models/i-identified';
2
5
  export declare class MapClickEvent extends GenericMessage {
3
6
  coordinates: number[];
4
7
  entities: {
5
- [layer: string]: (string | number)[];
8
+ [layer: string]: IIdentified[];
9
+ };
10
+ features: {
11
+ [layer: string]: Feature<Geometry>[];
6
12
  };
7
13
  static readonly ID = "323df526-8d9c-49c6-83e8-6e9a1e7762f7";
8
14
  constructor(coordinates: number[], entities: {
9
- [layer: string]: (string | number)[];
15
+ [layer: string]: IIdentified[];
16
+ }, features: {
17
+ [layer: string]: Feature<Geometry>[];
10
18
  });
11
19
  get id(): string;
12
20
  }
@@ -0,0 +1,3 @@
1
+ export interface IIdentified {
2
+ id: string | number;
3
+ }
@@ -0,0 +1,3 @@
1
+ export declare class MapConstants {
2
+ static FeatureInfo: string;
3
+ }
@@ -0,0 +1,14 @@
1
+ import { IPostboyDependingService } from '@artstesh/postboy';
2
+ import { MapPostboyService } from './map-postboy.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MapFeatureService implements IPostboyDependingService {
5
+ private postboy;
6
+ private map?;
7
+ constructor(postboy: MapPostboyService);
8
+ up(): void;
9
+ private observeMapRender;
10
+ private observeFitToFeatures;
11
+ private fitToGeometries;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapFeatureService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<MapFeatureService>;
14
+ }
@@ -3,9 +3,10 @@ import { PostboyAbstractRegistrator } from '@artstesh/postboy';
3
3
  import { MapManagementService } from './map-management.service';
4
4
  import { MapStateService } from './map-state.service';
5
5
  import { MapClickService } from './map-click.service';
6
+ import { MapFeatureService } from './map-feature.service';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class MessageRegistratorService extends PostboyAbstractRegistrator {
8
- constructor(service: MapPostboyService, management: MapManagementService, state: MapStateService, interaction: MapClickService);
9
+ constructor(service: MapPostboyService, management: MapManagementService, state: MapStateService, feature: MapFeatureService, interaction: MapClickService);
9
10
  protected _up(): void;
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageRegistratorService, never>;
11
12
  static ɵprov: i0.ɵɵInjectableDeclaration<MessageRegistratorService>;
@@ -1,2 +1,3 @@
1
1
  export * from './marker-style.helper';
2
2
  export * from './polygon-style.helper';
3
+ export * from './text-style.helper';
@@ -1,5 +1,7 @@
1
1
  import Style from 'ol/style/Style';
2
+ import { Text } from 'ol/style';
2
3
  export declare class MarkerStyleHelper {
3
4
  static fromSvg(svg: string, size?: [number, number], zIndex?: number): Style;
4
5
  static circle(radius: number, fill: string, strokeColor: string, strokeWidth?: number): Style;
6
+ static withText(style: Style, text: Text): Style;
5
7
  }
@@ -0,0 +1,4 @@
1
+ import { Text } from 'ol/style';
2
+ export declare class TextStyleHelper {
3
+ static get(text: string, font: string, color: string): Text;
4
+ }
@@ -0,0 +1,11 @@
1
+ import { ClusterLayerSettings } from './cluster-layer.settings';
2
+ import { ClusterLayerManager } from './cluster-layer.manager';
3
+ import { MapPostboyService } from '../../../services/map-postboy.service';
4
+ import { StyleFunction } from 'ol/style/Style';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ClusterLayerFactory {
7
+ build(settings: ClusterLayerSettings, postboy: MapPostboyService): ClusterLayerManager;
8
+ styleFunc(settings: ClusterLayerSettings): StyleFunction;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClusterLayerFactory, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<ClusterLayerFactory>;
11
+ }
@@ -0,0 +1,21 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapPostboyService } from '../../../services/map-postboy.service';
4
+ import { ClusterLayerManager } from './cluster-layer.manager';
5
+ import { ClusterLayerSettings } from './cluster-layer.settings';
6
+ import { ClusterLayerFactory } from './cluster-layer-factory.service';
7
+ import * as i0 from "@angular/core";
8
+ export declare class ClusterLayerComponent extends DestructibleComponent implements OnInit {
9
+ private postboy;
10
+ private factory;
11
+ manager: ClusterLayerManager | null;
12
+ _settings: ClusterLayerSettings;
13
+ constructor(postboy: MapPostboyService, factory: ClusterLayerFactory);
14
+ ngOnInit(): void;
15
+ set settings(value: ClusterLayerSettings | undefined);
16
+ onDestroy: () => void;
17
+ private initLayer;
18
+ private removeLayer;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClusterLayerComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClusterLayerComponent, "lib-cluster-layer", never, { "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, false, never>;
21
+ }
@@ -0,0 +1,11 @@
1
+ import { MapPostboyService } from '../../../services/map-postboy.service';
2
+ import { Vector as Layer } from 'ol/layer';
3
+ import Cluster from 'ol/source/Cluster';
4
+ import { ClusterLayerSettings } from './cluster-layer.settings';
5
+ export declare class ClusterLayerManager {
6
+ private settings;
7
+ readonly layer: Layer<Cluster>;
8
+ private postboy;
9
+ constructor(settings: ClusterLayerSettings, layer: Layer<Cluster>, postboy: MapPostboyService);
10
+ private observeClick;
11
+ }
@@ -0,0 +1,20 @@
1
+ import Style, { StyleFunction } from 'ol/style/Style';
2
+ import { IIdentified } from '../../../models/i-identified';
3
+ export declare class ClusterLayerSettings {
4
+ name: string;
5
+ zIndex: number;
6
+ maxZoom: number;
7
+ minZoom: number;
8
+ distance: number;
9
+ bbox: boolean;
10
+ style?: (features: IIdentified[]) => Style;
11
+ static copy(model: ClusterLayerSettings): ClusterLayerSettings;
12
+ setZIndex(zIndex: number): ClusterLayerSettings;
13
+ setDistance(distance: number): ClusterLayerSettings;
14
+ setName(name: string): ClusterLayerSettings;
15
+ setMaxZoom(maxZoom: number): ClusterLayerSettings;
16
+ setMinZoom(minZoom: number): ClusterLayerSettings;
17
+ setBbox(bbox: boolean): ClusterLayerSettings;
18
+ setStyle(style: (features: IIdentified[]) => Style | StyleFunction): ClusterLayerSettings;
19
+ isSame(model: ClusterLayerSettings): boolean;
20
+ }
@@ -3,3 +3,5 @@ export * from './tile-layer/tile-layer.settings';
3
3
  export * from './osm-tile-layer/osm-tile-layer.component';
4
4
  export * from './feature-layer/feature-layer.settings';
5
5
  export * from './feature-layer/feature-layer.component';
6
+ export * from './cluster-layer/cluster-layer.component';
7
+ export * from './cluster-layer/cluster-layer.settings';
@@ -7,9 +7,10 @@ import * as i5 from "./map-plate/layers/feature-layer/feature-layer.component";
7
7
  import * as i6 from "./map-plate/features/markers/markers.component";
8
8
  import * as i7 from "./map-plate/tooltips/tooltip/tooltip.component";
9
9
  import * as i8 from "./map-plate/features/polygons/polygons.component";
10
- import * as i9 from "@angular/common";
10
+ import * as i9 from "./map-plate/layers/cluster-layer/cluster-layer.component";
11
+ import * as i10 from "@angular/common";
11
12
  export declare class MapModule {
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<MapModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<MapModule, [typeof i1.DestructibleComponent, typeof i2.MapPlateComponent, typeof i3.TileLayerComponent, typeof i4.OsmTileLayerComponent, typeof i5.FeatureLayerComponent, typeof i6.MarkersComponent, typeof i7.TooltipComponent, typeof i8.PolygonsComponent], [typeof i9.CommonModule], [typeof i2.MapPlateComponent, typeof i5.FeatureLayerComponent, typeof i6.MarkersComponent, typeof i3.TileLayerComponent, typeof i7.TooltipComponent, typeof i8.PolygonsComponent]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MapModule, [typeof i1.DestructibleComponent, typeof i2.MapPlateComponent, typeof i3.TileLayerComponent, typeof i4.OsmTileLayerComponent, typeof i5.FeatureLayerComponent, typeof i6.MarkersComponent, typeof i7.TooltipComponent, typeof i8.PolygonsComponent, typeof i9.ClusterLayerComponent], [typeof i10.CommonModule], [typeof i2.MapPlateComponent, typeof i5.FeatureLayerComponent, typeof i6.MarkersComponent, typeof i3.TileLayerComponent, typeof i7.TooltipComponent, typeof i8.PolygonsComponent, typeof i9.ClusterLayerComponent]>;
14
15
  static ɵinj: i0.ɵɵInjectorDeclaration<MapModule>;
15
16
  }
@@ -1,9 +1,10 @@
1
1
  import { GenericMessage } from '../generic-message';
2
2
  import { Vector as Layer } from 'ol/layer';
3
3
  import VectorSource from 'ol/source/Vector';
4
+ import Cluster from 'ol/source/Cluster';
4
5
  export declare class AddLayerCommand extends GenericMessage {
5
- layer: Layer<VectorSource<any>>;
6
+ layer: Layer<VectorSource<any> | Cluster>;
6
7
  static readonly ID = "d93e250f-92bc-43ac-9c6a-46c521a1aaa5";
7
- constructor(layer: Layer<VectorSource<any>>);
8
+ constructor(layer: Layer<VectorSource<any> | Cluster>);
8
9
  get id(): string;
9
10
  }
@@ -0,0 +1,10 @@
1
+ import { GenericMessage } from '../generic-message';
2
+ import { Feature } from 'ol';
3
+ import { Geometry } from 'ol/geom';
4
+ export declare class FitToFeaturesCommand extends GenericMessage {
5
+ features: Feature<Geometry>[];
6
+ zoomAfter: number;
7
+ static readonly ID = "76cdc091-3793-4b6c-82f7-1e0334cf08a8";
8
+ constructor(features: Feature<Geometry>[], zoomAfter?: number);
9
+ get id(): string;
10
+ }
@@ -1,12 +1,20 @@
1
1
  import { GenericMessage } from '../generic-message';
2
+ import { Feature } from 'ol';
3
+ import { Geometry } from 'ol/geom';
4
+ import { IIdentified } from '../../models/i-identified';
2
5
  export declare class MapClickEvent extends GenericMessage {
3
6
  coordinates: number[];
4
7
  entities: {
5
- [layer: string]: (string | number)[];
8
+ [layer: string]: IIdentified[];
9
+ };
10
+ features: {
11
+ [layer: string]: Feature<Geometry>[];
6
12
  };
7
13
  static readonly ID = "323df526-8d9c-49c6-83e8-6e9a1e7762f7";
8
14
  constructor(coordinates: number[], entities: {
9
- [layer: string]: (string | number)[];
15
+ [layer: string]: IIdentified[];
16
+ }, features: {
17
+ [layer: string]: Feature<Geometry>[];
10
18
  });
11
19
  get id(): string;
12
20
  }
@@ -0,0 +1,3 @@
1
+ export interface IIdentified {
2
+ id: string | number;
3
+ }
@@ -0,0 +1,3 @@
1
+ export declare class MapConstants {
2
+ static FeatureInfo: string;
3
+ }
@@ -0,0 +1,14 @@
1
+ import { IPostboyDependingService } from '@artstesh/postboy';
2
+ import { MapPostboyService } from './map-postboy.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MapFeatureService implements IPostboyDependingService {
5
+ private postboy;
6
+ private map?;
7
+ constructor(postboy: MapPostboyService);
8
+ up(): void;
9
+ private observeMapRender;
10
+ private observeFitToFeatures;
11
+ private fitToGeometries;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapFeatureService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<MapFeatureService>;
14
+ }
@@ -3,9 +3,10 @@ import { PostboyAbstractRegistrator } from '@artstesh/postboy';
3
3
  import { MapManagementService } from './map-management.service';
4
4
  import { MapStateService } from './map-state.service';
5
5
  import { MapClickService } from './map-click.service';
6
+ import { MapFeatureService } from './map-feature.service';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class MessageRegistratorService extends PostboyAbstractRegistrator {
8
- constructor(service: MapPostboyService, management: MapManagementService, state: MapStateService, interaction: MapClickService);
9
+ constructor(service: MapPostboyService, management: MapManagementService, state: MapStateService, feature: MapFeatureService, interaction: MapClickService);
9
10
  protected _up(): void;
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageRegistratorService, never>;
11
12
  static ɵprov: i0.ɵɵInjectableDeclaration<MessageRegistratorService>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artstesh/maps",
3
- "version": "5.0.6",
3
+ "version": "5.0.7",
4
4
  "author": "artstesh",
5
5
  "license": "MIT",
6
6
  "description": "Let's draw a map ;)",