@artstesh/maps 5.1.8 → 6.0.2
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/README.md +13 -13
- package/dist/README.md +24 -24
- package/dist/esm2022/map/common/destructible.component.mjs +18 -18
- package/dist/esm2022/map/common/id.generator.mjs +14 -14
- package/dist/esm2022/map/helpers/index.mjs +4 -4
- package/dist/esm2022/map/helpers/marker-style.helper.mjs +54 -54
- package/dist/esm2022/map/helpers/polygon-style.helper.mjs +53 -53
- package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +61 -61
- package/dist/esm2022/map/helpers/text-style.helper.mjs +24 -24
- package/dist/esm2022/map/map-plate/controls/index.mjs +2 -2
- package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +69 -69
- package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +12 -12
- package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +115 -115
- package/dist/esm2022/map/map-plate/features/index.mjs +2 -2
- package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +52 -52
- package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +52 -52
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -59
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +60 -60
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +38 -38
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +144 -144
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -52
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +28 -28
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +111 -111
- package/dist/esm2022/map/map-plate/layers/index.mjs +7 -7
- package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -57
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +52 -52
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -50
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +119 -119
- package/dist/esm2022/map/map-plate/map-plate.component.mjs +102 -102
- package/dist/esm2022/map/map-plate/map-plate.factory.service.mjs +27 -27
- package/dist/esm2022/map/map-plate/tooltips/index.mjs +2 -2
- package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +81 -81
- package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +30 -30
- package/dist/esm2022/map/map.module.mjs +63 -63
- package/dist/esm2022/map/messages/commands/add-control.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/add-layer.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/add-tile.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/cancel-drawing.command.mjs +7 -7
- package/dist/esm2022/map/messages/commands/cancel-feature-modification.command.mjs +7 -7
- package/dist/esm2022/map/messages/commands/close-tooltip.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +16 -16
- package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +14 -14
- package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +14 -14
- package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +17 -17
- package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +14 -14
- package/dist/esm2022/map/messages/commands/remove-control.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +25 -25
- package/dist/esm2022/map/messages/commands/start-drawing.command.mjs +17 -17
- package/dist/esm2022/map/messages/events/drawing-finished.event.mjs +10 -10
- package/dist/esm2022/map/messages/events/map-click.event.mjs +16 -16
- package/dist/esm2022/map/messages/events/map-move-end.event.mjs +14 -14
- package/dist/esm2022/map/messages/events/map-rendered.event.mjs +12 -12
- package/dist/esm2022/map/messages/executors/calculate-area.executor.mjs +12 -12
- package/dist/esm2022/map/messages/executors/filter-features-in-area.executor.mjs +14 -14
- package/dist/esm2022/map/messages/executors/generate-draw.executor.mjs +16 -16
- package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +12 -12
- package/dist/esm2022/map/messages/index.mjs +14 -14
- package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +14 -14
- package/dist/esm2022/map/messages/queries/get-layer.query.mjs +12 -12
- package/dist/esm2022/map/models/drawing-type.enum.mjs +7 -7
- package/dist/esm2022/map/models/feature-format.enum.mjs +5 -5
- package/dist/esm2022/map/models/i-identified.mjs +1 -1
- package/dist/esm2022/map/models/index.mjs +7 -7
- package/dist/esm2022/map/models/map-control.mjs +14 -14
- package/dist/esm2022/map/models/map-lyrs.enum.mjs +18 -18
- package/dist/esm2022/map/models/map-settings.mjs +50 -50
- package/dist/esm2022/map/models/map.constants.mjs +4 -4
- package/dist/esm2022/map/models/marker-model.mjs +28 -28
- package/dist/esm2022/map/models/polygon.model.mjs +32 -32
- package/dist/esm2022/map/public-api.mjs +15 -15
- package/dist/esm2022/map/services/controls/controls.service.mjs +39 -39
- package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +25 -25
- package/dist/esm2022/map/services/drawing/drawing.service.mjs +101 -101
- package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +103 -103
- package/dist/esm2022/map/services/feature.service.mjs +21 -21
- package/dist/esm2022/map/services/map-click.service.mjs +55 -55
- package/dist/esm2022/map/services/map-feature.service.mjs +55 -55
- package/dist/esm2022/map/services/map-management.service.mjs +103 -103
- package/dist/esm2022/map/services/map-postboy.service.mjs +18 -18
- package/dist/esm2022/map/services/map-state.service.mjs +42 -42
- package/dist/esm2022/map/services/message-registrator.service.mjs +82 -82
- package/dist/esm2022/maps-components.mjs +4 -4
- package/dist/esm2022/public-api.mjs +4 -4
- package/dist/esm2022/src/map/common/destructible.component.mjs +18 -18
- package/dist/esm2022/src/map/common/id.generator.mjs +14 -14
- package/dist/esm2022/src/map/helpers/index.mjs +4 -4
- package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +54 -54
- package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +53 -53
- package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +61 -61
- package/dist/esm2022/src/map/helpers/text-style.helper.mjs +24 -24
- package/dist/esm2022/src/map/map-plate/controls/index.mjs +2 -2
- package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +69 -69
- package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +12 -12
- package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +115 -115
- package/dist/esm2022/src/map/map-plate/features/index.mjs +2 -2
- package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +52 -52
- package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +52 -52
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -59
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +60 -60
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +38 -38
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +144 -144
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -52
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +28 -28
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +111 -111
- package/dist/esm2022/src/map/map-plate/layers/index.mjs +7 -7
- package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -57
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +52 -52
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -50
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +119 -119
- package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +102 -102
- package/dist/esm2022/src/map/map-plate/map-plate.factory.service.mjs +27 -27
- package/dist/esm2022/src/map/map-plate/tooltips/index.mjs +2 -2
- package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +81 -81
- package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +30 -30
- package/dist/esm2022/src/map/map.module.mjs +63 -63
- package/dist/esm2022/src/map/maps-components-src-map.mjs +4 -4
- package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/cancel-drawing.command.mjs +7 -7
- package/dist/esm2022/src/map/messages/commands/cancel-feature-modification.command.mjs +7 -7
- package/dist/esm2022/src/map/messages/commands/close-tooltip.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +16 -16
- package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +14 -14
- package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +14 -14
- package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +17 -17
- package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +14 -14
- package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +25 -25
- package/dist/esm2022/src/map/messages/commands/start-drawing.command.mjs +17 -17
- package/dist/esm2022/src/map/messages/events/drawing-finished.event.mjs +10 -10
- package/dist/esm2022/src/map/messages/events/map-click.event.mjs +16 -16
- package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +14 -14
- package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +12 -12
- package/dist/esm2022/src/map/messages/executors/calculate-area.executor.mjs +12 -12
- package/dist/esm2022/src/map/messages/executors/filter-features-in-area.executor.mjs +14 -14
- package/dist/esm2022/src/map/messages/executors/generate-draw.executor.mjs +16 -16
- package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +12 -12
- package/dist/esm2022/src/map/messages/index.mjs +14 -14
- package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +14 -14
- package/dist/esm2022/src/map/messages/queries/get-layer.query.mjs +12 -12
- package/dist/esm2022/src/map/models/drawing-type.enum.mjs +7 -7
- package/dist/esm2022/src/map/models/feature-format.enum.mjs +5 -5
- package/dist/esm2022/src/map/models/i-identified.mjs +1 -1
- package/dist/esm2022/src/map/models/index.mjs +7 -7
- package/dist/esm2022/src/map/models/map-control.mjs +14 -14
- package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +18 -18
- package/dist/esm2022/src/map/models/map-settings.mjs +50 -50
- package/dist/esm2022/src/map/models/map.constants.mjs +4 -4
- package/dist/esm2022/src/map/models/marker-model.mjs +28 -28
- package/dist/esm2022/src/map/models/polygon.model.mjs +32 -32
- package/dist/esm2022/src/map/public-api.mjs +15 -15
- package/dist/esm2022/src/map/services/controls/controls.service.mjs +39 -39
- package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +25 -25
- package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +101 -101
- package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +103 -103
- package/dist/esm2022/src/map/services/feature.service.mjs +21 -21
- package/dist/esm2022/src/map/services/map-click.service.mjs +55 -55
- package/dist/esm2022/src/map/services/map-feature.service.mjs +55 -55
- package/dist/esm2022/src/map/services/map-management.service.mjs +103 -103
- package/dist/esm2022/src/map/services/map-postboy.service.mjs +18 -18
- package/dist/esm2022/src/map/services/map-state.service.mjs +42 -42
- package/dist/esm2022/src/map/services/message-registrator.service.mjs +82 -82
- package/dist/fesm2022/maps-components-src-map.mjs +2460 -2460
- package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2022/maps-components.mjs +2462 -2462
- package/dist/fesm2022/maps-components.mjs.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/map/common/destructible.component.d.ts +10 -10
- package/dist/map/common/id.generator.d.ts +4 -4
- package/dist/map/helpers/index.d.ts +4 -4
- package/dist/map/helpers/marker-style.helper.d.ts +33 -33
- package/dist/map/helpers/polygon-style.helper.d.ts +26 -26
- package/dist/map/helpers/stringify-feature.helper.d.ts +26 -26
- package/dist/map/helpers/text-style.helper.d.ts +15 -15
- package/dist/map/map-plate/controls/index.d.ts +2 -2
- package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +36 -36
- package/dist/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -5
- package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +85 -85
- package/dist/map/map-plate/features/index.d.ts +2 -2
- package/dist/map/map-plate/features/markers/markers.component.d.ts +26 -26
- package/dist/map/map-plate/features/polygons/polygons.component.d.ts +26 -26
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -11
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +29 -29
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +13 -13
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +100 -100
- package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +22 -22
- package/dist/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +9 -9
- package/dist/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +81 -81
- package/dist/map/map-plate/layers/index.d.ts +7 -7
- package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +19 -19
- package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +21 -21
- package/dist/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -11
- package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +89 -89
- package/dist/map/map-plate/map-plate.component.d.ts +27 -27
- package/dist/map/map-plate/map-plate.factory.service.d.ts +8 -8
- package/dist/map/map-plate/tooltips/index.d.ts +2 -2
- package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +26 -26
- package/dist/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +11 -11
- package/dist/map/map.module.d.ts +17 -17
- package/dist/map/messages/commands/add-control.command.d.ts +8 -8
- package/dist/map/messages/commands/add-layer.command.d.ts +10 -10
- package/dist/map/messages/commands/add-tile.command.d.ts +9 -9
- package/dist/map/messages/commands/cancel-drawing.command.d.ts +5 -5
- package/dist/map/messages/commands/cancel-feature-modification.command.d.ts +5 -5
- package/dist/map/messages/commands/close-tooltip.command.d.ts +7 -7
- package/dist/map/messages/commands/draw-selection-area.command.d.ts +13 -13
- package/dist/map/messages/commands/fit-to-features.command.d.ts +10 -10
- package/dist/map/messages/commands/fit-to-polygons.command.d.ts +9 -9
- package/dist/map/messages/commands/modify-feature.command.d.ts +11 -11
- package/dist/map/messages/commands/place-layer-features.command.d.ts +10 -10
- package/dist/map/messages/commands/remove-control.command.d.ts +8 -8
- package/dist/map/messages/commands/remove-layer.command.d.ts +8 -8
- package/dist/map/messages/commands/remove-tile.command.d.ts +9 -9
- package/dist/map/messages/commands/set-map-center.command.d.ts +18 -18
- package/dist/map/messages/commands/start-drawing.command.d.ts +11 -11
- package/dist/map/messages/events/drawing-finished.event.d.ts +6 -6
- package/dist/map/messages/events/map-click.event.d.ts +20 -20
- package/dist/map/messages/events/map-move-end.event.d.ts +8 -8
- package/dist/map/messages/events/map-rendered.event.d.ts +8 -8
- package/dist/map/messages/executors/calculate-area.executor.d.ts +10 -10
- package/dist/map/messages/executors/filter-features-in-area.executor.d.ts +10 -10
- package/dist/map/messages/executors/generate-draw.executor.d.ts +14 -14
- package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +9 -9
- package/dist/map/messages/index.d.ts +14 -14
- package/dist/map/messages/queries/get-features-in-area.query.d.ts +11 -11
- package/dist/map/messages/queries/get-layer.query.d.ts +10 -10
- package/dist/map/models/drawing-type.enum.d.ts +6 -6
- package/dist/map/models/feature-format.enum.d.ts +4 -4
- package/dist/map/models/i-identified.d.ts +3 -3
- package/dist/map/models/index.d.ts +7 -7
- package/dist/map/models/map-control.d.ts +13 -13
- package/dist/map/models/map-lyrs.enum.d.ts +10 -10
- package/dist/map/models/map-settings.d.ts +17 -17
- package/dist/map/models/map.constants.d.ts +4 -4
- package/dist/map/models/marker-model.d.ts +16 -16
- package/dist/map/models/polygon.model.d.ts +19 -19
- package/dist/map/public-api.d.ts +12 -12
- package/dist/map/services/controls/controls.service.d.ts +14 -14
- package/dist/map/services/drawing/drawing-generation.service.d.ts +6 -6
- package/dist/map/services/drawing/drawing.service.d.ts +19 -19
- package/dist/map/services/drawing/feature-modification.service.d.ts +22 -22
- package/dist/map/services/feature.service.d.ts +9 -9
- package/dist/map/services/map-click.service.d.ts +16 -16
- package/dist/map/services/map-feature.service.d.ts +16 -16
- package/dist/map/services/map-management.service.d.ts +20 -20
- package/dist/map/services/map-postboy.service.d.ts +7 -7
- package/dist/map/services/map-state.service.d.ts +13 -13
- package/dist/map/services/message-registrator.service.d.ts +17 -17
- package/dist/public-api.d.ts +1 -1
- package/dist/src/map/common/destructible.component.d.ts +10 -10
- package/dist/src/map/common/id.generator.d.ts +4 -4
- package/dist/src/map/helpers/index.d.ts +4 -4
- package/dist/src/map/helpers/marker-style.helper.d.ts +33 -33
- package/dist/src/map/helpers/polygon-style.helper.d.ts +26 -26
- package/dist/src/map/helpers/stringify-feature.helper.d.ts +26 -26
- package/dist/src/map/helpers/text-style.helper.d.ts +15 -15
- package/dist/src/map/index.d.ts +5 -5
- package/dist/src/map/map-plate/controls/index.d.ts +2 -2
- package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +36 -36
- package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -5
- package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +85 -85
- package/dist/src/map/map-plate/features/index.d.ts +2 -2
- package/dist/src/map/map-plate/features/markers/markers.component.d.ts +26 -26
- package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +26 -26
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -11
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +29 -29
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +13 -13
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +100 -100
- package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +22 -22
- package/dist/src/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +9 -9
- package/dist/src/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +81 -81
- package/dist/src/map/map-plate/layers/index.d.ts +7 -7
- package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +19 -19
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +21 -21
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -11
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +89 -89
- package/dist/src/map/map-plate/map-plate.component.d.ts +27 -27
- package/dist/src/map/map-plate/map-plate.factory.service.d.ts +8 -8
- package/dist/src/map/map-plate/tooltips/index.d.ts +2 -2
- package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +26 -26
- package/dist/src/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +11 -11
- package/dist/src/map/map.module.d.ts +17 -17
- package/dist/src/map/messages/commands/add-control.command.d.ts +8 -8
- package/dist/src/map/messages/commands/add-layer.command.d.ts +10 -10
- package/dist/src/map/messages/commands/add-tile.command.d.ts +9 -9
- package/dist/src/map/messages/commands/cancel-drawing.command.d.ts +5 -5
- package/dist/src/map/messages/commands/cancel-feature-modification.command.d.ts +5 -5
- package/dist/src/map/messages/commands/close-tooltip.command.d.ts +7 -7
- package/dist/src/map/messages/commands/draw-selection-area.command.d.ts +13 -13
- package/dist/src/map/messages/commands/fit-to-features.command.d.ts +10 -10
- package/dist/src/map/messages/commands/fit-to-polygons.command.d.ts +9 -9
- package/dist/src/map/messages/commands/modify-feature.command.d.ts +11 -11
- package/dist/src/map/messages/commands/place-layer-features.command.d.ts +10 -10
- package/dist/src/map/messages/commands/remove-control.command.d.ts +8 -8
- package/dist/src/map/messages/commands/remove-layer.command.d.ts +8 -8
- package/dist/src/map/messages/commands/remove-tile.command.d.ts +9 -9
- package/dist/src/map/messages/commands/set-map-center.command.d.ts +18 -18
- package/dist/src/map/messages/commands/start-drawing.command.d.ts +11 -11
- package/dist/src/map/messages/events/drawing-finished.event.d.ts +6 -6
- package/dist/src/map/messages/events/map-click.event.d.ts +20 -20
- package/dist/src/map/messages/events/map-move-end.event.d.ts +8 -8
- package/dist/src/map/messages/events/map-rendered.event.d.ts +8 -8
- package/dist/src/map/messages/executors/calculate-area.executor.d.ts +10 -10
- package/dist/src/map/messages/executors/filter-features-in-area.executor.d.ts +10 -10
- package/dist/src/map/messages/executors/generate-draw.executor.d.ts +14 -14
- package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +9 -9
- package/dist/src/map/messages/index.d.ts +14 -14
- package/dist/src/map/messages/queries/get-features-in-area.query.d.ts +11 -11
- package/dist/src/map/messages/queries/get-layer.query.d.ts +10 -10
- package/dist/src/map/models/drawing-type.enum.d.ts +6 -6
- package/dist/src/map/models/feature-format.enum.d.ts +4 -4
- package/dist/src/map/models/i-identified.d.ts +3 -3
- package/dist/src/map/models/index.d.ts +7 -7
- package/dist/src/map/models/map-control.d.ts +13 -13
- package/dist/src/map/models/map-lyrs.enum.d.ts +10 -10
- package/dist/src/map/models/map-settings.d.ts +17 -17
- package/dist/src/map/models/map.constants.d.ts +4 -4
- package/dist/src/map/models/marker-model.d.ts +16 -16
- package/dist/src/map/models/polygon.model.d.ts +19 -19
- package/dist/src/map/public-api.d.ts +12 -12
- package/dist/src/map/services/controls/controls.service.d.ts +14 -14
- package/dist/src/map/services/drawing/drawing-generation.service.d.ts +6 -6
- package/dist/src/map/services/drawing/drawing.service.d.ts +19 -19
- package/dist/src/map/services/drawing/feature-modification.service.d.ts +22 -22
- package/dist/src/map/services/feature.service.d.ts +9 -9
- package/dist/src/map/services/map-click.service.d.ts +16 -16
- package/dist/src/map/services/map-feature.service.d.ts +16 -16
- package/dist/src/map/services/map-management.service.d.ts +20 -20
- package/dist/src/map/services/map-postboy.service.d.ts +7 -7
- package/dist/src/map/services/map-state.service.d.ts +13 -13
- package/dist/src/map/services/message-registrator.service.d.ts +17 -17
- package/package.json +23 -24
- package/dist/package.json +0 -35
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
-
import { MapRenderedEvent } from '../../../messages';
|
|
4
|
-
import { filter, first } from 'rxjs/operators';
|
|
5
|
-
import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../services/map-postboy.service";
|
|
8
|
-
/**
|
|
9
|
-
* Component for rendering polygons on a map.
|
|
10
|
-
* It listens for changes in the `polygons` input property and
|
|
11
|
-
* automatically puts the polygons on the map using the MapPostboyService.
|
|
12
|
-
*/
|
|
13
|
-
export class PolygonsComponent extends DestructibleComponent {
|
|
14
|
-
postboy;
|
|
15
|
-
layerName = '';
|
|
16
|
-
constructor(postboy) {
|
|
17
|
-
super();
|
|
18
|
-
this.postboy = postboy;
|
|
19
|
-
}
|
|
20
|
-
_polygons = [];
|
|
21
|
-
/**
|
|
22
|
-
* Sets the value of polygons.
|
|
23
|
-
*
|
|
24
|
-
* @param {PolygonModel[]} value - The new value for polygons.
|
|
25
|
-
*/
|
|
26
|
-
set polygons(value) {
|
|
27
|
-
this._polygons = value ?? [];
|
|
28
|
-
this.putPolygons();
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.postboy
|
|
32
|
-
.subscribe(MapRenderedEvent.ID)
|
|
33
|
-
.pipe(filter((m) => !!m), first())
|
|
34
|
-
.subscribe(() => this.putPolygons());
|
|
35
|
-
}
|
|
36
|
-
putPolygons() {
|
|
37
|
-
if (!this._polygons)
|
|
38
|
-
return;
|
|
39
|
-
this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
|
|
40
|
-
}
|
|
41
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
42
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
45
|
-
type: Component,
|
|
46
|
-
args: [{ selector: 'art-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
47
|
-
}], ctorParameters:
|
|
48
|
-
type: Input
|
|
49
|
-
}], polygons: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
+
import { MapRenderedEvent } from '../../../messages';
|
|
4
|
+
import { filter, first } from 'rxjs/operators';
|
|
5
|
+
import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../services/map-postboy.service";
|
|
8
|
+
/**
|
|
9
|
+
* Component for rendering polygons on a map.
|
|
10
|
+
* It listens for changes in the `polygons` input property and
|
|
11
|
+
* automatically puts the polygons on the map using the MapPostboyService.
|
|
12
|
+
*/
|
|
13
|
+
export class PolygonsComponent extends DestructibleComponent {
|
|
14
|
+
postboy;
|
|
15
|
+
layerName = '';
|
|
16
|
+
constructor(postboy) {
|
|
17
|
+
super();
|
|
18
|
+
this.postboy = postboy;
|
|
19
|
+
}
|
|
20
|
+
_polygons = [];
|
|
21
|
+
/**
|
|
22
|
+
* Sets the value of polygons.
|
|
23
|
+
*
|
|
24
|
+
* @param {PolygonModel[]} value - The new value for polygons.
|
|
25
|
+
*/
|
|
26
|
+
set polygons(value) {
|
|
27
|
+
this._polygons = value ?? [];
|
|
28
|
+
this.putPolygons();
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
this.postboy
|
|
32
|
+
.subscribe(MapRenderedEvent.ID)
|
|
33
|
+
.pipe(filter((m) => !!m), first())
|
|
34
|
+
.subscribe(() => this.putPolygons());
|
|
35
|
+
}
|
|
36
|
+
putPolygons() {
|
|
37
|
+
if (!this._polygons)
|
|
38
|
+
return;
|
|
39
|
+
this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
|
|
40
|
+
}
|
|
41
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PolygonsComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: PolygonsComponent, selector: "art-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PolygonsComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ selector: 'art-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
47
|
+
}], ctorParameters: () => [{ type: i1.MapPostboyService }], propDecorators: { layerName: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], polygons: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}] } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7QUFHcEc7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUFHdEM7SUFGWCxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRXhCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVELFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBRS9COzs7O09BSUc7SUFDSCxJQUFhLFFBQVEsQ0FBQyxLQUFxQjtRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsSUFBSSx5QkFBeUIsQ0FDM0IsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUNyQyxDQUNGLENBQUM7SUFDSixDQUFDO3VHQXJDVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixxSUFKbEIsRUFBRTs7MkZBSUQsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGNBQWMsWUFDZCxFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07c0ZBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBYU8sUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IFBvbHlnb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wb2x5Z29uLm1vZGVsJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHJlbmRlcmluZyBwb2x5Z29ucyBvbiBhIG1hcC5cbiAqIEl0IGxpc3RlbnMgZm9yIGNoYW5nZXMgaW4gdGhlIGBwb2x5Z29uc2AgaW5wdXQgcHJvcGVydHkgYW5kXG4gKiBhdXRvbWF0aWNhbGx5IHB1dHMgdGhlIHBvbHlnb25zIG9uIHRoZSBtYXAgdXNpbmcgdGhlIE1hcFBvc3Rib3lTZXJ2aWNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtcG9seWdvbnMnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQb2x5Z29uc0NvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxheWVyTmFtZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3BvbHlnb25zOiBQb2x5Z29uTW9kZWxbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiBwb2x5Z29ucy5cbiAgICpcbiAgICogQHBhcmFtIHtQb2x5Z29uTW9kZWxbXX0gdmFsdWUgLSBUaGUgbmV3IHZhbHVlIGZvciBwb2x5Z29ucy5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBwb2x5Z29ucyh2YWx1ZTogUG9seWdvbk1vZGVsW10pIHtcbiAgICB0aGlzLl9wb2x5Z29ucyA9IHZhbHVlID8/IFtdO1xuICAgIHRoaXMucHV0UG9seWdvbnMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wdXRQb2x5Z29ucygpKTtcbiAgfVxuXG4gIHByaXZhdGUgcHV0UG9seWdvbnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wb2x5Z29ucykgcmV0dXJuO1xuICAgIHRoaXMucG9zdGJveS5maXJlKFxuICAgICAgbmV3IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQoXG4gICAgICAgIHRoaXMubGF5ZXJOYW1lLFxuICAgICAgICB0aGlzLl9wb2x5Z29ucy5tYXAoKG0pID0+IG0uZmVhdHVyZSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Vector as Source } from 'ol/source';
|
|
3
|
-
import { Vector as Layer } from 'ol/layer';
|
|
4
|
-
import { bbox } from 'ol/loadingstrategy';
|
|
5
|
-
import { fromExtent } from 'ol/geom/Polygon';
|
|
6
|
-
import Cluster from 'ol/source/Cluster';
|
|
7
|
-
import { ClusterLayerManager } from './cluster-layer.manager';
|
|
8
|
-
import { MapConstants } from '../../../models/map.constants';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class ClusterLayerFactory {
|
|
11
|
-
build(settings, postboy) {
|
|
12
|
-
const source = new Source({
|
|
13
|
-
strategy: settings.bbox ? bbox : undefined,
|
|
14
|
-
});
|
|
15
|
-
const cluster = new Cluster({
|
|
16
|
-
distance: settings.distance,
|
|
17
|
-
source: source,
|
|
18
|
-
geometryFunction: (feature) => {
|
|
19
|
-
const geom = feature.getGeometry();
|
|
20
|
-
if (geom?.getType() == 'Point') {
|
|
21
|
-
return geom;
|
|
22
|
-
}
|
|
23
|
-
else if (geom?.getType() == 'Polygon') {
|
|
24
|
-
return geom?.getInteriorPoint();
|
|
25
|
-
}
|
|
26
|
-
else if (geom?.getType() == 'MultiPolygon') {
|
|
27
|
-
return fromExtent(geom.getExtent())?.getInteriorPoint();
|
|
28
|
-
}
|
|
29
|
-
return undefined;
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
const layer = new Layer({
|
|
33
|
-
source: cluster,
|
|
34
|
-
maxZoom: settings.maxZoom || undefined,
|
|
35
|
-
minZoom: settings.minZoom || undefined,
|
|
36
|
-
zIndex: settings.zIndex || 0,
|
|
37
|
-
});
|
|
38
|
-
layer.setStyle(this.styleFunc(settings));
|
|
39
|
-
layer.set('name', settings.name);
|
|
40
|
-
return new ClusterLayerManager(settings, layer, postboy);
|
|
41
|
-
}
|
|
42
|
-
styleFunc(settings) {
|
|
43
|
-
return (feature) => {
|
|
44
|
-
const features = feature.get('features');
|
|
45
|
-
if (!settings.style)
|
|
46
|
-
return undefined;
|
|
47
|
-
return settings.style(features.map((f) => ({ id: f.getId(), ...f.get(MapConstants.FeatureInfo) })));
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
51
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
52
|
-
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
54
|
-
type: Injectable,
|
|
55
|
-
args: [{
|
|
56
|
-
providedIn: 'root',
|
|
57
|
-
}]
|
|
58
|
-
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Vector as Source } from 'ol/source';
|
|
3
|
+
import { Vector as Layer } from 'ol/layer';
|
|
4
|
+
import { bbox } from 'ol/loadingstrategy';
|
|
5
|
+
import { fromExtent } from 'ol/geom/Polygon';
|
|
6
|
+
import Cluster from 'ol/source/Cluster';
|
|
7
|
+
import { ClusterLayerManager } from './cluster-layer.manager';
|
|
8
|
+
import { MapConstants } from '../../../models/map.constants';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class ClusterLayerFactory {
|
|
11
|
+
build(settings, postboy) {
|
|
12
|
+
const source = new Source({
|
|
13
|
+
strategy: settings.bbox ? bbox : undefined,
|
|
14
|
+
});
|
|
15
|
+
const cluster = new Cluster({
|
|
16
|
+
distance: settings.distance,
|
|
17
|
+
source: source,
|
|
18
|
+
geometryFunction: (feature) => {
|
|
19
|
+
const geom = feature.getGeometry();
|
|
20
|
+
if (geom?.getType() == 'Point') {
|
|
21
|
+
return geom;
|
|
22
|
+
}
|
|
23
|
+
else if (geom?.getType() == 'Polygon') {
|
|
24
|
+
return geom?.getInteriorPoint();
|
|
25
|
+
}
|
|
26
|
+
else if (geom?.getType() == 'MultiPolygon') {
|
|
27
|
+
return fromExtent(geom.getExtent())?.getInteriorPoint();
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
const layer = new Layer({
|
|
33
|
+
source: cluster,
|
|
34
|
+
maxZoom: settings.maxZoom || undefined,
|
|
35
|
+
minZoom: settings.minZoom || undefined,
|
|
36
|
+
zIndex: settings.zIndex || 0,
|
|
37
|
+
});
|
|
38
|
+
layer.setStyle(this.styleFunc(settings));
|
|
39
|
+
layer.set('name', settings.name);
|
|
40
|
+
return new ClusterLayerManager(settings, layer, postboy);
|
|
41
|
+
}
|
|
42
|
+
styleFunc(settings) {
|
|
43
|
+
return (feature) => {
|
|
44
|
+
const features = feature.get('features');
|
|
45
|
+
if (!settings.style)
|
|
46
|
+
return undefined;
|
|
47
|
+
return settings.style(features.map((f) => ({ id: f.getId(), ...f.get(MapConstants.FeatureInfo) })));
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerFactory, providedIn: 'root' });
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerFactory, decorators: [{
|
|
54
|
+
type: Injectable,
|
|
55
|
+
args: [{
|
|
56
|
+
providedIn: 'root',
|
|
57
|
+
}]
|
|
58
|
+
}] });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSzdELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsS0FBSyxDQUFDLFFBQThCLEVBQUUsT0FBMEI7UUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMzQyxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztZQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsTUFBTSxFQUFFLE1BQU07WUFDZCxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM1QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25DLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUMvQixPQUFPLElBQWEsQ0FBQztnQkFDdkIsQ0FBQztxQkFBTSxJQUFJLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDeEMsT0FBUSxJQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUM7Z0JBQy9DLENBQUM7cUJBQU0sSUFBSSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksY0FBYyxFQUFFLENBQUM7b0JBQzdDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENBQUM7Z0JBQzFELENBQUM7Z0JBQ0QsT0FBTyxTQUFnQixDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQztZQUN0QixNQUFNLEVBQUUsT0FBTztZQUNmLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLFNBQVM7WUFDdEMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksU0FBUztZQUN0QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1NBQzdCLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQThCO1FBQ3RDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDdEMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUM7SUFDSixDQUFDO3VHQXJDVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgeyBiYm94IH0gZnJvbSAnb2wvbG9hZGluZ3N0cmF0ZWd5JztcbmltcG9ydCBQb2x5Z29uLCB7IGZyb21FeHRlbnQgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2VvbWV0cnksIFBvaW50IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyRmFjdG9yeSB7XG4gIHB1YmxpYyBidWlsZChzZXR0aW5nczogQ2x1c3RlckxheWVyU2V0dGluZ3MsIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKTogQ2x1c3RlckxheWVyTWFuYWdlciB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFNvdXJjZSh7XG4gICAgICBzdHJhdGVneTogc2V0dGluZ3MuYmJveCA/IGJib3ggOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgY29uc3QgY2x1c3RlciA9IG5ldyBDbHVzdGVyKHtcbiAgICAgIGRpc3RhbmNlOiBzZXR0aW5ncy5kaXN0YW5jZSxcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgZ2VvbWV0cnlGdW5jdGlvbjogKGZlYXR1cmUpID0+IHtcbiAgICAgICAgY29uc3QgZ2VvbSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcbiAgICAgICAgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnUG9pbnQnKSB7XG4gICAgICAgICAgcmV0dXJuIGdlb20gYXMgUG9pbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoZ2VvbT8uZ2V0VHlwZSgpID09ICdQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiAoZ2VvbSBhcyBQb2x5Z29uKT8uZ2V0SW50ZXJpb3JQb2ludCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnTXVsdGlQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiBmcm9tRXh0ZW50KGdlb20uZ2V0RXh0ZW50KCkpPy5nZXRJbnRlcmlvclBvaW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGxheWVyID0gbmV3IExheWVyKHtcbiAgICAgIHNvdXJjZTogY2x1c3RlcixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgdW5kZWZpbmVkLFxuICAgICAgbWluWm9vbTogc2V0dGluZ3MubWluWm9vbSB8fCB1bmRlZmluZWQsXG4gICAgICB6SW5kZXg6IHNldHRpbmdzLnpJbmRleCB8fCAwLFxuICAgIH0pO1xuICAgIGxheWVyLnNldFN0eWxlKHRoaXMuc3R5bGVGdW5jKHNldHRpbmdzKSk7XG4gICAgbGF5ZXIuc2V0KCduYW1lJywgc2V0dGluZ3MubmFtZSk7XG4gICAgcmV0dXJuIG5ldyBDbHVzdGVyTGF5ZXJNYW5hZ2VyKHNldHRpbmdzLCBsYXllciwgcG9zdGJveSk7XG4gIH1cblxuICBzdHlsZUZ1bmMoc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzKTogU3R5bGVGdW5jdGlvbiB7XG4gICAgcmV0dXJuIChmZWF0dXJlKSA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlcyA9IGZlYXR1cmUuZ2V0KCdmZWF0dXJlcycpIGFzIEZlYXR1cmU8R2VvbWV0cnk+W107XG4gICAgICBpZiAoIXNldHRpbmdzLnN0eWxlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHNldHRpbmdzLnN0eWxlKGZlYXR1cmVzLm1hcCgoZikgPT4gKHsgaWQ6IGYuZ2V0SWQoKSEsIC4uLmYuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbykgfSkpKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
-
import { MapRenderedEvent } from '../../../messages';
|
|
4
|
-
import { filter, first } from 'rxjs/operators';
|
|
5
|
-
import { AddLayerCommand } from '../../../messages/commands/add-layer.command';
|
|
6
|
-
import { RemoveLayerCommand } from '../../../messages/commands/remove-layer.command';
|
|
7
|
-
import { ClusterLayerSettings } from './cluster-layer.settings';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../../services/map-postboy.service";
|
|
10
|
-
import * as i2 from "./cluster-layer-factory.service";
|
|
11
|
-
/**
|
|
12
|
-
* Represents a cluster layer component.
|
|
13
|
-
*/
|
|
14
|
-
export class ClusterLayerComponent extends DestructibleComponent {
|
|
15
|
-
postboy;
|
|
16
|
-
factory;
|
|
17
|
-
manager = null;
|
|
18
|
-
constructor(postboy, factory) {
|
|
19
|
-
super();
|
|
20
|
-
this.postboy = postboy;
|
|
21
|
-
this.factory = factory;
|
|
22
|
-
}
|
|
23
|
-
_settings = new ClusterLayerSettings();
|
|
24
|
-
/**
|
|
25
|
-
* Sets the settings for the cluster layer.
|
|
26
|
-
*
|
|
27
|
-
* @param {ClusterLayerSettings | undefined} value - The settings for the cluster layer.
|
|
28
|
-
*/
|
|
29
|
-
set settings(value) {
|
|
30
|
-
if (!value || this._settings.isSame(value))
|
|
31
|
-
return;
|
|
32
|
-
this._settings = value;
|
|
33
|
-
this.initLayer();
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
this.postboy
|
|
37
|
-
.subscribe(MapRenderedEvent.ID)
|
|
38
|
-
.pipe(filter((m) => !!m), first())
|
|
39
|
-
.subscribe((m) => this.initLayer());
|
|
40
|
-
}
|
|
41
|
-
onDestroy = () => this.removeLayer();
|
|
42
|
-
initLayer() {
|
|
43
|
-
this.removeLayer();
|
|
44
|
-
this.manager = this.factory.build(this._settings, this.postboy);
|
|
45
|
-
this.postboy.fire(new AddLayerCommand(this.manager.layer));
|
|
46
|
-
}
|
|
47
|
-
removeLayer() {
|
|
48
|
-
if (this.manager?.layer)
|
|
49
|
-
this.postboy.fire(new RemoveLayerCommand(this.manager.layer));
|
|
50
|
-
}
|
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
52
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
53
|
-
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
55
|
-
type: Component,
|
|
56
|
-
args: [{ selector: 'art-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
57
|
-
}], ctorParameters:
|
|
58
|
-
type: Input
|
|
59
|
-
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
+
import { MapRenderedEvent } from '../../../messages';
|
|
4
|
+
import { filter, first } from 'rxjs/operators';
|
|
5
|
+
import { AddLayerCommand } from '../../../messages/commands/add-layer.command';
|
|
6
|
+
import { RemoveLayerCommand } from '../../../messages/commands/remove-layer.command';
|
|
7
|
+
import { ClusterLayerSettings } from './cluster-layer.settings';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../../services/map-postboy.service";
|
|
10
|
+
import * as i2 from "./cluster-layer-factory.service";
|
|
11
|
+
/**
|
|
12
|
+
* Represents a cluster layer component.
|
|
13
|
+
*/
|
|
14
|
+
export class ClusterLayerComponent extends DestructibleComponent {
|
|
15
|
+
postboy;
|
|
16
|
+
factory;
|
|
17
|
+
manager = null;
|
|
18
|
+
constructor(postboy, factory) {
|
|
19
|
+
super();
|
|
20
|
+
this.postboy = postboy;
|
|
21
|
+
this.factory = factory;
|
|
22
|
+
}
|
|
23
|
+
_settings = new ClusterLayerSettings();
|
|
24
|
+
/**
|
|
25
|
+
* Sets the settings for the cluster layer.
|
|
26
|
+
*
|
|
27
|
+
* @param {ClusterLayerSettings | undefined} value - The settings for the cluster layer.
|
|
28
|
+
*/
|
|
29
|
+
set settings(value) {
|
|
30
|
+
if (!value || this._settings.isSame(value))
|
|
31
|
+
return;
|
|
32
|
+
this._settings = value;
|
|
33
|
+
this.initLayer();
|
|
34
|
+
}
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
this.postboy
|
|
37
|
+
.subscribe(MapRenderedEvent.ID)
|
|
38
|
+
.pipe(filter((m) => !!m), first())
|
|
39
|
+
.subscribe((m) => this.initLayer());
|
|
40
|
+
}
|
|
41
|
+
onDestroy = () => this.removeLayer();
|
|
42
|
+
initLayer() {
|
|
43
|
+
this.removeLayer();
|
|
44
|
+
this.manager = this.factory.build(this._settings, this.postboy);
|
|
45
|
+
this.postboy.fire(new AddLayerCommand(this.manager.layer));
|
|
46
|
+
}
|
|
47
|
+
removeLayer() {
|
|
48
|
+
if (this.manager?.layer)
|
|
49
|
+
this.postboy.fire(new RemoveLayerCommand(this.manager.layer));
|
|
50
|
+
}
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.ClusterLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: ClusterLayerComponent, selector: "art-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'art-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
57
|
+
}], ctorParameters: () => [{ type: i1.MapPostboyService }, { type: i2.ClusterLayerFactory }], propDecorators: { settings: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}] } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFHaEU7O0dBRUc7QUFPSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEscUJBQXFCO0lBRzFDO0lBQW9DO0lBRmpELE9BQU8sR0FBK0IsSUFBSSxDQUFDO0lBRWxELFlBQW9CLE9BQTBCLEVBQVUsT0FBNEI7UUFDbEYsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBRXBGLENBQUM7SUFFRCxTQUFTLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUU3RDs7OztPQUlHO0lBQ0gsSUFBYSxRQUFRLENBQUMsS0FBdUM7UUFDM0QsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFN0IsU0FBUztRQUNmLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7dUdBeENVLHFCQUFxQjsyRkFBckIscUJBQXFCLGtIQUp0QixFQUFFOzsyRkFJRCxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLFlBQ25CLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTt3SEFnQmxDLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyRmFjdG9yeSB9IGZyb20gJy4vY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjbHVzdGVyIGxheWVyIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LWNsdXN0ZXItbGF5ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDbHVzdGVyTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgbWFuYWdlcjogQ2x1c3RlckxheWVyTWFuYWdlciB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UsIHByaXZhdGUgZmFjdG9yeTogQ2x1c3RlckxheWVyRmFjdG9yeSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzID0gbmV3IENsdXN0ZXJMYXllclNldHRpbmdzKCk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNldHRpbmdzIGZvciB0aGUgY2x1c3RlciBsYXllci5cbiAgICpcbiAgICogQHBhcmFtIHtDbHVzdGVyTGF5ZXJTZXR0aW5ncyB8IHVuZGVmaW5lZH0gdmFsdWUgLSBUaGUgc2V0dGluZ3MgZm9yIHRoZSBjbHVzdGVyIGxheWVyLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG0pID0+IHRoaXMuaW5pdExheWVyKCkpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4gdGhpcy5yZW1vdmVMYXllcigpO1xuXG4gIHByaXZhdGUgaW5pdExheWVyKCkge1xuICAgIHRoaXMucmVtb3ZlTGF5ZXIoKTtcbiAgICB0aGlzLm1hbmFnZXIgPSB0aGlzLmZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MsIHRoaXMucG9zdGJveSk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZExheWVyQ29tbWFuZCh0aGlzLm1hbmFnZXIubGF5ZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubWFuYWdlcj8ubGF5ZXIpIHRoaXMucG9zdGJveS5maXJlKG5ldyBSZW1vdmVMYXllckNvbW1hbmQodGhpcy5tYW5hZ2VyLmxheWVyKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { MapClickEvent, MapRenderedEvent } from '../../../messages';
|
|
2
|
-
import { FitToFeaturesCommand } from '../../../messages/commands/fit-to-features.command';
|
|
3
|
-
import { MapMoveEndEvent } from '../../../messages/events/map-move-end.event';
|
|
4
|
-
import { auditTime } from 'rxjs/operators';
|
|
5
|
-
import { combineLatest } from 'rxjs';
|
|
6
|
-
export class ClusterLayerManager {
|
|
7
|
-
settings;
|
|
8
|
-
layer;
|
|
9
|
-
postboy;
|
|
10
|
-
constructor(settings, layer, postboy) {
|
|
11
|
-
this.settings = settings;
|
|
12
|
-
this.layer = layer;
|
|
13
|
-
this.postboy = postboy;
|
|
14
|
-
this.observeClick();
|
|
15
|
-
this.observeMapMovement();
|
|
16
|
-
}
|
|
17
|
-
observeMapMovement() {
|
|
18
|
-
combineLatest([
|
|
19
|
-
this.postboy.subscribe(MapMoveEndEvent.ID).pipe(auditTime(250)),
|
|
20
|
-
this.postboy.subscribe(MapRenderedEvent.ID),
|
|
21
|
-
]).subscribe(([movement, renderEvent]) => {
|
|
22
|
-
this.checkClusterNecessity(renderEvent.map);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
observeClick() {
|
|
26
|
-
this.postboy.subscribe(MapClickEvent.ID).subscribe((m) => {
|
|
27
|
-
if ((m.features[this.settings.name]?.length ?? 0) > 1) {
|
|
28
|
-
this.postboy.fire(new FitToFeaturesCommand(m.features[this.settings.name], -1));
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
checkClusterNecessity(map) {
|
|
33
|
-
let zoom = map.getView().getZoom() ?? 0;
|
|
34
|
-
const distance = zoom > this.settings.clusterCancel ? 0 : this.settings.distance;
|
|
35
|
-
this.layer?.getSource()?.setDistance(distance);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { MapClickEvent, MapRenderedEvent } from '../../../messages';
|
|
2
|
+
import { FitToFeaturesCommand } from '../../../messages/commands/fit-to-features.command';
|
|
3
|
+
import { MapMoveEndEvent } from '../../../messages/events/map-move-end.event';
|
|
4
|
+
import { auditTime } from 'rxjs/operators';
|
|
5
|
+
import { combineLatest } from 'rxjs';
|
|
6
|
+
export class ClusterLayerManager {
|
|
7
|
+
settings;
|
|
8
|
+
layer;
|
|
9
|
+
postboy;
|
|
10
|
+
constructor(settings, layer, postboy) {
|
|
11
|
+
this.settings = settings;
|
|
12
|
+
this.layer = layer;
|
|
13
|
+
this.postboy = postboy;
|
|
14
|
+
this.observeClick();
|
|
15
|
+
this.observeMapMovement();
|
|
16
|
+
}
|
|
17
|
+
observeMapMovement() {
|
|
18
|
+
combineLatest([
|
|
19
|
+
this.postboy.subscribe(MapMoveEndEvent.ID).pipe(auditTime(250)),
|
|
20
|
+
this.postboy.subscribe(MapRenderedEvent.ID),
|
|
21
|
+
]).subscribe(([movement, renderEvent]) => {
|
|
22
|
+
this.checkClusterNecessity(renderEvent.map);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
observeClick() {
|
|
26
|
+
this.postboy.subscribe(MapClickEvent.ID).subscribe((m) => {
|
|
27
|
+
if ((m.features[this.settings.name]?.length ?? 0) > 1) {
|
|
28
|
+
this.postboy.fire(new FitToFeaturesCommand(m.features[this.settings.name], -1));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
checkClusterNecessity(map) {
|
|
33
|
+
let zoom = map.getView().getZoom() ?? 0;
|
|
34
|
+
const distance = zoom > this.settings.clusterCancel ? 0 : this.settings.distance;
|
|
35
|
+
this.layer?.getSource()?.setDistance(distance);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIubWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JDLE1BQU0sT0FBTyxtQkFBbUI7SUFFcEI7SUFDUTtJQUNSO0lBSFYsWUFDVSxRQUE4QixFQUN0QixLQUFxQixFQUM3QixPQUEwQjtRQUYxQixhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUVsQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBa0IsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztTQUM5RCxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQWdCLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxHQUFRO1FBQ3BDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50LCBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgRml0VG9GZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9maXQtdG8tZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBNb3ZlRW5kRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9ldmVudHMvbWFwLW1vdmUtZW5kLmV2ZW50JztcbmltcG9ydCB7IGF1ZGl0VGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcblxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllck1hbmFnZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNldHRpbmdzOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5ZXI6IExheWVyPENsdXN0ZXI+LFxuICAgIHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMub2JzZXJ2ZUNsaWNrKCk7XG4gICAgdGhpcy5vYnNlcnZlTWFwTW92ZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcE1vdmVtZW50KCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBNb3ZlRW5kRXZlbnQ+KE1hcE1vdmVFbmRFdmVudC5JRCkucGlwZShhdWRpdFRpbWUoMjUwKSksXG4gICAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLFxuICAgIF0pLnN1YnNjcmliZSgoW21vdmVtZW50LCByZW5kZXJFdmVudF0pID0+IHtcbiAgICAgIHRoaXMuY2hlY2tDbHVzdGVyTmVjZXNzaXR5KHJlbmRlckV2ZW50Lm1hcCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDbGljaygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcENsaWNrRXZlbnQ+KE1hcENsaWNrRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgaWYgKChtLmZlYXR1cmVzW3RoaXMuc2V0dGluZ3MubmFtZV0/Lmxlbmd0aCA/PyAwKSA+IDEpIHtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEZpdFRvRmVhdHVyZXNDb21tYW5kKG0uZmVhdHVyZXNbdGhpcy5zZXR0aW5ncy5uYW1lXSwgLTEpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tDbHVzdGVyTmVjZXNzaXR5KG1hcDogTWFwKTogdm9pZCB7XG4gICAgbGV0IHpvb20gPSBtYXAuZ2V0VmlldygpLmdldFpvb20oKSA/PyAwO1xuICAgIGNvbnN0IGRpc3RhbmNlID0gem9vbSA+IHRoaXMuc2V0dGluZ3MuY2x1c3RlckNhbmNlbCA/IDAgOiB0aGlzLnNldHRpbmdzLmRpc3RhbmNlO1xuICAgIHRoaXMubGF5ZXI/LmdldFNvdXJjZSgpPy5zZXREaXN0YW5jZShkaXN0YW5jZSk7XG4gIH1cbn1cbiJdfQ==
|