@artstesh/maps 4.0.2 → 5.0.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/esm2022/map/common/destructible.component.mjs +18 -0
- package/dist/esm2022/map/common/id.generator.mjs +14 -0
- package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +42 -0
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -0
- package/dist/{esm2020 → esm2022}/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +4 -4
- package/dist/{esm2020 → esm2022}/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +6 -7
- package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -0
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +17 -0
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +39 -0
- package/dist/esm2022/map/map-plate/map-plate.component.mjs +64 -0
- package/dist/{esm2020 → esm2022}/map/map-plate/map-plate.factory.service.mjs +4 -4
- package/dist/esm2022/map/map.module.mjs +35 -0
- package/dist/esm2022/map/messages/commands/add-layer.command.mjs +13 -0
- package/dist/esm2022/map/messages/commands/clear-layer.command.mjs +13 -0
- package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +15 -0
- package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +13 -0
- package/dist/esm2022/map/messages/events/map-rendered.event.mjs +13 -0
- package/dist/esm2022/map/messages/generic-message.mjs +12 -0
- package/dist/esm2022/map/models/map-lyrs.enum.mjs +19 -0
- package/dist/esm2022/map/models/map-settings.mjs +51 -0
- package/dist/esm2022/map/models/marker-model.mjs +31 -0
- package/dist/esm2022/map/services/map-management.service.mjs +61 -0
- package/dist/esm2022/map/services/map-postboy.service.mjs +24 -0
- package/dist/esm2022/map/services/map-state.service.mjs +18 -0
- package/dist/esm2022/map/services/message-registrator.service.mjs +24 -0
- package/dist/{esm2020 → esm2022}/map/services/service.collector.mjs +4 -4
- package/dist/esm2022/src/map/common/destructible.component.mjs +18 -0
- package/dist/esm2022/src/map/common/id.generator.mjs +14 -0
- package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +42 -0
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -0
- package/dist/{esm2020 → esm2022}/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +4 -4
- package/dist/{esm2020 → esm2022}/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +6 -7
- package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -0
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +17 -0
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +39 -0
- package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +64 -0
- package/dist/{esm2020 → esm2022}/src/map/map-plate/map-plate.factory.service.mjs +4 -4
- package/dist/esm2022/src/map/map.module.mjs +35 -0
- package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +13 -0
- package/dist/esm2022/src/map/messages/commands/clear-layer.command.mjs +13 -0
- package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +15 -0
- package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +13 -0
- package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +13 -0
- package/dist/esm2022/src/map/messages/generic-message.mjs +12 -0
- package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +19 -0
- package/dist/esm2022/src/map/models/map-settings.mjs +51 -0
- package/dist/esm2022/src/map/models/marker-model.mjs +31 -0
- package/dist/esm2022/src/map/services/map-management.service.mjs +61 -0
- package/dist/esm2022/src/map/services/map-postboy.service.mjs +24 -0
- package/dist/esm2022/src/map/services/map-state.service.mjs +18 -0
- package/dist/esm2022/src/map/services/message-registrator.service.mjs +24 -0
- package/dist/{esm2020 → esm2022}/src/map/services/service.collector.mjs +4 -4
- package/dist/{fesm2020 → fesm2022}/maps-components-src-map.mjs +172 -256
- package/dist/fesm2022/maps-components-src-map.mjs.map +1 -0
- package/dist/{fesm2020 → fesm2022}/maps-components.mjs +172 -256
- package/dist/fesm2022/maps-components.mjs.map +1 -0
- package/dist/map/map-plate/features/markers/markers.component.d.ts +1 -1
- package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
- package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
- package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +5 -14
- package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +2 -3
- package/dist/map/map-plate/map-plate.component.d.ts +1 -1
- package/dist/map/map.module.d.ts +1 -1
- package/dist/map/messages/commands/clear-layer.command.d.ts +7 -0
- package/dist/map/services/map-management.service.d.ts +1 -2
- package/dist/package.json +9 -17
- package/dist/src/map/map-plate/features/markers/markers.component.d.ts +1 -1
- package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
- package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +5 -14
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +2 -3
- package/dist/src/map/map-plate/map-plate.component.d.ts +1 -1
- package/dist/src/map/map.module.d.ts +1 -1
- package/dist/src/map/messages/commands/clear-layer.command.d.ts +7 -0
- package/dist/src/map/services/map-management.service.d.ts +1 -2
- package/package.json +22 -26
- package/dist/esm2020/map/common/destructible.component.mjs +0 -19
- package/dist/esm2020/map/common/id.generator.mjs +0 -14
- package/dist/esm2020/map/map-plate/features/markers/markers.component.mjs +0 -41
- package/dist/esm2020/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -50
- package/dist/esm2020/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -55
- package/dist/esm2020/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -49
- package/dist/esm2020/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -50
- package/dist/esm2020/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -47
- package/dist/esm2020/map/map-plate/map-plate.component.mjs +0 -59
- package/dist/esm2020/map/map.module.mjs +0 -35
- package/dist/esm2020/map/messages/commands/add-layer.command.mjs +0 -12
- package/dist/esm2020/map/messages/commands/add-tile.command.mjs +0 -12
- package/dist/esm2020/map/messages/commands/place-layer-features.command.mjs +0 -13
- package/dist/esm2020/map/messages/commands/remove-layer.command.mjs +0 -12
- package/dist/esm2020/map/messages/commands/remove-tile.command.mjs +0 -12
- package/dist/esm2020/map/messages/events/map-rendered.event.mjs +0 -12
- package/dist/esm2020/map/messages/generic-message.mjs +0 -15
- package/dist/esm2020/map/models/map-lyrs.enum.mjs +0 -19
- package/dist/esm2020/map/models/map-settings.mjs +0 -53
- package/dist/esm2020/map/models/marker-model.mjs +0 -26
- package/dist/esm2020/map/services/map-management.service.mjs +0 -70
- package/dist/esm2020/map/services/map-postboy.service.mjs +0 -26
- package/dist/esm2020/map/services/map-state.service.mjs +0 -16
- package/dist/esm2020/map/services/message-registrator.service.mjs +0 -26
- package/dist/esm2020/src/map/common/destructible.component.mjs +0 -19
- package/dist/esm2020/src/map/common/id.generator.mjs +0 -14
- package/dist/esm2020/src/map/map-plate/features/markers/markers.component.mjs +0 -41
- package/dist/esm2020/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -50
- package/dist/esm2020/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -55
- package/dist/esm2020/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -49
- package/dist/esm2020/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -50
- package/dist/esm2020/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -47
- package/dist/esm2020/src/map/map-plate/map-plate.component.mjs +0 -59
- package/dist/esm2020/src/map/map.module.mjs +0 -35
- package/dist/esm2020/src/map/messages/commands/add-layer.command.mjs +0 -12
- package/dist/esm2020/src/map/messages/commands/add-tile.command.mjs +0 -12
- package/dist/esm2020/src/map/messages/commands/place-layer-features.command.mjs +0 -13
- package/dist/esm2020/src/map/messages/commands/remove-layer.command.mjs +0 -12
- package/dist/esm2020/src/map/messages/commands/remove-tile.command.mjs +0 -12
- package/dist/esm2020/src/map/messages/events/map-rendered.event.mjs +0 -12
- package/dist/esm2020/src/map/messages/generic-message.mjs +0 -15
- package/dist/esm2020/src/map/models/map-lyrs.enum.mjs +0 -19
- package/dist/esm2020/src/map/models/map-settings.mjs +0 -53
- package/dist/esm2020/src/map/models/marker-model.mjs +0 -26
- package/dist/esm2020/src/map/services/map-management.service.mjs +0 -70
- package/dist/esm2020/src/map/services/map-postboy.service.mjs +0 -26
- package/dist/esm2020/src/map/services/map-state.service.mjs +0 -16
- package/dist/esm2020/src/map/services/message-registrator.service.mjs +0 -26
- package/dist/fesm2015/maps-components-src-map.mjs +0 -800
- package/dist/fesm2015/maps-components-src-map.mjs.map +0 -1
- package/dist/fesm2015/maps-components.mjs +0 -804
- package/dist/fesm2015/maps-components.mjs.map +0 -1
- package/dist/fesm2020/maps-components-src-map.mjs.map +0 -1
- package/dist/fesm2020/maps-components.mjs.map +0 -1
- package/dist/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +0 -11
- package/dist/map/messages/commands/add-tile.command.d.ts +0 -9
- package/dist/map/messages/commands/remove-tile.command.d.ts +0 -9
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +0 -11
- package/dist/src/map/messages/commands/add-tile.command.d.ts +0 -9
- package/dist/src/map/messages/commands/remove-tile.command.d.ts +0 -9
- /package/dist/{esm2020 → esm2022}/map/helpers/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/map/helpers/marker-style.helper.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/map/map-plate/features/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/map/map-plate/layers/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/map/messages/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/map/models/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/map/public-api.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/maps-components.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/src/map/helpers/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/src/map/helpers/marker-style.helper.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/src/map/map-plate/features/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/src/map/map-plate/layers/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/src/map/maps-components-src-map.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/src/map/messages/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/src/map/models/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/src/map/public-api.mjs +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maps-components.mjs","sources":["../../projects/maps-components/src/map/common/destructible.component.ts","../../projects/maps-components/src/map/models/map-lyrs.enum.ts","../../projects/maps-components/src/map/models/map-settings.ts","../../projects/maps-components/src/map/common/id.generator.ts","../../projects/maps-components/src/map/models/marker-model.ts","../../projects/maps-components/src/map/messages/generic-message.ts","../../projects/maps-components/src/map/messages/events/map-rendered.event.ts","../../projects/maps-components/src/map/messages/commands/add-layer.command.ts","../../projects/maps-components/src/map/messages/commands/place-layer-features.command.ts","../../projects/maps-components/src/map/messages/commands/remove-layer.command.ts","../../projects/maps-components/src/map/messages/commands/clear-layer.command.ts","../../projects/maps-components/src/map/services/map-postboy.service.ts","../../projects/maps-components/src/map/services/message-registrator.service.ts","../../projects/maps-components/src/map/services/map-state.service.ts","../../projects/maps-components/src/map/services/map-management.service.ts","../../projects/maps-components/src/map/services/service.collector.ts","../../projects/maps-components/src/map/map-plate/map-plate.factory.service.ts","../../projects/maps-components/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.ts","../../projects/maps-components/src/map/map-plate/map-plate.component.ts","../../projects/maps-components/src/map/map-plate/map-plate.component.html","../../projects/maps-components/src/map/map-plate/layers/tile-layer/tile-layer.component.ts","../../projects/maps-components/src/map/map-plate/layers/feature-layer/feature-layer.settings.ts","../../projects/maps-components/src/map/map-plate/layers/feature-layer/feature-layer.factory.ts","../../projects/maps-components/src/map/map-plate/layers/feature-layer/feature-layer.component.ts","../../projects/maps-components/src/map/map-plate/features/markers/markers.component.ts","../../projects/maps-components/src/map/map.module.ts","../../projects/maps-components/src/map/map-plate/layers/tile-layer/tile-layer.settings.ts","../../projects/maps-components/src/map/helpers/marker-style.helper.ts","../../projects/maps-components/src/map/public-api.ts","../../projects/maps-components/src/public-api.ts","../../projects/maps-components/src/maps-components.ts"],"sourcesContent":["import { Component, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n@Component({ template: '' })\nexport class DestructibleComponent implements OnDestroy {\n protected subs: Subscription[] = [];\n protected onDestroy?: () => void;\n\n ngOnDestroy(): void {\n this.subs.forEach((s) => s.unsubscribe());\n if (this.onDestroy) this.onDestroy();\n }\n}\n","export enum MapLyrs {\n Hybrid = 1,\n Satellite,\n Streets,\n Terrain,\n}\n\nexport class MapLyrsLabel {\n private static lyrs = {\n [MapLyrs.Hybrid]: 's,h',\n [MapLyrs.Satellite]: 's',\n [MapLyrs.Streets]: 'm',\n [MapLyrs.Terrain]: 'p',\n };\n\n public static get(lyrs: MapLyrs): string {\n return MapLyrsLabel.lyrs[lyrs];\n }\n}\n","import { MapLyrs } from './map-lyrs.enum';\n\nexport class MapSettings {\n center: number[] = [0, 0];\n maxZoom: number = 19;\n minZoom: number = 0;\n zoom: number = 4;\n lyrs: MapLyrs = MapLyrs.Hybrid;\n language: string = 'en';\n\n public static copy(model: MapSettings): MapSettings {\n const result = new MapSettings();\n result.center = model.center;\n result.maxZoom = model.maxZoom;\n result.minZoom = model.minZoom;\n result.zoom = model.zoom;\n result.lyrs = model.lyrs;\n result.language = model.language;\n return result;\n }\n\n setCenter(center: number[]): MapSettings {\n return MapSettings.copy({ ...this, center });\n }\n\n setMaxZoom(maxZoom: number): MapSettings {\n return MapSettings.copy({ ...this, maxZoom });\n }\n\n setMinZoom(minZoom: number): MapSettings {\n return MapSettings.copy({ ...this, minZoom });\n }\n\n setZoom(zoom: number): MapSettings {\n return MapSettings.copy({ ...this, zoom });\n }\n\n setLyrs(lyrs: MapLyrs): MapSettings {\n return MapSettings.copy({ ...this, lyrs });\n }\n\n setLanguage(language: string): MapSettings {\n return MapSettings.copy({ ...this, language });\n }\n\n public isSame(model: MapSettings): boolean {\n if (this.maxZoom !== model.maxZoom) return false;\n if (this.minZoom !== model.minZoom) return false;\n if (this.zoom !== model.zoom) return false;\n if (this.lyrs !== model.lyrs) return false;\n if (this.language !== model.language) return false;\n return this.center.length !== model.center.length || !!this.center.filter((c, i) => c !== model.center[i]);\n }\n}\n","export class IdGenerator {\n private static collection = 'ABCDEFGHIJKLMNOPQRSTUVWXTZ0123456789'.split('');\n\n public static get(): string {\n let result: string[] = [];\n for (let i = 0; i < 7; i++) {\n result.push(\n IdGenerator.collection\n .sort(() => 0.5 - Math.random())\n .slice(0, 5)\n .join(''),\n );\n }\n return result.join('-');\n }\n}\n","import { IdGenerator } from '../common/id.generator';\nimport { Feature } from 'ol';\nimport { Geometry, Point } from 'ol/geom';\n\nexport class MarkerModel {\n constructor(\n public readonly lat: number,\n public readonly lng: number,\n public readonly id?: string | number,\n public info?: {\n [id: string]: any;\n },\n ) {\n if (id == null) this.id = IdGenerator.get();\n this._feature = this.getFeature();\n }\n\n private _feature: Feature<Geometry>;\n\n public get feature(): Feature<Geometry> {\n return this._feature;\n }\n\n private getFeature(): Feature<Geometry> {\n const feature = new Feature(new Point([this.lng, this.lat]));\n feature.setId(this.id);\n if (this.info) {\n Object.keys(this.info).forEach((k) => feature.set(k, this.info![k]));\n }\n return feature;\n }\n}\n","import { Observable, Subject } from 'rxjs';\n\nexport abstract class GenericMessage {\n public abstract id: string;\n}\n\nexport abstract class CallbackMessage<T> extends GenericMessage {\n protected result$ = new Subject<T>();\n public result: Observable<T> = this.result$.asObservable();\n\n public finish(value: T): void {\n this.result$.next(value);\n this.result$.complete();\n }\n}\n","import { GenericMessage } from '../generic-message';\nimport Map from 'ol/Map';\n\nexport class MapRenderedEvent extends GenericMessage {\n public static readonly ID = 'b6121807-3b89-4cd3-82cf-089d2cefdc4f';\n\n constructor(public map: Map) {\n super();\n }\n\n public get id(): string {\n return MapRenderedEvent.ID;\n }\n}\n","import { GenericMessage } from '../generic-message';\nimport { Vector as Layer } from 'ol/layer';\nimport VectorSource from 'ol/source/Vector';\n\nexport class AddLayerCommand extends GenericMessage {\n public static readonly ID = 'd93e250f-92bc-43ac-9c6a-46c521a1aaa5';\n\n constructor(public layer: Layer<VectorSource<any>>) {\n super();\n }\n\n public get id(): string {\n return AddLayerCommand.ID;\n }\n}\n","import { GenericMessage } from '../generic-message';\nimport { Feature } from 'ol';\nimport { Geometry } from 'ol/geom';\n\nexport class PlaceLayerFeaturesCommand extends GenericMessage {\n public static readonly ID = '8caf86bc-869b-426f-b36d-4642f6b8aab0';\n\n constructor(public layer: string, public features: Feature<Geometry>[]) {\n super();\n }\n\n public get id(): string {\n return PlaceLayerFeaturesCommand.ID;\n }\n}\n","import { GenericMessage } from '../generic-message';\nimport BaseLayer from 'ol/layer/Base';\n\nexport class RemoveLayerCommand extends GenericMessage {\n public static readonly ID = 'ab484e0e-e185-45cd-8434-12101f3c7eb1';\n\n constructor(public layer: BaseLayer) {\n super();\n }\n\n public get id(): string {\n return RemoveLayerCommand.ID;\n }\n}\n","import { GenericMessage } from '../generic-message';\n\nexport class ClearLayerCommand extends GenericMessage {\n public static readonly ID = 'd02842b7-fa62-458d-b1e4-12dd814610c5';\n\n constructor(public layer: string) {\n super();\n }\n\n public get id(): string {\n return ClearLayerCommand.ID;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { GenericMessage } from '../messages';\n\n@Injectable()\nexport class MapPostboyService {\n private applications: { [id: string]: Subject<any> } = {};\n\n public register<T>(id: string, sub: Subject<T>): void {\n this.applications[id] = sub;\n }\n\n public subscribe<T>(id: string): Observable<T> {\n if (!this.applications[id]) throw new Error(`There is no event with id ${id}`);\n return this.applications[id].asObservable();\n }\n\n fire<T extends GenericMessage>(message: T): void {\n if (!this.applications[message.id]) throw new Error(`There is no event with id ${message.id}`);\n this.applications[message.id].next(message);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MapPostboyService } from './map-postboy.service';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { MapRenderedEvent } from '../messages';\nimport { AddLayerCommand } from '../messages/commands/add-layer.command';\nimport { PlaceLayerFeaturesCommand } from '../messages/commands/place-layer-features.command';\nimport { RemoveLayerCommand } from '../messages/commands/remove-layer.command';\nimport { ClearLayerCommand } from '../messages/commands/clear-layer.command';\n\n@Injectable()\nexport class MessageRegistratorService {\n constructor(service: MapPostboyService) {\n service.register(MapRenderedEvent.ID, new ReplaySubject<MapRenderedEvent>(1));\n service.register(AddLayerCommand.ID, new Subject<AddLayerCommand>());\n service.register(PlaceLayerFeaturesCommand.ID, new ReplaySubject<PlaceLayerFeaturesCommand>(1));\n service.register(RemoveLayerCommand.ID, new Subject<RemoveLayerCommand>());\n service.register(ClearLayerCommand.ID, new Subject<ClearLayerCommand>());\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Map } from 'ol';\nimport { MapRenderedEvent } from '../messages';\nimport { MapPostboyService } from './map-postboy.service';\n\n@Injectable()\nexport class MapStateService {\n private map?: Map;\n\n constructor(private postboy: MapPostboyService) {\n postboy.subscribe<Map>(MapRenderedEvent.ID).subscribe((m) => (this.map = m));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Map } from 'ol';\nimport { MapPostboyService } from './map-postboy.service';\nimport { AddLayerCommand } from '../messages/commands/add-layer.command';\nimport { RemoveLayerCommand } from '../messages/commands/remove-layer.command';\nimport { Vector as Layer } from 'ol/layer';\nimport VectorSource from 'ol/source/Vector';\nimport { MapRenderedEvent } from '../messages';\nimport { PlaceLayerFeaturesCommand } from '../messages/commands/place-layer-features.command';\nimport { ClearLayerCommand } from '../messages/commands/clear-layer.command';\n\n@Injectable()\nexport class MapManagementService {\n private map?: Map;\n private layers: { [name: string]: Layer<VectorSource<any>> } = {};\n\n constructor(private postboy: MapPostboyService) {\n this.observeMapRender();\n this.observeAddLayer();\n this.observeRemoveLayer();\n this.observePlaceFeatures();\n this.observeClearLayer();\n }\n\n private observeMapRender() {\n this.postboy.subscribe<MapRenderedEvent>(MapRenderedEvent.ID).subscribe((m) => {\n this.map = m.map;\n });\n }\n\n private observeClearLayer() {\n this.postboy.subscribe<ClearLayerCommand>(ClearLayerCommand.ID).subscribe((c) => {\n this.layers[c.layer]?.getSource()?.clear();\n });\n }\n\n private observeAddLayer() {\n this.postboy.subscribe<AddLayerCommand>(AddLayerCommand.ID).subscribe((c) => {\n if (!this.map) return;\n this.layers[c.layer.get('name')] = c.layer;\n this.map.addLayer(c.layer);\n });\n }\n\n private observePlaceFeatures() {\n this.postboy.subscribe<PlaceLayerFeaturesCommand>(PlaceLayerFeaturesCommand.ID).subscribe((c) => {\n if (!this.layers[c.layer]) return;\n this.layers[c.layer]?.getSource()?.clear();\n this.layers[c.layer].getSource()?.addFeatures(c.features);\n });\n }\n\n private observeRemoveLayer() {\n this.postboy.subscribe<RemoveLayerCommand>(RemoveLayerCommand.ID).subscribe((c) => {\n if (!this.map) return;\n delete this.layers[c.layer.get('name')];\n this.map.removeLayer(c.layer);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MessageRegistratorService } from './message-registrator.service';\nimport { MapManagementService } from './map-management.service';\nimport { MapStateService } from './map-state.service';\n\n@Injectable()\nexport class ServiceCollector {\n constructor(registrator: MessageRegistratorService, management: MapManagementService, state: MapStateService) {}\n}\n","import { Injectable } from '@angular/core';\nimport Map from 'ol/Map';\nimport { MapSettings } from '../models';\nimport View from 'ol/View';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MapPlateFactory {\n public build(settings: MapSettings): Map {\n return new Map({\n controls: [],\n view: new View({\n center: settings?.center || [0, 0],\n zoom: settings?.zoom || 4,\n minZoom: settings?.minZoom || 0,\n maxZoom: settings?.maxZoom || 19,\n }),\n layers: [],\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { DestructibleComponent } from '../../../common/destructible.component';\nimport TileLayer from 'ol/layer/Tile';\nimport TileSource from 'ol/source/Tile';\nimport OSM from 'ol/source/OSM';\nimport { Map } from 'ol';\n\n@Component({\n selector: 'lib-osm-tile-layer',\n template: '',\n styleUrls: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OsmTileLayerComponent extends DestructibleComponent implements OnInit {\n public layer?: TileLayer<TileSource>;\n\n constructor() {\n super();\n }\n\n private _url: string = '';\n\n @Input() set url(value: string | undefined) {\n if (!value || this._url === value) return;\n this._url = value;\n this.initLayer();\n }\n\n private _map?: Map;\n\n @Input() set map(value: Map | undefined) {\n if (!value || this._map === value) return;\n this._map = value;\n this.initLayer();\n }\n\n ngOnInit(): void {}\n\n ngOnDestroy(): void {\n if (this.layer) {\n this._map?.removeLayer(this.layer);\n }\n // @ts-ignore\n this.layer?.setMap(null);\n }\n\n private initLayer(): void {\n if (!this._url || !this._map) return;\n if (this.layer) this._map.removeLayer(this.layer);\n this.layer = new TileLayer({\n source: new OSM({\n url: this._url,\n }),\n });\n this.layer.set('name', 'osm-tile-layer');\n this._map.addLayer(this.layer);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, OnInit } from '@angular/core';\nimport { MapLyrsLabel, MapSettings } from '../models';\nimport Map from 'ol/Map';\nimport { useGeographic } from 'ol/proj';\nimport { DestructibleComponent } from '../common/destructible.component';\nimport { MessageRegistratorService } from '../services/message-registrator.service';\nimport { MapPostboyService } from '../services/map-postboy.service';\nimport { MapRenderedEvent } from '../messages';\nimport { MapStateService } from '../services/map-state.service';\nimport { MapManagementService } from '../services/map-management.service';\nimport { ServiceCollector } from '../services/service.collector';\nimport { MapPlateFactory } from './map-plate.factory.service';\n\n@Component({\n selector: 'lib-map-plate',\n templateUrl: './map-plate.component.html',\n styleUrls: ['./map-plate.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MessageRegistratorService, MapStateService, MapManagementService, ServiceCollector],\n})\nexport class MapPlateComponent extends DestructibleComponent implements OnInit {\n map!: Map;\n osmUrl = '';\n\n constructor(\n private elementRef: ElementRef,\n private postboy: MapPostboyService,\n private mapFactory: MapPlateFactory,\n registrator: ServiceCollector,\n private detector: ChangeDetectorRef,\n ) {\n super();\n }\n\n _settings: MapSettings = new MapSettings();\n\n @Input() set settings(value: MapSettings | undefined) {\n if (!value || this._settings.isSame(value)) return;\n this._settings = value;\n this.setOsm();\n }\n\n ngOnInit(): void {\n useGeographic();\n this.map = this.mapFactory.build(this._settings);\n this.map.setTarget(this.elementRef.nativeElement);\n this.detector.detectChanges();\n this.map.once('postrender', () => {\n this.map.updateSize();\n this.postboy.fire(new MapRenderedEvent(this.map));\n });\n this.setOsm();\n }\n\n private setOsm(): void {\n if (!this.map) return;\n this.osmUrl = `https://mt{0-3}.google.com/vt/lyrs=${MapLyrsLabel.get(this._settings.lyrs)}&hl=${\n this._settings.language\n }&x={x}&y={y}&z={z}`;\n this.detector.detectChanges();\n this.map.updateSize();\n }\n}\n","<ng-content></ng-content>\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { DestructibleComponent } from '../../../common/destructible.component';\nimport { XYZ } from 'ol/source';\nimport TileLayer from 'ol/layer/Tile';\nimport TileSource from 'ol/source/Tile';\n\n@Component({\n selector: 'lib-tile-layer',\n template: '',\n styleUrls: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TileLayerComponent extends DestructibleComponent {\n public source?: XYZ;\n public layer?: TileLayer<TileSource>;\n\n constructor() {\n super();\n }\n //\n // constructor(private postboy: MapPostboyService, private factory: FeatureLayerFactory) {\n // super();\n // postboy\n // .subscribe<MapRenderedEvent>(MapRenderedEvent.ID)\n // .pipe(\n // filter((m) => !!m),\n // first(),\n // )\n // .subscribe((m) => this.initLayer());\n // }\n //\n // _settings: TileLayerSettings = new TileLayerSettings();\n //\n // @Input() set settings(value: TileLayerSettings | undefined) {\n // if (!value || this._settings.isSame(value)) return;\n // this._settings = value;\n // this.initLayer();\n // }\n //\n // ngOnInit(): void {\n // this.initLayer();\n // }\n //\n // ngOnDestroy(): void {\n // if (this.layer) {\n // this.map.removeLayer(this.layer);\n // }\n // // @ts-ignore\n // this.layer?.setMap(null);\n // }\n //\n // private initLayer(): void {\n // if (!this._settings.url) return;\n // if (this.layer) this.parent.map.removeLayer(this.layer);\n // this.source = new XYZ({\n // tileSize: 256,\n // maxZoom: this._settings.maxZoom,\n // minZoom: this._settings.minZoom,\n // projection: get('EPSG:3857')!,\n // tileUrlFunction: this.getTileFunc(),\n // // https://stackoverflow.com/questions/22710627/tainted-canvases-may-not-be-exported/46637963#46637963\n // crossOrigin: 'Anonymous',\n // });\n // this.layer = new TileLayer({\n // preload: 0,\n // source: this.source,\n // opacity: this._settings.opacity,\n // });\n // this.layer.set('name', this._settings.name);\n // this.postboy.fire(new AddLayerCommand(this.layer));\n // }\n //\n // private getTileFunc(): (tileCoord: TileCoord) => string {\n // return (tileCoord) => {\n // const zoom = tileCoord[0];\n // const x = tileCoord[1];\n // const y = tileCoord[2];\n // const normalizedCoord = this.getNormalizedCoord({ x: x, y: y }, zoom);\n // const bound = 1 << zoom;\n // return `${this._settings.url}/${zoom}/${normalizedCoord?.x || x}/${bound - (normalizedCoord?.y || y) - 1}`;\n // };\n // }\n //\n // private getNormalizedCoord(coord: { x: number; y: number }, zoom: number) {\n // const y = coord.y;\n // let x = coord.x;\n // const tileRange = 1 << zoom;\n //\n // // don't repeat across y-axis (vertically)\n // if (y < 0 || y >= tileRange) {\n // return null;\n // }\n // // repeat across x-axis\n // if (x < 0 || x >= tileRange) {\n // x = ((x % tileRange) + tileRange) % tileRange;\n // }\n // return { x: x, y: y };\n // }\n}\n","import Style, { StyleFunction } from 'ol/style/Style';\nimport { IdGenerator } from '../../../common/id.generator';\n\nexport class FeatureLayerSettings {\n name: string = IdGenerator.get();\n zIndex: number = 1;\n maxZoom: number = 19;\n minZoom: number = 0;\n style?: Style | StyleFunction;\n\n public static copy(model: FeatureLayerSettings): FeatureLayerSettings {\n const result = new FeatureLayerSettings();\n result.name = model.name;\n result.maxZoom = model.maxZoom;\n result.minZoom = model.minZoom;\n result.zIndex = model.zIndex;\n result.style = model.style;\n return result;\n }\n\n setZIndex(zIndex: number): FeatureLayerSettings {\n return FeatureLayerSettings.copy({ ...this, zIndex });\n }\n\n setName(name: string): FeatureLayerSettings {\n return FeatureLayerSettings.copy({ ...this, name });\n }\n\n setMaxZoom(maxZoom: number): FeatureLayerSettings {\n return FeatureLayerSettings.copy({ ...this, maxZoom });\n }\n\n setMinZoom(minZoom: number): FeatureLayerSettings {\n return FeatureLayerSettings.copy({ ...this, minZoom });\n }\n\n setStyle(style: Style | StyleFunction): FeatureLayerSettings {\n return FeatureLayerSettings.copy({ ...this, style });\n }\n\n public isSame(model: FeatureLayerSettings): boolean {\n if (this.maxZoom !== model.maxZoom) return false;\n if (this.minZoom !== model.minZoom) return false;\n if (this.zIndex !== model.zIndex) return false;\n if (this.name !== model.name) return false;\n if (this.style !== model.style) return false;\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FeatureLayerSettings } from './feature-layer.settings';\nimport { Vector as Source } from 'ol/source';\nimport { Vector as Layer } from 'ol/layer';\nimport VectorSource from 'ol/source/Vector';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureLayerFactory {\n public build(settings: FeatureLayerSettings): Layer<VectorSource<any>> {\n const source = new Source({});\n const layer = new Layer({\n source: source,\n maxZoom: settings.maxZoom,\n minZoom: settings.minZoom,\n zIndex: settings.zIndex,\n });\n if (settings.style) layer.setStyle(settings.style);\n layer.set('name', settings.name);\n return layer;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { MapPostboyService } from '../../../services/map-postboy.service';\nimport { MapRenderedEvent } from '../../../messages';\nimport VectorSource from 'ol/source/Vector';\nimport { Vector as Layer } from 'ol/layer';\nimport { FeatureLayerSettings } from './feature-layer.settings';\nimport { DestructibleComponent } from '../../../common/destructible.component';\nimport { AddLayerCommand } from '../../../messages/commands/add-layer.command';\nimport { filter, first } from 'rxjs/operators';\nimport { RemoveLayerCommand } from '../../../messages/commands/remove-layer.command';\nimport { FeatureLayerFactory } from './feature-layer.factory';\n\n@Component({\n selector: 'lib-feature-layer',\n template: '',\n styleUrls: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FeatureLayerComponent extends DestructibleComponent implements OnInit {\n public layer: Layer<VectorSource<any>> | null = null;\n\n constructor(private postboy: MapPostboyService, private factory: FeatureLayerFactory) {\n super();\n }\n\n ngOnInit(): void {\n this.postboy\n .subscribe<MapRenderedEvent>(MapRenderedEvent.ID)\n .pipe(\n filter((m) => !!m),\n first(),\n )\n .subscribe((m) => this.initLayer());\n }\n\n _settings: FeatureLayerSettings = new FeatureLayerSettings();\n\n @Input() set settings(value: FeatureLayerSettings | undefined) {\n if (!value || this._settings.isSame(value)) return;\n this._settings = value;\n this.initLayer();\n }\n\n onDestroy = () => this.removeLayer();\n\n private initLayer() {\n this.removeLayer();\n this.layer = this.factory.build(this._settings);\n this.postboy.fire(new AddLayerCommand(this.layer));\n }\n\n private removeLayer() {\n if (this.layer) this.postboy.fire(new RemoveLayerCommand(this.layer));\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { DestructibleComponent } from '../../../common/destructible.component';\nimport { MapPostboyService } from '../../../services/map-postboy.service';\nimport { MarkerModel } from '../../../models/marker-model';\nimport { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';\nimport { MapRenderedEvent } from '../../../messages';\nimport { filter, first } from 'rxjs/operators';\n\n@Component({\n selector: 'lib-markers',\n template: '',\n styleUrls: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MarkersComponent extends DestructibleComponent implements OnInit {\n @Input() layerName = '';\n\n constructor(private postboy: MapPostboyService) {\n super();\n }\n\n _markers: MarkerModel[] = [];\n\n @Input() set markers(value: MarkerModel[]) {\n this._markers = value;\n this.putMarkers();\n }\n\n ngOnInit(): void {\n this.postboy\n .subscribe<MapRenderedEvent>(MapRenderedEvent.ID)\n .pipe(\n filter((m) => !!m),\n first(),\n )\n .subscribe(() => this.putMarkers());\n }\n\n private putMarkers(): void {\n if (!this._markers?.length) return;\n this.postboy.fire(\n new PlaceLayerFeaturesCommand(\n this.layerName,\n this._markers.map((m) => m.feature),\n ),\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DestructibleComponent } from './common/destructible.component';\nimport { MapPlateComponent } from './map-plate/map-plate.component';\nimport { TileLayerComponent } from './map-plate/layers/tile-layer/tile-layer.component';\nimport { OsmTileLayerComponent } from './map-plate/layers/osm-tile-layer/osm-tile-layer.component';\nimport { FeatureLayerComponent } from './map-plate/layers/feature-layer/feature-layer.component';\nimport { MarkersComponent } from './map-plate/features/markers/markers.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n DestructibleComponent,\n MapPlateComponent,\n TileLayerComponent,\n OsmTileLayerComponent,\n FeatureLayerComponent,\n MarkersComponent,\n ],\n exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent],\n})\nexport class MapModule {}\n","export class TileLayerSettings {\n name: string = 'tiles';\n maxZoom: number = 19;\n minZoom: number = 0;\n opacity: number = 1;\n url: string = '';\n\n public static copy(model: TileLayerSettings): TileLayerSettings {\n const result = new TileLayerSettings();\n result.name = model.name;\n result.maxZoom = model.maxZoom;\n result.minZoom = model.minZoom;\n result.url = model.url;\n return result;\n }\n\n setUrl(url: string): TileLayerSettings {\n return TileLayerSettings.copy({ ...this, url });\n }\n\n setName(name: string): TileLayerSettings {\n return TileLayerSettings.copy({ ...this, name });\n }\n\n setMaxZoom(maxZoom: number): TileLayerSettings {\n return TileLayerSettings.copy({ ...this, maxZoom });\n }\n\n setMinZoom(minZoom: number): TileLayerSettings {\n return TileLayerSettings.copy({ ...this, minZoom });\n }\n\n public isSame(model: TileLayerSettings): boolean {\n if (this.maxZoom !== model.maxZoom) return false;\n if (this.minZoom !== model.minZoom) return false;\n if (this.url !== model.url) return false;\n if (this.name !== model.name) return false;\n return true;\n }\n}\n","import Style from 'ol/style/Style';\nimport { Circle, Fill, Icon, Stroke } from 'ol/style';\n\nexport class MarkerStyleHelper {\n public static fromSvg(svg: string, size: [number, number] = [30, 30], zIndex = 400): Style {\n let image = new Image();\n image.src = 'data:image/svg+xml,' + escape(svg);\n return new Style({\n image: new Icon({\n img: image,\n imgSize: size,\n }),\n zIndex,\n });\n }\n\n public static circle(radius: number, fill: string, strokeColor: string, strokeWidth = 1): Style {\n return new Style({\n image: new Circle({\n radius,\n fill: new Fill({ color: fill }),\n stroke: new Stroke({ color: strokeColor, width: strokeWidth }),\n }),\n });\n }\n}\n","/*\n * Public API Surface of maps\n */\n\nexport * from './map.module';\nexport * from './models/index';\nexport * from './map-plate/map-plate.component';\nexport * from './services/map-postboy.service';\nexport * from './messages/index';\nexport * from './map-plate/layers/index';\nexport * from './map-plate/features/index';\nexport * from './services/map-postboy.service';\nexport * from './services/message-registrator.service';\nexport * from './helpers/index';\n","/*\n * Public API Surface of maps-components\n */\n\nexport * from './map/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.MapPostboyService","i1.MessageRegistratorService","i2.MapManagementService","i3.MapStateService","i2.MapPlateFactory","i3.ServiceCollector","i5.OsmTileLayerComponent","Source","Layer","i2.FeatureLayerFactory"],"mappings":"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"}
|
|
@@ -12,5 +12,5 @@ export declare class MarkersComponent extends DestructibleComponent implements O
|
|
|
12
12
|
ngOnInit(): void;
|
|
13
13
|
private putMarkers;
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<MarkersComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MarkersComponent, "lib-markers", never, { "layerName": "layerName"; "markers": "markers"; }, {}, never, never, false, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MarkersComponent, "lib-markers", never, { "layerName": { "alias": "layerName"; "required": false; }; "markers": { "alias": "markers"; "required": false; }; }, {}, never, never, false, never>;
|
|
16
16
|
}
|
|
@@ -18,5 +18,5 @@ export declare class FeatureLayerComponent extends DestructibleComponent impleme
|
|
|
18
18
|
private initLayer;
|
|
19
19
|
private removeLayer;
|
|
20
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureLayerComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureLayerComponent, "lib-feature-layer", never, { "settings": "settings"; }, {}, never, never, false, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureLayerComponent, "lib-feature-layer", never, { "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, false, never>;
|
|
22
22
|
}
|
|
@@ -15,5 +15,5 @@ export declare class OsmTileLayerComponent extends DestructibleComponent impleme
|
|
|
15
15
|
ngOnDestroy(): void;
|
|
16
16
|
private initLayer;
|
|
17
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<OsmTileLayerComponent, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<OsmTileLayerComponent, "lib-osm-tile-layer", never, { "url": "url"; "map": "map"; }, {}, never, never, false, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<OsmTileLayerComponent, "lib-osm-tile-layer", never, { "url": { "alias": "url"; "required": false; }; "map": { "alias": "map"; "required": false; }; }, {}, never, never, false, never>;
|
|
19
19
|
}
|
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
2
2
|
import { XYZ } from 'ol/source';
|
|
3
3
|
import TileLayer from 'ol/layer/Tile';
|
|
4
|
-
import
|
|
5
|
-
import { TileLayerFactory } from './tile-layer.factory';
|
|
6
|
-
import { TileLayerSettings } from './tile-layer.settings';
|
|
4
|
+
import TileSource from 'ol/source/Tile';
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
8
6
|
export declare class TileLayerComponent extends DestructibleComponent {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
constructor(postboy: MapPostboyService, factory: TileLayerFactory);
|
|
13
|
-
ngOnInit(): void;
|
|
14
|
-
_settings: TileLayerSettings;
|
|
15
|
-
set settings(value: TileLayerSettings | undefined);
|
|
16
|
-
onDestroy: () => void;
|
|
17
|
-
private initLayer;
|
|
18
|
-
private removeLayer;
|
|
7
|
+
source?: XYZ;
|
|
8
|
+
layer?: TileLayer<TileSource>;
|
|
9
|
+
constructor();
|
|
19
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<TileLayerComponent, never>;
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TileLayerComponent, "lib-tile-layer", never, {
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TileLayerComponent, "lib-tile-layer", never, {}, {}, never, never, false, never>;
|
|
21
12
|
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
export declare class TileLayerSettings {
|
|
2
|
+
name: string;
|
|
2
3
|
maxZoom: number;
|
|
3
4
|
minZoom: number;
|
|
4
5
|
opacity: number;
|
|
5
6
|
url: string;
|
|
6
|
-
projection: string;
|
|
7
7
|
static copy(model: TileLayerSettings): TileLayerSettings;
|
|
8
8
|
setUrl(url: string): TileLayerSettings;
|
|
9
|
+
setName(name: string): TileLayerSettings;
|
|
9
10
|
setMaxZoom(maxZoom: number): TileLayerSettings;
|
|
10
11
|
setMinZoom(minZoom: number): TileLayerSettings;
|
|
11
|
-
setOpacity(opacity: number): TileLayerSettings;
|
|
12
|
-
setProjection(projection: string): TileLayerSettings;
|
|
13
12
|
isSame(model: TileLayerSettings): boolean;
|
|
14
13
|
}
|
|
@@ -19,5 +19,5 @@ export declare class MapPlateComponent extends DestructibleComponent implements
|
|
|
19
19
|
ngOnInit(): void;
|
|
20
20
|
private setOsm;
|
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<MapPlateComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MapPlateComponent, "lib-map-plate", never, { "settings": "settings"; }, {}, never, ["*"], false, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MapPlateComponent, "lib-map-plate", never, { "settings": { "alias": "settings"; "required": false; }; }, {}, never, ["*"], false, never>;
|
|
23
23
|
}
|
package/dist/map/map.module.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ import * as i6 from "./map-plate/features/markers/markers.component";
|
|
|
8
8
|
import * as i7 from "@angular/common";
|
|
9
9
|
export declare class MapModule {
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<MapModule, never>;
|
|
11
|
-
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.CommonModule], [typeof i2.MapPlateComponent, typeof i5.FeatureLayerComponent, typeof i6.MarkersComponent
|
|
11
|
+
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.CommonModule], [typeof i2.MapPlateComponent, typeof i5.FeatureLayerComponent, typeof i6.MarkersComponent]>;
|
|
12
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<MapModule>;
|
|
13
13
|
}
|
|
@@ -5,9 +5,8 @@ export declare class MapManagementService {
|
|
|
5
5
|
private map?;
|
|
6
6
|
private layers;
|
|
7
7
|
constructor(postboy: MapPostboyService);
|
|
8
|
-
private observeRemoveTile;
|
|
9
|
-
private observeAddTile;
|
|
10
8
|
private observeMapRender;
|
|
9
|
+
private observeClearLayer;
|
|
11
10
|
private observeAddLayer;
|
|
12
11
|
private observePlaceFeatures;
|
|
13
12
|
private observeRemoveLayer;
|
package/dist/package.json
CHANGED
|
@@ -2,19 +2,15 @@
|
|
|
2
2
|
"name": "maps-components",
|
|
3
3
|
"version": "0.0.2",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
5
|
+
"@angular/common": "^16.0.0",
|
|
6
|
+
"@angular/core": "^16.0.0",
|
|
7
7
|
"ol-geocoder": "^4.0.0",
|
|
8
8
|
"ol": "^6.9.0"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"tslib": "^2.2.0"
|
|
12
12
|
},
|
|
13
|
-
"module": "
|
|
14
|
-
"es2020": "fesm2020/maps-components.mjs",
|
|
15
|
-
"esm2020": "esm2020/maps-components.mjs",
|
|
16
|
-
"fesm2020": "fesm2020/maps-components.mjs",
|
|
17
|
-
"fesm2015": "fesm2015/maps-components.mjs",
|
|
13
|
+
"module": "fesm2022/maps-components.mjs",
|
|
18
14
|
"typings": "index.d.ts",
|
|
19
15
|
"exports": {
|
|
20
16
|
"./package.json": {
|
|
@@ -22,19 +18,15 @@
|
|
|
22
18
|
},
|
|
23
19
|
".": {
|
|
24
20
|
"types": "./index.d.ts",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"node": "./fesm2015/maps-components.mjs",
|
|
29
|
-
"default": "./fesm2020/maps-components.mjs"
|
|
21
|
+
"esm2022": "./esm2022/maps-components.mjs",
|
|
22
|
+
"esm": "./esm2022/maps-components.mjs",
|
|
23
|
+
"default": "./fesm2022/maps-components.mjs"
|
|
30
24
|
},
|
|
31
25
|
"./src/map": {
|
|
32
26
|
"types": "./src/map/index.d.ts",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"node": "./fesm2015/maps-components-src-map.mjs",
|
|
37
|
-
"default": "./fesm2020/maps-components-src-map.mjs"
|
|
27
|
+
"esm2022": "./esm2022/src/map/maps-components-src-map.mjs",
|
|
28
|
+
"esm": "./esm2022/src/map/maps-components-src-map.mjs",
|
|
29
|
+
"default": "./fesm2022/maps-components-src-map.mjs"
|
|
38
30
|
}
|
|
39
31
|
},
|
|
40
32
|
"sideEffects": false
|
|
@@ -12,5 +12,5 @@ export declare class MarkersComponent extends DestructibleComponent implements O
|
|
|
12
12
|
ngOnInit(): void;
|
|
13
13
|
private putMarkers;
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<MarkersComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MarkersComponent, "lib-markers", never, { "layerName": "layerName"; "markers": "markers"; }, {}, never, never, false, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MarkersComponent, "lib-markers", never, { "layerName": { "alias": "layerName"; "required": false; }; "markers": { "alias": "markers"; "required": false; }; }, {}, never, never, false, never>;
|
|
16
16
|
}
|
|
@@ -18,5 +18,5 @@ export declare class FeatureLayerComponent extends DestructibleComponent impleme
|
|
|
18
18
|
private initLayer;
|
|
19
19
|
private removeLayer;
|
|
20
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureLayerComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureLayerComponent, "lib-feature-layer", never, { "settings": "settings"; }, {}, never, never, false, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureLayerComponent, "lib-feature-layer", never, { "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, false, never>;
|
|
22
22
|
}
|
|
@@ -15,5 +15,5 @@ export declare class OsmTileLayerComponent extends DestructibleComponent impleme
|
|
|
15
15
|
ngOnDestroy(): void;
|
|
16
16
|
private initLayer;
|
|
17
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<OsmTileLayerComponent, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<OsmTileLayerComponent, "lib-osm-tile-layer", never, { "url": "url"; "map": "map"; }, {}, never, never, false, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<OsmTileLayerComponent, "lib-osm-tile-layer", never, { "url": { "alias": "url"; "required": false; }; "map": { "alias": "map"; "required": false; }; }, {}, never, never, false, never>;
|
|
19
19
|
}
|
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
2
2
|
import { XYZ } from 'ol/source';
|
|
3
3
|
import TileLayer from 'ol/layer/Tile';
|
|
4
|
-
import
|
|
5
|
-
import { TileLayerFactory } from './tile-layer.factory';
|
|
6
|
-
import { TileLayerSettings } from './tile-layer.settings';
|
|
4
|
+
import TileSource from 'ol/source/Tile';
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
8
6
|
export declare class TileLayerComponent extends DestructibleComponent {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
constructor(postboy: MapPostboyService, factory: TileLayerFactory);
|
|
13
|
-
ngOnInit(): void;
|
|
14
|
-
_settings: TileLayerSettings;
|
|
15
|
-
set settings(value: TileLayerSettings | undefined);
|
|
16
|
-
onDestroy: () => void;
|
|
17
|
-
private initLayer;
|
|
18
|
-
private removeLayer;
|
|
7
|
+
source?: XYZ;
|
|
8
|
+
layer?: TileLayer<TileSource>;
|
|
9
|
+
constructor();
|
|
19
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<TileLayerComponent, never>;
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TileLayerComponent, "lib-tile-layer", never, {
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TileLayerComponent, "lib-tile-layer", never, {}, {}, never, never, false, never>;
|
|
21
12
|
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
export declare class TileLayerSettings {
|
|
2
|
+
name: string;
|
|
2
3
|
maxZoom: number;
|
|
3
4
|
minZoom: number;
|
|
4
5
|
opacity: number;
|
|
5
6
|
url: string;
|
|
6
|
-
projection: string;
|
|
7
7
|
static copy(model: TileLayerSettings): TileLayerSettings;
|
|
8
8
|
setUrl(url: string): TileLayerSettings;
|
|
9
|
+
setName(name: string): TileLayerSettings;
|
|
9
10
|
setMaxZoom(maxZoom: number): TileLayerSettings;
|
|
10
11
|
setMinZoom(minZoom: number): TileLayerSettings;
|
|
11
|
-
setOpacity(opacity: number): TileLayerSettings;
|
|
12
|
-
setProjection(projection: string): TileLayerSettings;
|
|
13
12
|
isSame(model: TileLayerSettings): boolean;
|
|
14
13
|
}
|
|
@@ -19,5 +19,5 @@ export declare class MapPlateComponent extends DestructibleComponent implements
|
|
|
19
19
|
ngOnInit(): void;
|
|
20
20
|
private setOsm;
|
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<MapPlateComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MapPlateComponent, "lib-map-plate", never, { "settings": "settings"; }, {}, never, ["*"], false, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MapPlateComponent, "lib-map-plate", never, { "settings": { "alias": "settings"; "required": false; }; }, {}, never, ["*"], false, never>;
|
|
23
23
|
}
|
|
@@ -8,6 +8,6 @@ import * as i6 from "./map-plate/features/markers/markers.component";
|
|
|
8
8
|
import * as i7 from "@angular/common";
|
|
9
9
|
export declare class MapModule {
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<MapModule, never>;
|
|
11
|
-
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.CommonModule], [typeof i2.MapPlateComponent, typeof i5.FeatureLayerComponent, typeof i6.MarkersComponent
|
|
11
|
+
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.CommonModule], [typeof i2.MapPlateComponent, typeof i5.FeatureLayerComponent, typeof i6.MarkersComponent]>;
|
|
12
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<MapModule>;
|
|
13
13
|
}
|
|
@@ -5,9 +5,8 @@ export declare class MapManagementService {
|
|
|
5
5
|
private map?;
|
|
6
6
|
private layers;
|
|
7
7
|
constructor(postboy: MapPostboyService);
|
|
8
|
-
private observeRemoveTile;
|
|
9
|
-
private observeAddTile;
|
|
10
8
|
private observeMapRender;
|
|
9
|
+
private observeClearLayer;
|
|
11
10
|
private observeAddLayer;
|
|
12
11
|
private observePlaceFeatures;
|
|
13
12
|
private observeRemoveLayer;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artstesh/maps",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"author": "artstesh",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Let's draw a map ;)",
|
|
@@ -27,46 +27,42 @@
|
|
|
27
27
|
"polygons",
|
|
28
28
|
"markers"
|
|
29
29
|
],
|
|
30
|
-
"module": "dist/
|
|
31
|
-
"
|
|
32
|
-
"esm2020": "dist/esm2020/maps-components.mjs",
|
|
33
|
-
"fesm2020": "dist/fesm2020/maps-components.mjs",
|
|
34
|
-
"fesm2015": "dist/fesm2015/maps-components.mjs",
|
|
35
|
-
"typings": "dist/index.d.ts",
|
|
36
|
-
"main": "dist/esm2020/public-api.mjs",
|
|
30
|
+
"module": "dist/fesm2022/maps-components.mjs",
|
|
31
|
+
"main": "dist/esm2022/public-api.mjs",
|
|
37
32
|
"types": "dist/public-api.d.ts",
|
|
33
|
+
"typings": "dist/index.d.ts",
|
|
38
34
|
"repository": {
|
|
39
35
|
"type": "git",
|
|
40
36
|
"url": "git+https://github.com/artstesh/maps.git"
|
|
41
37
|
},
|
|
42
38
|
"dependencies": {
|
|
43
|
-
"@angular/common": "^
|
|
44
|
-
"@angular/compiler": "^
|
|
45
|
-
"@angular/core": "^
|
|
39
|
+
"@angular/common": "^16.0.0",
|
|
40
|
+
"@angular/compiler": "^16.0.0",
|
|
41
|
+
"@angular/core": "^16.0.0",
|
|
46
42
|
"rxjs": "^6.0.0",
|
|
47
43
|
"tslib": "^2.3.0",
|
|
48
|
-
"zone.js": "
|
|
44
|
+
"zone.js": "~0.13.0",
|
|
49
45
|
"ol-geocoder": "^4.0.0",
|
|
50
46
|
"ol": "^6.9.0"
|
|
51
47
|
},
|
|
52
48
|
"devDependencies": {
|
|
53
|
-
"@angular-builders/custom-webpack": "^
|
|
54
|
-
"@angular
|
|
55
|
-
"@angular-
|
|
56
|
-
"@angular-eslint/
|
|
57
|
-
"@angular-eslint/eslint-plugin
|
|
58
|
-
"@angular-eslint/
|
|
59
|
-
"@angular-eslint/
|
|
60
|
-
"@angular/
|
|
61
|
-
"@angular/
|
|
62
|
-
"@angular/
|
|
63
|
-
"@angular/compiler-cli": "^
|
|
49
|
+
"@angular-builders/custom-webpack": "^16.0.0",
|
|
50
|
+
"@angular/forms": "^16.0.0",
|
|
51
|
+
"@angular-devkit/build-angular": "^16.0.0",
|
|
52
|
+
"@angular-eslint/builder": "^16.0.0",
|
|
53
|
+
"@angular-eslint/eslint-plugin": "^16.0.0",
|
|
54
|
+
"@angular-eslint/eslint-plugin-template": "^16.0.0",
|
|
55
|
+
"@angular-eslint/schematics": "^16.0.0",
|
|
56
|
+
"@angular-eslint/template-parser": "^16.0.0",
|
|
57
|
+
"@angular/platform-browser-dynamic": "^16.0.0",
|
|
58
|
+
"@angular/cli": "^16.0.0",
|
|
59
|
+
"@angular/compiler-cli": "^16.0.0",
|
|
64
60
|
"@artstesh/forger": "^1.2.3",
|
|
65
61
|
"@artstesh/it-should": "^1.1.3",
|
|
66
62
|
"@biesbjerg/ngx-translate-extract": "7.0.4",
|
|
67
63
|
"@types/chart.js": "2.9.34",
|
|
68
64
|
"@types/jasmine": "3.8.1",
|
|
69
|
-
"@types/node": "^
|
|
65
|
+
"@types/node": "^16.0.0",
|
|
70
66
|
"@typescript-eslint/eslint-plugin": "6.9.1",
|
|
71
67
|
"@typescript-eslint/parser": "6.9.1",
|
|
72
68
|
"eslint": "7.32.0",
|
|
@@ -84,10 +80,10 @@
|
|
|
84
80
|
"karma-jasmine-html-reporter": "1.7.0",
|
|
85
81
|
"ng-mocks": "^14.11.0",
|
|
86
82
|
"ng-openapi-gen": "0.21.2",
|
|
87
|
-
"ng-packagr": "^
|
|
83
|
+
"ng-packagr": "^16.0.0",
|
|
88
84
|
"prettier": "2.7.1",
|
|
89
85
|
"ts-mockito": "2.6.1",
|
|
90
|
-
"typescript": "
|
|
86
|
+
"typescript": ">=4.9.3 <5.2",
|
|
91
87
|
"pre-commit": "1.2.2"
|
|
92
88
|
}
|
|
93
89
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DestructibleComponent {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.subs = [];
|
|
6
|
-
}
|
|
7
|
-
ngOnDestroy() {
|
|
8
|
-
this.subs.forEach((s) => s.unsubscribe());
|
|
9
|
-
if (this.onDestroy)
|
|
10
|
-
this.onDestroy();
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
DestructibleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DestructibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
DestructibleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DestructibleComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DestructibleComponent, decorators: [{
|
|
16
|
-
type: Component,
|
|
17
|
-
args: [{ template: '' }]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBSXJELE1BQU0sT0FBTyxxQkFBcUI7SUFEbEM7UUFFWSxTQUFJLEdBQW1CLEVBQUUsQ0FBQztLQU9yQztJQUpDLFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzttSEFQVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixvREFEWCxFQUFFOzRGQUNaLHFCQUFxQjtrQkFEakMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBjbGFzcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcm90ZWN0ZWQgc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIG9uRGVzdHJveT86ICgpID0+IHZvaWQ7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgaWYgKHRoaXMub25EZXN0cm95KSB0aGlzLm9uRGVzdHJveSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export class IdGenerator {
|
|
2
|
-
static get() {
|
|
3
|
-
let result = [];
|
|
4
|
-
for (let i = 0; i < 7; i++) {
|
|
5
|
-
result.push(IdGenerator.collection
|
|
6
|
-
.sort(() => 0.5 - Math.random())
|
|
7
|
-
.slice(0, 5)
|
|
8
|
-
.join(''));
|
|
9
|
-
}
|
|
10
|
-
return result.join('-');
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
IdGenerator.collection = 'ABCDEFGHIJKLMNOPQRSTUVWXTZ0123456789'.split('');
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvY29tbW9uL2lkLmdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztJQUdmLE1BQU0sQ0FBQyxHQUFHO1FBQ2YsSUFBSSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzFCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsTUFBTSxDQUFDLElBQUksQ0FDVCxXQUFXLENBQUMsVUFBVTtpQkFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7aUJBQy9CLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNYLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDWixDQUFDO1NBQ0g7UUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7QUFiYyxzQkFBVSxHQUFHLHNDQUFzQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJZEdlbmVyYXRvciB7XG4gIHByaXZhdGUgc3RhdGljIGNvbGxlY3Rpb24gPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYVFowMTIzNDU2Nzg5Jy5zcGxpdCgnJyk7XG5cbiAgcHVibGljIHN0YXRpYyBnZXQoKTogc3RyaW5nIHtcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICByZXN1bHQucHVzaChcbiAgICAgICAgSWRHZW5lcmF0b3IuY29sbGVjdGlvblxuICAgICAgICAgIC5zb3J0KCgpID0+IDAuNSAtIE1hdGgucmFuZG9tKCkpXG4gICAgICAgICAgLnNsaWNlKDAsIDUpXG4gICAgICAgICAgLmpvaW4oJycpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdC5qb2luKCctJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
-
import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
|
|
4
|
-
import { MapRenderedEvent } from '../../../messages';
|
|
5
|
-
import { filter, first } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../services/map-postboy.service";
|
|
8
|
-
export class MarkersComponent extends DestructibleComponent {
|
|
9
|
-
constructor(postboy) {
|
|
10
|
-
super();
|
|
11
|
-
this.postboy = postboy;
|
|
12
|
-
this.layerName = '';
|
|
13
|
-
this._markers = [];
|
|
14
|
-
}
|
|
15
|
-
set markers(value) {
|
|
16
|
-
this._markers = value;
|
|
17
|
-
this.putMarkers();
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this.postboy
|
|
21
|
-
.subscribe(MapRenderedEvent.ID)
|
|
22
|
-
.pipe(filter((m) => !!m), first())
|
|
23
|
-
.subscribe(() => this.putMarkers());
|
|
24
|
-
}
|
|
25
|
-
putMarkers() {
|
|
26
|
-
if (!this._markers?.length)
|
|
27
|
-
return;
|
|
28
|
-
this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._markers.map((m) => m.feature)));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
MarkersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MarkersComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
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 });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MarkersComponent, decorators: [{
|
|
34
|
-
type: Component,
|
|
35
|
-
args: [{ selector: 'lib-markers', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
36
|
-
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; }, propDecorators: { layerName: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], markers: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvbWFya2Vycy9tYXJrZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUcvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRL0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHFCQUFxQjtJQUd6RCxZQUFvQixPQUEwQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBRnJDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFNeEIsYUFBUSxHQUFrQixFQUFFLENBQUM7SUFGN0IsQ0FBQztJQUlELElBQWEsT0FBTyxDQUFDLEtBQW9CO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNO1lBQUUsT0FBTztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixJQUFJLHlCQUF5QixDQUMzQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQ3BDLENBQ0YsQ0FBQztJQUNKLENBQUM7OzhHQWhDVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixrSUFKakIsRUFBRTs0RkFJRCxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsYUFBYSxZQUNiLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsU0FBUztzQkFBakIsS0FBSztnQkFRTyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcmtlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21hcmtlci1tb2RlbCc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW1hcmtlcnMnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXJrZXJzQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGF5ZXJOYW1lID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfbWFya2VyczogTWFya2VyTW9kZWxbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHNldCBtYXJrZXJzKHZhbHVlOiBNYXJrZXJNb2RlbFtdKSB7XG4gICAgdGhpcy5fbWFya2VycyA9IHZhbHVlO1xuICAgIHRoaXMucHV0TWFya2VycygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnB1dE1hcmtlcnMoKSk7XG4gIH1cblxuICBwcml2YXRlIHB1dE1hcmtlcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9tYXJrZXJzPy5sZW5ndGgpIHJldHVybjtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShcbiAgICAgIG5ldyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kKFxuICAgICAgICB0aGlzLmxheWVyTmFtZSxcbiAgICAgICAgdGhpcy5fbWFya2Vycy5tYXAoKG0pID0+IG0uZmVhdHVyZSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|