@artstesh/maps 5.1.7 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +28 -28
- package/dist/esm2022/map/helpers/polygon-style.helper.mjs +32 -32
- package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +58 -58
- package/dist/esm2022/map/helpers/text-style.helper.mjs +13 -13
- 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 +52 -52
- 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 +44 -44
- package/dist/esm2022/map/map-plate/features/index.mjs +2 -2
- package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +42 -42
- package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +42 -42
- 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 +52 -52
- 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 +66 -66
- 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 +91 -91
- 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 +44 -44
- 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 +43 -43
- 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 +28 -28
- package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +32 -32
- package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +58 -58
- package/dist/esm2022/src/map/helpers/text-style.helper.mjs +13 -13
- 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 +52 -52
- 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 +44 -44
- package/dist/esm2022/src/map/map-plate/features/index.mjs +2 -2
- package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +42 -42
- package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +42 -42
- 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 +52 -52
- 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 +66 -66
- 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 +91 -91
- 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 +44 -44
- 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 +43 -43
- package/dist/esm2022/src/map/services/message-registrator.service.mjs +82 -82
- package/dist/fesm2022/maps-components-src-map.mjs +2109 -2109
- package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2022/maps-components.mjs +2111 -2111
- 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 +7 -7
- package/dist/map/helpers/polygon-style.helper.d.ts +5 -5
- package/dist/map/helpers/stringify-feature.helper.d.ts +8 -8
- package/dist/map/helpers/text-style.helper.d.ts +4 -4
- 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 +19 -19
- 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 +14 -14
- package/dist/map/map-plate/features/index.d.ts +2 -2
- package/dist/map/map-plate/features/markers/markers.component.d.ts +16 -16
- package/dist/map/map-plate/features/polygons/polygons.component.d.ts +16 -16
- 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 +21 -21
- 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 +22 -22
- 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 +61 -61
- 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 +14 -14
- 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 +7 -7
- package/dist/src/map/helpers/polygon-style.helper.d.ts +5 -5
- package/dist/src/map/helpers/stringify-feature.helper.d.ts +8 -8
- package/dist/src/map/helpers/text-style.helper.d.ts +4 -4
- 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 +19 -19
- 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 +14 -14
- package/dist/src/map/map-plate/features/index.d.ts +2 -2
- package/dist/src/map/map-plate/features/markers/markers.component.d.ts +16 -16
- package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +16 -16
- 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 +21 -21
- 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 +22 -22
- 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 +61 -61
- 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 +14 -14
- 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,5 +1,5 @@
|
|
|
1
|
-
export class MapConstants {
|
|
2
|
-
static FeatureInfo = 'f-info';
|
|
3
|
-
static DrawingLayerId = '93a981756ec7';
|
|
4
|
-
}
|
|
1
|
+
export class MapConstants {
|
|
2
|
+
static FeatureInfo = 'f-info';
|
|
3
|
+
static DrawingLayerId = '93a981756ec7';
|
|
4
|
+
}
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9tYXAuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE1hcENvbnN0YW50cyB7XG4gIHB1YmxpYyBzdGF0aWMgRmVhdHVyZUluZm8gPSAnZi1pbmZvJztcbiAgcHVibGljIHN0YXRpYyBEcmF3aW5nTGF5ZXJJZCA9ICc5M2E5ODE3NTZlYzcnO1xufVxuIl19
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { IdGenerator } from '../common/id.generator';
|
|
2
|
-
import { Feature } from 'ol';
|
|
3
|
-
import { Point } from 'ol/geom';
|
|
4
|
-
import { MapConstants } from './map.constants';
|
|
5
|
-
export class MarkerModel {
|
|
6
|
-
lat;
|
|
7
|
-
lng;
|
|
8
|
-
info;
|
|
9
|
-
id;
|
|
10
|
-
constructor(lat, lng, id, info) {
|
|
11
|
-
this.lat = lat;
|
|
12
|
-
this.lng = lng;
|
|
13
|
-
this.info = info;
|
|
14
|
-
this.id = id == null ? IdGenerator.get() : id;
|
|
15
|
-
this._feature = this.getFeature();
|
|
16
|
-
}
|
|
17
|
-
_feature;
|
|
18
|
-
get feature() {
|
|
19
|
-
return this._feature;
|
|
20
|
-
}
|
|
21
|
-
getFeature() {
|
|
22
|
-
const feature = new Feature(new Point([this.lng, this.lat]));
|
|
23
|
-
feature.setId(this.id);
|
|
24
|
-
if (this.info)
|
|
25
|
-
feature.set(MapConstants.FeatureInfo, this.info);
|
|
26
|
-
return feature;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
1
|
+
import { IdGenerator } from '../common/id.generator';
|
|
2
|
+
import { Feature } from 'ol';
|
|
3
|
+
import { Point } from 'ol/geom';
|
|
4
|
+
import { MapConstants } from './map.constants';
|
|
5
|
+
export class MarkerModel {
|
|
6
|
+
lat;
|
|
7
|
+
lng;
|
|
8
|
+
info;
|
|
9
|
+
id;
|
|
10
|
+
constructor(lat, lng, id, info) {
|
|
11
|
+
this.lat = lat;
|
|
12
|
+
this.lng = lng;
|
|
13
|
+
this.info = info;
|
|
14
|
+
this.id = id == null ? IdGenerator.get() : id;
|
|
15
|
+
this._feature = this.getFeature();
|
|
16
|
+
}
|
|
17
|
+
_feature;
|
|
18
|
+
get feature() {
|
|
19
|
+
return this._feature;
|
|
20
|
+
}
|
|
21
|
+
getFeature() {
|
|
22
|
+
const feature = new Feature(new Point([this.lng, this.lat]));
|
|
23
|
+
feature.setId(this.id);
|
|
24
|
+
if (this.info)
|
|
25
|
+
feature.set(MapConstants.FeatureInfo, this.info);
|
|
26
|
+
return feature;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
29
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcmtlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sV0FBVztJQUdKO0lBQ0E7SUFFVDtJQUxPLEVBQUUsQ0FBa0I7SUFDcEMsWUFDa0IsR0FBVyxFQUNYLEdBQVcsRUFDM0IsRUFBb0IsRUFDYixJQUVOO1FBTGUsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFFcEIsU0FBSSxHQUFKLElBQUksQ0FFVjtRQUVELElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLFFBQVEsQ0FBb0I7SUFFcEMsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5LCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi9tYXAuY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIE1hcmtlck1vZGVsIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBsYXQ6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXIsXG4gICAgaWQ/OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgcHVibGljIGluZm8/OiB7XG4gICAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgICB9LFxuICApIHtcbiAgICB0aGlzLmlkID0gaWQgPT0gbnVsbCA/IElkR2VuZXJhdG9yLmdldCgpIDogaWQ7XG4gICAgdGhpcy5fZmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT47XG5cbiAgcHVibGljIGdldCBmZWF0dXJlKCk6IEZlYXR1cmU8R2VvbWV0cnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgY29uc3QgZmVhdHVyZSA9IG5ldyBGZWF0dXJlKG5ldyBQb2ludChbdGhpcy5sbmcsIHRoaXMubGF0XSkpO1xuICAgIGZlYXR1cmUuc2V0SWQodGhpcy5pZCk7XG4gICAgaWYgKHRoaXMuaW5mbykgZmVhdHVyZS5zZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvLCB0aGlzLmluZm8pO1xuICAgIHJldHVybiBmZWF0dXJlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { IdGenerator } from '../common/id.generator';
|
|
2
|
-
import { GeoJSON, WKT } from 'ol/format';
|
|
3
|
-
import { getCenter } from 'ol/extent';
|
|
4
|
-
import { MapConstants } from './map.constants';
|
|
5
|
-
export class PolygonModel {
|
|
6
|
-
info;
|
|
7
|
-
id;
|
|
8
|
-
lat;
|
|
9
|
-
lng;
|
|
10
|
-
_feature;
|
|
11
|
-
static fromGeoJson(id, json, info) {
|
|
12
|
-
let feature = new GeoJSON().readFeature(json);
|
|
13
|
-
feature.setId(id);
|
|
14
|
-
return new PolygonModel(feature, id, info);
|
|
15
|
-
}
|
|
16
|
-
static fromWKT(id, wkt, info) {
|
|
17
|
-
let feature = new WKT().readFeature(wkt);
|
|
18
|
-
feature.setId(id);
|
|
19
|
-
return new PolygonModel(feature, id, info);
|
|
20
|
-
}
|
|
21
|
-
constructor(feature, id, info) {
|
|
22
|
-
this.info = info;
|
|
23
|
-
this.id = id == null ? IdGenerator.get() : id;
|
|
24
|
-
this._feature = feature;
|
|
25
|
-
if (this.info)
|
|
26
|
-
this._feature?.set(MapConstants.FeatureInfo, this.info);
|
|
27
|
-
[this.lng, this.lat] = getCenter(this._feature.getGeometry()?.getExtent());
|
|
28
|
-
}
|
|
29
|
-
get feature() {
|
|
30
|
-
return this._feature;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
1
|
+
import { IdGenerator } from '../common/id.generator';
|
|
2
|
+
import { GeoJSON, WKT } from 'ol/format';
|
|
3
|
+
import { getCenter } from 'ol/extent';
|
|
4
|
+
import { MapConstants } from './map.constants';
|
|
5
|
+
export class PolygonModel {
|
|
6
|
+
info;
|
|
7
|
+
id;
|
|
8
|
+
lat;
|
|
9
|
+
lng;
|
|
10
|
+
_feature;
|
|
11
|
+
static fromGeoJson(id, json, info) {
|
|
12
|
+
let feature = new GeoJSON().readFeature(json);
|
|
13
|
+
feature.setId(id);
|
|
14
|
+
return new PolygonModel(feature, id, info);
|
|
15
|
+
}
|
|
16
|
+
static fromWKT(id, wkt, info) {
|
|
17
|
+
let feature = new WKT().readFeature(wkt);
|
|
18
|
+
feature.setId(id);
|
|
19
|
+
return new PolygonModel(feature, id, info);
|
|
20
|
+
}
|
|
21
|
+
constructor(feature, id, info) {
|
|
22
|
+
this.info = info;
|
|
23
|
+
this.id = id == null ? IdGenerator.get() : id;
|
|
24
|
+
this._feature = feature;
|
|
25
|
+
if (this.info)
|
|
26
|
+
this._feature?.set(MapConstants.FeatureInfo, this.info);
|
|
27
|
+
[this.lng, this.lat] = getCenter(this._feature.getGeometry()?.getExtent());
|
|
28
|
+
}
|
|
29
|
+
get feature() {
|
|
30
|
+
return this._feature;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
33
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9wb2x5Z29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sWUFBWTtJQWtCc0Q7SUFqQjdELEVBQUUsQ0FBa0I7SUFDcEIsR0FBRyxDQUFTO0lBQ1osR0FBRyxDQUFTO0lBQ3BCLFFBQVEsQ0FBb0I7SUFFN0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFtQixFQUFFLElBQVksRUFBRSxJQUE0QjtRQUN2RixJQUFJLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFtQixFQUFFLEdBQVcsRUFBRSxJQUE0QjtRQUNsRixJQUFJLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFBb0IsT0FBMEIsRUFBRSxFQUFvQixFQUFTLElBQTRCO1FBQTVCLFNBQUksR0FBSixJQUFJLENBQXdCO1FBQ3ZHLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgZ2V0Q2VudGVyIH0gZnJvbSAnb2wvZXh0ZW50JztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4vbWFwLmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBQb2x5Z29uTW9kZWwge1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IGxhdDogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXI7XG4gIHByaXZhdGUgX2ZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+O1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUdlb0pzb24oaWQ6IHN0cmluZyB8IG51bWJlciwganNvbjogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBHZW9KU09OKCkucmVhZEZlYXR1cmUoanNvbik7XG4gICAgZmVhdHVyZS5zZXRJZChpZCk7XG4gICAgcmV0dXJuIG5ldyBQb2x5Z29uTW9kZWwoZmVhdHVyZSwgaWQsIGluZm8pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tV0tUKGlkOiBzdHJpbmcgfCBudW1iZXIsIHdrdDogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBXS1QoKS5yZWFkRmVhdHVyZSh3a3QpO1xuICAgIGZlYXR1cmUuc2V0SWQoaWQpO1xuICAgIHJldHVybiBuZXcgUG9seWdvbk1vZGVsKGZlYXR1cmUsIGlkLCBpbmZvKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4sIGlkPzogc3RyaW5nIHwgbnVtYmVyLCBwdWJsaWMgaW5mbz86IHsgW2lkOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHRoaXMuaWQgPSBpZCA9PSBudWxsID8gSWRHZW5lcmF0b3IuZ2V0KCkgOiBpZDtcbiAgICB0aGlzLl9mZWF0dXJlID0gZmVhdHVyZTtcbiAgICBpZiAodGhpcy5pbmZvKSB0aGlzLl9mZWF0dXJlPy5zZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvLCB0aGlzLmluZm8pO1xuICAgIFt0aGlzLmxuZywgdGhpcy5sYXRdID0gZ2V0Q2VudGVyKHRoaXMuX2ZlYXR1cmUuZ2V0R2VvbWV0cnkoKT8uZ2V0RXh0ZW50KCkhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of maps
|
|
3
|
-
*/
|
|
4
|
-
export * from './map.module';
|
|
5
|
-
export * from './models/index';
|
|
6
|
-
export * from './map-plate/map-plate.component';
|
|
7
|
-
export * from './services/map-postboy.service';
|
|
8
|
-
export * from './messages/index';
|
|
9
|
-
export * from './map-plate/layers/index';
|
|
10
|
-
export * from './map-plate/features/index';
|
|
11
|
-
export * from './services/map-postboy.service';
|
|
12
|
-
export * from './services/message-registrator.service';
|
|
13
|
-
export * from './helpers/index';
|
|
14
|
-
export * from './map-plate/controls/index';
|
|
15
|
-
export * from './map-plate/tooltips/index';
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of maps
|
|
3
|
+
*/
|
|
4
|
+
export * from './map.module';
|
|
5
|
+
export * from './models/index';
|
|
6
|
+
export * from './map-plate/map-plate.component';
|
|
7
|
+
export * from './services/map-postboy.service';
|
|
8
|
+
export * from './messages/index';
|
|
9
|
+
export * from './map-plate/layers/index';
|
|
10
|
+
export * from './map-plate/features/index';
|
|
11
|
+
export * from './services/map-postboy.service';
|
|
12
|
+
export * from './services/message-registrator.service';
|
|
13
|
+
export * from './helpers/index';
|
|
14
|
+
export * from './map-plate/controls/index';
|
|
15
|
+
export * from './map-plate/tooltips/index';
|
|
16
16
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG1hcHNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21hcC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAtcGxhdGUvbWFwLXBsYXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAtcGxhdGUvZmVhdHVyZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS9jb250cm9scy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS90b29sdGlwcy9pbmRleCc7XG4iXX0=
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AddControlCommand, MapRenderedEvent, RemoveControlCommand } from '../../messages';
|
|
3
|
-
import { first } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../map-postboy.service";
|
|
6
|
-
export class ControlsService {
|
|
7
|
-
postboy;
|
|
8
|
-
map;
|
|
9
|
-
constructor(postboy) {
|
|
10
|
-
this.postboy = postboy;
|
|
11
|
-
}
|
|
12
|
-
up() {
|
|
13
|
-
this.observeMapRender();
|
|
14
|
-
}
|
|
15
|
-
observeMapRender() {
|
|
16
|
-
this.postboy
|
|
17
|
-
.subscribe(MapRenderedEvent.ID)
|
|
18
|
-
.pipe(first())
|
|
19
|
-
.subscribe((m) => {
|
|
20
|
-
this.map = m.map;
|
|
21
|
-
this.observeAdding();
|
|
22
|
-
this.observeRemoving();
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
observeAdding() {
|
|
26
|
-
this.postboy.subscribe(AddControlCommand.ID).subscribe((c) => this.map?.addControl(c.item));
|
|
27
|
-
}
|
|
28
|
-
observeRemoving() {
|
|
29
|
-
this.postboy
|
|
30
|
-
.subscribe(RemoveControlCommand.ID)
|
|
31
|
-
.subscribe((c) => this.map?.removeControl(c.item));
|
|
32
|
-
}
|
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
-
type: Injectable
|
|
38
|
-
}], ctorParameters:
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { AddControlCommand, MapRenderedEvent, RemoveControlCommand } from '../../messages';
|
|
3
|
+
import { first } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../map-postboy.service";
|
|
6
|
+
export class ControlsService {
|
|
7
|
+
postboy;
|
|
8
|
+
map;
|
|
9
|
+
constructor(postboy) {
|
|
10
|
+
this.postboy = postboy;
|
|
11
|
+
}
|
|
12
|
+
up() {
|
|
13
|
+
this.observeMapRender();
|
|
14
|
+
}
|
|
15
|
+
observeMapRender() {
|
|
16
|
+
this.postboy
|
|
17
|
+
.subscribe(MapRenderedEvent.ID)
|
|
18
|
+
.pipe(first())
|
|
19
|
+
.subscribe((m) => {
|
|
20
|
+
this.map = m.map;
|
|
21
|
+
this.observeAdding();
|
|
22
|
+
this.observeRemoving();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
observeAdding() {
|
|
26
|
+
this.postboy.subscribe(AddControlCommand.ID).subscribe((c) => this.map?.addControl(c.item));
|
|
27
|
+
}
|
|
28
|
+
observeRemoving() {
|
|
29
|
+
this.postboy
|
|
30
|
+
.subscribe(RemoveControlCommand.ID)
|
|
31
|
+
.subscribe((c) => this.map?.removeControl(c.item));
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ControlsService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ControlsService });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ControlsService, decorators: [{
|
|
37
|
+
type: Injectable
|
|
38
|
+
}], ctorParameters: () => [{ type: i1.MapPostboyService }] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd2QyxNQUFNLE9BQU8sZUFBZTtJQUdOO0lBRlosR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTzthQUNULFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2FBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBb0IsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsT0FBTzthQUNULFNBQVMsQ0FBdUIsb0JBQW9CLENBQUMsRUFBRSxDQUFDO2FBQ3hELFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQzt1R0E1QlUsZUFBZTsyR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZENvbnRyb2xDb21tYW5kLCBNYXBSZW5kZXJlZEV2ZW50LCBSZW1vdmVDb250cm9sQ29tbWFuZCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29udHJvbHNTZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgICAgIHRoaXMub2JzZXJ2ZUFkZGluZygpO1xuICAgICAgICB0aGlzLm9ic2VydmVSZW1vdmluZygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVBZGRpbmcoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxBZGRDb250cm9sQ29tbWFuZD4oQWRkQ29udHJvbENvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4gdGhpcy5tYXA/LmFkZENvbnRyb2woYy5pdGVtKSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVSZW1vdmluZygpIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8UmVtb3ZlQ29udHJvbENvbW1hbmQ+KFJlbW92ZUNvbnRyb2xDb21tYW5kLklEKVxuICAgICAgLnN1YnNjcmliZSgoYykgPT4gdGhpcy5tYXA/LnJlbW92ZUNvbnRyb2woYy5pdGVtKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { Draw } from 'ol/interaction';
|
|
2
|
-
import { DrawingType } from '../../models';
|
|
3
|
-
import { createBox, createRegularPolygon } from 'ol/interaction/Draw';
|
|
4
|
-
export class DrawingGenerationService {
|
|
5
|
-
static getDraw(ev) {
|
|
6
|
-
return new Draw({
|
|
7
|
-
source: ev.layer.getSource(),
|
|
8
|
-
type: ev.type === DrawingType.Polygon ? 'Polygon' : 'Circle',
|
|
9
|
-
style: ev.style,
|
|
10
|
-
geometryFunction: DrawingGenerationService.geometryFunc(ev.type),
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
static geometryFunc(type) {
|
|
14
|
-
switch (type) {
|
|
15
|
-
case DrawingType.Circle:
|
|
16
|
-
return createRegularPolygon(32);
|
|
17
|
-
case DrawingType.Box:
|
|
18
|
-
return createBox();
|
|
19
|
-
case DrawingType.Square:
|
|
20
|
-
return createRegularPolygon(4);
|
|
21
|
-
}
|
|
22
|
-
return undefined;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Draw } from 'ol/interaction';
|
|
2
|
+
import { DrawingType } from '../../models';
|
|
3
|
+
import { createBox, createRegularPolygon } from 'ol/interaction/Draw';
|
|
4
|
+
export class DrawingGenerationService {
|
|
5
|
+
static getDraw(ev) {
|
|
6
|
+
return new Draw({
|
|
7
|
+
source: ev.layer.getSource(),
|
|
8
|
+
type: ev.type === DrawingType.Polygon ? 'Polygon' : 'Circle',
|
|
9
|
+
style: ev.style,
|
|
10
|
+
geometryFunction: DrawingGenerationService.geometryFunc(ev.type),
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
static geometryFunc(type) {
|
|
14
|
+
switch (type) {
|
|
15
|
+
case DrawingType.Circle:
|
|
16
|
+
return createRegularPolygon(32);
|
|
17
|
+
case DrawingType.Box:
|
|
18
|
+
return createBox();
|
|
19
|
+
case DrawingType.Square:
|
|
20
|
+
return createRegularPolygon(4);
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFHeEYsTUFBTSxPQUFPLHdCQUF3QjtJQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQXdCO1FBQzVDLE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxNQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUc7WUFDN0IsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQzVELEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSztZQUNmLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1NBQ2pFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQWlCO1FBQzNDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLFdBQVcsQ0FBQyxNQUFNO2dCQUNyQixPQUFPLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLEtBQUssV0FBVyxDQUFDLEdBQUc7Z0JBQ2xCLE9BQU8sU0FBUyxFQUFFLENBQUM7WUFDckIsS0FBSyxXQUFXLENBQUMsTUFBTTtnQkFDckIsT0FBTyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhdyB9IGZyb20gJ29sL2ludGVyYWN0aW9uJztcbmltcG9ydCB7IERyYXdpbmdUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGNyZWF0ZUJveCwgY3JlYXRlUmVndWxhclBvbHlnb24sIEdlb21ldHJ5RnVuY3Rpb24gfSBmcm9tICdvbC9pbnRlcmFjdGlvbi9EcmF3JztcbmltcG9ydCB7IEdlbmVyYXRlRHJhd0V4ZWN1dG9yIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLWRyYXcuZXhlY3V0b3InO1xuXG5leHBvcnQgY2xhc3MgRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlIHtcbiAgcHVibGljIHN0YXRpYyBnZXREcmF3KGV2OiBHZW5lcmF0ZURyYXdFeGVjdXRvcikge1xuICAgIHJldHVybiBuZXcgRHJhdyh7XG4gICAgICBzb3VyY2U6IGV2LmxheWVyLmdldFNvdXJjZSgpISxcbiAgICAgIHR5cGU6IGV2LnR5cGUgPT09IERyYXdpbmdUeXBlLlBvbHlnb24gPyAnUG9seWdvbicgOiAnQ2lyY2xlJyxcbiAgICAgIHN0eWxlOiBldi5zdHlsZSxcbiAgICAgIGdlb21ldHJ5RnVuY3Rpb246IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZS5nZW9tZXRyeUZ1bmMoZXYudHlwZSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZW9tZXRyeUZ1bmModHlwZTogRHJhd2luZ1R5cGUpOiBHZW9tZXRyeUZ1bmN0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgRHJhd2luZ1R5cGUuQ2lyY2xlOlxuICAgICAgICByZXR1cm4gY3JlYXRlUmVndWxhclBvbHlnb24oMzIpO1xuICAgICAgY2FzZSBEcmF3aW5nVHlwZS5Cb3g6XG4gICAgICAgIHJldHVybiBjcmVhdGVCb3goKTtcbiAgICAgIGNhc2UgRHJhd2luZ1R5cGUuU3F1YXJlOlxuICAgICAgICByZXR1cm4gY3JlYXRlUmVndWxhclBvbHlnb24oNCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { StartDrawingCommand } from '../../messages/commands/start-drawing.command';
|
|
3
|
-
import { CancelDrawingCommand } from '../../messages/commands/cancel-drawing.command';
|
|
4
|
-
import { first } from 'rxjs/operators';
|
|
5
|
-
import { DrawingFinishedEvent } from '../../messages/events/drawing-finished.event';
|
|
6
|
-
import { MapRenderedEvent } from '../../messages';
|
|
7
|
-
import { GetLayerQuery } from '../../messages/queries/get-layer.query';
|
|
8
|
-
import { MapConstants } from '../../models/map.constants';
|
|
9
|
-
import { Vector as Source } from 'ol/source';
|
|
10
|
-
import { FeatureOutputFormat, PolygonModel } from '../../models';
|
|
11
|
-
import { GeoJSON, WKT } from 'ol/format';
|
|
12
|
-
import { DrawSelectionAreaCommand } from '../../messages/commands/draw-selection-area.command';
|
|
13
|
-
import { GetFeaturesInAreaQuery } from '../../messages/queries/get-features-in-area.query';
|
|
14
|
-
import { GenerateDrawExecutor } from '../../messages/executors/generate-draw.executor';
|
|
15
|
-
import { Dictionary } from '@artstesh/collections';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "../map-postboy.service";
|
|
18
|
-
export class DrawingService {
|
|
19
|
-
postboy;
|
|
20
|
-
drawInteraction;
|
|
21
|
-
map;
|
|
22
|
-
constructor(postboy) {
|
|
23
|
-
this.postboy = postboy;
|
|
24
|
-
}
|
|
25
|
-
up() {
|
|
26
|
-
this.observeDrawing();
|
|
27
|
-
this.observeSelectArea();
|
|
28
|
-
this.observeMapRender();
|
|
29
|
-
}
|
|
30
|
-
observeSelectArea() {
|
|
31
|
-
this.postboy.subscribe(DrawSelectionAreaCommand.ID).subscribe((ev) => {
|
|
32
|
-
const drawingCommand = new StartDrawingCommand(ev.type, ev.style);
|
|
33
|
-
drawingCommand.result.subscribe((r) => {
|
|
34
|
-
if (!r) {
|
|
35
|
-
ev.finish(new Dictionary());
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
const area = PolygonModel.fromGeoJson(1, r).feature.getGeometry();
|
|
39
|
-
const getFeaturesCommand = new GetFeaturesInAreaQuery(area, ev.ignore);
|
|
40
|
-
getFeaturesCommand.result.subscribe((result) => ev.finish(result));
|
|
41
|
-
this.postboy.fire(getFeaturesCommand);
|
|
42
|
-
});
|
|
43
|
-
this.postboy.fire(drawingCommand);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
observeDrawing() {
|
|
47
|
-
this.postboy.subscribe(StartDrawingCommand.ID).subscribe((ev) => {
|
|
48
|
-
this.draw((l) => {
|
|
49
|
-
if (!l || !this.map) {
|
|
50
|
-
this.clearInteraction(l);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const cancelSub = this.observeCancelation(ev, l);
|
|
54
|
-
this.drawInteraction = this.postboy.execute(new GenerateDrawExecutor(l, ev.style, ev.type));
|
|
55
|
-
this.map?.addInteraction(this.drawInteraction);
|
|
56
|
-
this.drawInteraction.on('drawend', (evt) => {
|
|
57
|
-
cancelSub.unsubscribe();
|
|
58
|
-
this.onEnd(evt, ev, l);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
onEnd(evt, command, layer) {
|
|
64
|
-
command.finish(command.format === FeatureOutputFormat.GeoJson
|
|
65
|
-
? new GeoJSON().writeFeature(evt.feature)
|
|
66
|
-
: new WKT().writeFeature(evt.feature));
|
|
67
|
-
this.clearInteraction(layer);
|
|
68
|
-
}
|
|
69
|
-
observeMapRender() {
|
|
70
|
-
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
71
|
-
this.map = m.map;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
draw(action) {
|
|
75
|
-
const query = new GetLayerQuery(MapConstants.DrawingLayerId);
|
|
76
|
-
query.result.subscribe((l) => action(l));
|
|
77
|
-
this.postboy.fire(query);
|
|
78
|
-
}
|
|
79
|
-
observeCancelation(ev, layer) {
|
|
80
|
-
return this.postboy
|
|
81
|
-
.subscribe(CancelDrawingCommand.ID)
|
|
82
|
-
.pipe(first())
|
|
83
|
-
.subscribe(() => {
|
|
84
|
-
ev.finish(null);
|
|
85
|
-
this.clearInteraction(layer);
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
clearInteraction(layer) {
|
|
89
|
-
if (!!this.drawInteraction) {
|
|
90
|
-
this.map?.removeInteraction(this.drawInteraction);
|
|
91
|
-
layer?.setSource(new Source({}));
|
|
92
|
-
}
|
|
93
|
-
setTimeout(() => this.postboy.fire(new DrawingFinishedEvent()), 300);
|
|
94
|
-
}
|
|
95
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
96
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
97
|
-
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
99
|
-
type: Injectable
|
|
100
|
-
}], ctorParameters:
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSWpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR25ELE1BQU0sT0FBTyxjQUFjO0lBSUw7SUFIWixlQUFlLENB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QUNQLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFxQztRQUM1RCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzFCLElBQUksQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xELEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNsQztRQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLG9CQUFvQixFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2RSxDQUFDO3dHQXBGVSxjQUFjOzRHQUFkLGNBQWM7OzRGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhcnREcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL3N0YXJ0LWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBDYW5jZWxEcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NhbmNlbC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEcmF3aW5nRmluaXNoZWRFdmVudCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL2V2ZW50cy9kcmF3aW5nLWZpbmlzaGVkLmV2ZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEdldExheWVyUXVlcnkgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1sYXllci5xdWVyeSc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgVmVjdG9yIGFzIFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBEcmF3IH0gZnJvbSAnb2wvaW50ZXJhY3Rpb24nO1xuaW1wb3J0IHsgRmVhdHVyZU91dHB1dEZvcm1hdCwgUG9seWdvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IERyYXdFdmVudCB9IGZyb20gJ29sL2ludGVyYWN0aW9uL0RyYXcnO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IEdlb0pTT04sIFdLVCB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBEcmF3U2VsZWN0aW9uQXJlYUNvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9kcmF3LXNlbGVjdGlvbi1hcmVhLmNvbW1hbmQnO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvaS1pZGVudGlmaWVkJztcbmltcG9ydCB7IEdlbmVyYXRlRHJhd0V4ZWN1dG9yIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLWRyYXcuZXhlY3V0b3InO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ0BhcnRzdGVzaC9jb2xsZWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmF3aW5nU2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgZHJhd0ludGVyYWN0aW9uPzogRHJhdztcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVEcmF3aW5nKCk7XG4gICAgdGhpcy5vYnNlcnZlU2VsZWN0QXJlYSgpO1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlU2VsZWN0QXJlYSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZD4oRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kLklEKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICBjb25zdCBkcmF3aW5nQ29tbWFuZCA9IG5ldyBTdGFydERyYXdpbmdDb21tYW5kKGV2LnR5cGUsIGV2LnN0eWxlKTtcbiAgICAgIGRyYXdpbmdDb21tYW5kLnJlc3VsdC5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgaWYgKCFyKSB7XG4gICAgICAgICAgZXYuZmluaXNoKG5ldyBEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+KCkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhcmVhID0gUG9seWdvbk1vZGVsLmZyb21HZW9Kc29uKDEsIHIpLmZlYXR1cmUuZ2V0R2VvbWV0cnkoKSE7XG4gICAgICAgIGNvbnN0IGdldEZlYXR1cmVzQ29tbWFuZCA9IG5ldyBHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5KGFyZWEsIGV2Lmlnbm9yZSk7XG4gICAgICAgIGdldEZlYXR1cmVzQ29tbWFuZC5yZXN1bHQuc3Vic2NyaWJlKChyZXN1bHQpID0+IGV2LmZpbmlzaChyZXN1bHQpKTtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZ2V0RmVhdHVyZXNDb21tYW5kKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZHJhd2luZ0NvbW1hbmQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRHJhd2luZygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFN0YXJ0RHJhd2luZ0NvbW1hbmQ+KFN0YXJ0RHJhd2luZ0NvbW1hbmQuSUQpLnN1YnNjcmliZSgoZXYpID0+IHtcbiAgICAgIHRoaXMuZHJhdygobCkgPT4ge1xuICAgICAgICBpZiAoIWwgfHwgIXRoaXMubWFwKSB7XG4gICAgICAgICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYW5jZWxTdWIgPSB0aGlzLm9ic2VydmVDYW5jZWxhdGlvbihldiwgbCk7XG4gICAgICAgIHRoaXMuZHJhd0ludGVyYWN0aW9uID0gdGhpcy5wb3N0Ym95LmV4ZWN1dGUobmV3IEdlbmVyYXRlRHJhd0V4ZWN1dG9yKGwsIGV2LnN0eWxlLCBldi50eXBlKSkhO1xuICAgICAgICB0aGlzLm1hcD8uYWRkSW50ZXJhY3Rpb24odGhpcy5kcmF3SW50ZXJhY3Rpb24pO1xuICAgICAgICB0aGlzLmRyYXdJbnRlcmFjdGlvbi5vbignZHJhd2VuZCcsIChldnQ6IERyYXdFdmVudCkgPT4ge1xuICAgICAgICAgIGNhbmNlbFN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHRoaXMub25FbmQoZXZ0LCBldiwgbCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uRW5kKGV2dDogRHJhd0V2ZW50LCBjb21tYW5kOiBTdGFydERyYXdpbmdDb21tYW5kLCBsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPEdlb21ldHJ5Pj4pOiB2b2lkIHtcbiAgICBjb21tYW5kLmZpbmlzaChcbiAgICAgIGNvbW1hbmQuZm9ybWF0ID09PSBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb25cbiAgICAgICAgPyBuZXcgR2VvSlNPTigpLndyaXRlRmVhdHVyZShldnQuZmVhdHVyZSlcbiAgICAgICAgOiBuZXcgV0tUKCkud3JpdGVGZWF0dXJlKGV2dC5mZWF0dXJlKSxcbiAgICApO1xuICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsYXllcik7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNYXBSZW5kZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRyYXcoYWN0aW9uOiAobGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBjb25zdCBxdWVyeSA9IG5ldyBHZXRMYXllclF1ZXJ5KE1hcENvbnN0YW50cy5EcmF3aW5nTGF5ZXJJZCk7XG4gICAgcXVlcnkucmVzdWx0LnN1YnNjcmliZSgobCkgPT4gYWN0aW9uKGwpKTtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShxdWVyeSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDYW5jZWxhdGlvbihldjogU3RhcnREcmF3aW5nQ29tbWFuZCwgbGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiB8IG51bGwpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8Q2FuY2VsRHJhd2luZ0NvbW1hbmQ+KENhbmNlbERyYXdpbmdDb21tYW5kLklEKVxuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBldi5maW5pc2gobnVsbCk7XG4gICAgICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsYXllcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJJbnRlcmFjdGlvbihsYXllcjogTGF5ZXI8U291cmNlPEdlb21ldHJ5Pj4gfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCEhdGhpcy5kcmF3SW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMubWFwPy5yZW1vdmVJbnRlcmFjdGlvbih0aGlzLmRyYXdJbnRlcmFjdGlvbik7XG4gICAgICBsYXllcj8uc2V0U291cmNlKG5ldyBTb3VyY2Uoe30pKTtcbiAgICB9XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnBvc3Rib3kuZmlyZShuZXcgRHJhd2luZ0ZpbmlzaGVkRXZlbnQoKSksIDMwMCk7XG4gIH1cbn1cbiJdfQ==
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { StartDrawingCommand } from '../../messages/commands/start-drawing.command';
|
|
3
|
+
import { CancelDrawingCommand } from '../../messages/commands/cancel-drawing.command';
|
|
4
|
+
import { first } from 'rxjs/operators';
|
|
5
|
+
import { DrawingFinishedEvent } from '../../messages/events/drawing-finished.event';
|
|
6
|
+
import { MapRenderedEvent } from '../../messages';
|
|
7
|
+
import { GetLayerQuery } from '../../messages/queries/get-layer.query';
|
|
8
|
+
import { MapConstants } from '../../models/map.constants';
|
|
9
|
+
import { Vector as Source } from 'ol/source';
|
|
10
|
+
import { FeatureOutputFormat, PolygonModel } from '../../models';
|
|
11
|
+
import { GeoJSON, WKT } from 'ol/format';
|
|
12
|
+
import { DrawSelectionAreaCommand } from '../../messages/commands/draw-selection-area.command';
|
|
13
|
+
import { GetFeaturesInAreaQuery } from '../../messages/queries/get-features-in-area.query';
|
|
14
|
+
import { GenerateDrawExecutor } from '../../messages/executors/generate-draw.executor';
|
|
15
|
+
import { Dictionary } from '@artstesh/collections';
|
|
16
|
+
import * as i0 from "@angular/core";
|
|
17
|
+
import * as i1 from "../map-postboy.service";
|
|
18
|
+
export class DrawingService {
|
|
19
|
+
postboy;
|
|
20
|
+
drawInteraction;
|
|
21
|
+
map;
|
|
22
|
+
constructor(postboy) {
|
|
23
|
+
this.postboy = postboy;
|
|
24
|
+
}
|
|
25
|
+
up() {
|
|
26
|
+
this.observeDrawing();
|
|
27
|
+
this.observeSelectArea();
|
|
28
|
+
this.observeMapRender();
|
|
29
|
+
}
|
|
30
|
+
observeSelectArea() {
|
|
31
|
+
this.postboy.subscribe(DrawSelectionAreaCommand.ID).subscribe((ev) => {
|
|
32
|
+
const drawingCommand = new StartDrawingCommand(ev.type, ev.style);
|
|
33
|
+
drawingCommand.result.subscribe((r) => {
|
|
34
|
+
if (!r) {
|
|
35
|
+
ev.finish(new Dictionary());
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const area = PolygonModel.fromGeoJson(1, r).feature.getGeometry();
|
|
39
|
+
const getFeaturesCommand = new GetFeaturesInAreaQuery(area, ev.ignore);
|
|
40
|
+
getFeaturesCommand.result.subscribe((result) => ev.finish(result));
|
|
41
|
+
this.postboy.fire(getFeaturesCommand);
|
|
42
|
+
});
|
|
43
|
+
this.postboy.fire(drawingCommand);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
observeDrawing() {
|
|
47
|
+
this.postboy.subscribe(StartDrawingCommand.ID).subscribe((ev) => {
|
|
48
|
+
this.draw((l) => {
|
|
49
|
+
if (!l || !this.map) {
|
|
50
|
+
this.clearInteraction(l);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const cancelSub = this.observeCancelation(ev, l);
|
|
54
|
+
this.drawInteraction = this.postboy.execute(new GenerateDrawExecutor(l, ev.style, ev.type));
|
|
55
|
+
this.map?.addInteraction(this.drawInteraction);
|
|
56
|
+
this.drawInteraction.on('drawend', (evt) => {
|
|
57
|
+
cancelSub.unsubscribe();
|
|
58
|
+
this.onEnd(evt, ev, l);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
onEnd(evt, command, layer) {
|
|
64
|
+
command.finish(command.format === FeatureOutputFormat.GeoJson
|
|
65
|
+
? new GeoJSON().writeFeature(evt.feature)
|
|
66
|
+
: new WKT().writeFeature(evt.feature));
|
|
67
|
+
this.clearInteraction(layer);
|
|
68
|
+
}
|
|
69
|
+
observeMapRender() {
|
|
70
|
+
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
71
|
+
this.map = m.map;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
draw(action) {
|
|
75
|
+
const query = new GetLayerQuery(MapConstants.DrawingLayerId);
|
|
76
|
+
query.result.subscribe((l) => action(l));
|
|
77
|
+
this.postboy.fire(query);
|
|
78
|
+
}
|
|
79
|
+
observeCancelation(ev, layer) {
|
|
80
|
+
return this.postboy
|
|
81
|
+
.subscribe(CancelDrawingCommand.ID)
|
|
82
|
+
.pipe(first())
|
|
83
|
+
.subscribe(() => {
|
|
84
|
+
ev.finish(null);
|
|
85
|
+
this.clearInteraction(layer);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
clearInteraction(layer) {
|
|
89
|
+
if (!!this.drawInteraction) {
|
|
90
|
+
this.map?.removeInteraction(this.drawInteraction);
|
|
91
|
+
layer?.setSource(new Source({}));
|
|
92
|
+
}
|
|
93
|
+
setTimeout(() => this.postboy.fire(new DrawingFinishedEvent()), 300);
|
|
94
|
+
}
|
|
95
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DrawingService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
96
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DrawingService });
|
|
97
|
+
}
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DrawingService, decorators: [{
|
|
99
|
+
type: Injectable
|
|
100
|
+
}], ctorParameters: () => [{ type: i1.MapPostboyService }] });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSWpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR25ELE1BQU0sT0FBTyxjQUFjO0lBSUw7SUFIWixlQUFlLENB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Qy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQXFDO1FBQzVELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNsRCxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLG9CQUFvQixFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2RSxDQUFDO3VHQXBGVSxjQUFjOzJHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhcnREcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL3N0YXJ0LWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBDYW5jZWxEcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NhbmNlbC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEcmF3aW5nRmluaXNoZWRFdmVudCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL2V2ZW50cy9kcmF3aW5nLWZpbmlzaGVkLmV2ZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEdldExheWVyUXVlcnkgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1sYXllci5xdWVyeSc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgVmVjdG9yIGFzIFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBEcmF3IH0gZnJvbSAnb2wvaW50ZXJhY3Rpb24nO1xuaW1wb3J0IHsgRmVhdHVyZU91dHB1dEZvcm1hdCwgUG9seWdvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IERyYXdFdmVudCB9IGZyb20gJ29sL2ludGVyYWN0aW9uL0RyYXcnO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IEdlb0pTT04sIFdLVCB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBEcmF3U2VsZWN0aW9uQXJlYUNvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9kcmF3LXNlbGVjdGlvbi1hcmVhLmNvbW1hbmQnO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvaS1pZGVudGlmaWVkJztcbmltcG9ydCB7IEdlbmVyYXRlRHJhd0V4ZWN1dG9yIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLWRyYXcuZXhlY3V0b3InO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ0BhcnRzdGVzaC9jb2xsZWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmF3aW5nU2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgZHJhd0ludGVyYWN0aW9uPzogRHJhdztcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVEcmF3aW5nKCk7XG4gICAgdGhpcy5vYnNlcnZlU2VsZWN0QXJlYSgpO1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlU2VsZWN0QXJlYSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZD4oRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kLklEKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICBjb25zdCBkcmF3aW5nQ29tbWFuZCA9IG5ldyBTdGFydERyYXdpbmdDb21tYW5kKGV2LnR5cGUsIGV2LnN0eWxlKTtcbiAgICAgIGRyYXdpbmdDb21tYW5kLnJlc3VsdC5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgaWYgKCFyKSB7XG4gICAgICAgICAgZXYuZmluaXNoKG5ldyBEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+KCkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhcmVhID0gUG9seWdvbk1vZGVsLmZyb21HZW9Kc29uKDEsIHIpLmZlYXR1cmUuZ2V0R2VvbWV0cnkoKSE7XG4gICAgICAgIGNvbnN0IGdldEZlYXR1cmVzQ29tbWFuZCA9IG5ldyBHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5KGFyZWEsIGV2Lmlnbm9yZSk7XG4gICAgICAgIGdldEZlYXR1cmVzQ29tbWFuZC5yZXN1bHQuc3Vic2NyaWJlKChyZXN1bHQpID0+IGV2LmZpbmlzaChyZXN1bHQpKTtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZ2V0RmVhdHVyZXNDb21tYW5kKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUoZHJhd2luZ0NvbW1hbmQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRHJhd2luZygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFN0YXJ0RHJhd2luZ0NvbW1hbmQ+KFN0YXJ0RHJhd2luZ0NvbW1hbmQuSUQpLnN1YnNjcmliZSgoZXYpID0+IHtcbiAgICAgIHRoaXMuZHJhdygobCkgPT4ge1xuICAgICAgICBpZiAoIWwgfHwgIXRoaXMubWFwKSB7XG4gICAgICAgICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYW5jZWxTdWIgPSB0aGlzLm9ic2VydmVDYW5jZWxhdGlvbihldiwgbCk7XG4gICAgICAgIHRoaXMuZHJhd0ludGVyYWN0aW9uID0gdGhpcy5wb3N0Ym95LmV4ZWN1dGUobmV3IEdlbmVyYXRlRHJhd0V4ZWN1dG9yKGwsIGV2LnN0eWxlLCBldi50eXBlKSkhO1xuICAgICAgICB0aGlzLm1hcD8uYWRkSW50ZXJhY3Rpb24odGhpcy5kcmF3SW50ZXJhY3Rpb24pO1xuICAgICAgICB0aGlzLmRyYXdJbnRlcmFjdGlvbi5vbignZHJhd2VuZCcsIChldnQ6IERyYXdFdmVudCkgPT4ge1xuICAgICAgICAgIGNhbmNlbFN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHRoaXMub25FbmQoZXZ0LCBldiwgbCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uRW5kKGV2dDogRHJhd0V2ZW50LCBjb21tYW5kOiBTdGFydERyYXdpbmdDb21tYW5kLCBsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPEdlb21ldHJ5Pj4pOiB2b2lkIHtcbiAgICBjb21tYW5kLmZpbmlzaChcbiAgICAgIGNvbW1hbmQuZm9ybWF0ID09PSBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb25cbiAgICAgICAgPyBuZXcgR2VvSlNPTigpLndyaXRlRmVhdHVyZShldnQuZmVhdHVyZSlcbiAgICAgICAgOiBuZXcgV0tUKCkud3JpdGVGZWF0dXJlKGV2dC5mZWF0dXJlKSxcbiAgICApO1xuICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsYXllcik7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNYXBSZW5kZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRyYXcoYWN0aW9uOiAobGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBjb25zdCBxdWVyeSA9IG5ldyBHZXRMYXllclF1ZXJ5KE1hcENvbnN0YW50cy5EcmF3aW5nTGF5ZXJJZCk7XG4gICAgcXVlcnkucmVzdWx0LnN1YnNjcmliZSgobCkgPT4gYWN0aW9uKGwpKTtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShxdWVyeSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDYW5jZWxhdGlvbihldjogU3RhcnREcmF3aW5nQ29tbWFuZCwgbGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiB8IG51bGwpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8Q2FuY2VsRHJhd2luZ0NvbW1hbmQ+KENhbmNlbERyYXdpbmdDb21tYW5kLklEKVxuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBldi5maW5pc2gobnVsbCk7XG4gICAgICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsYXllcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJJbnRlcmFjdGlvbihsYXllcjogTGF5ZXI8U291cmNlPEdlb21ldHJ5Pj4gfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCEhdGhpcy5kcmF3SW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMubWFwPy5yZW1vdmVJbnRlcmFjdGlvbih0aGlzLmRyYXdJbnRlcmFjdGlvbik7XG4gICAgICBsYXllcj8uc2V0U291cmNlKG5ldyBTb3VyY2Uoe30pKTtcbiAgICB9XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnBvc3Rib3kuZmlyZShuZXcgRHJhd2luZ0ZpbmlzaGVkRXZlbnQoKSksIDMwMCk7XG4gIH1cbn1cbiJdfQ==
|