@artstesh/maps 7.2.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fesm2022/maps-components-src-map.mjs +83 -83
- package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2022/maps-components.mjs +83 -83
- package/dist/fesm2022/maps-components.mjs.map +1 -1
- package/dist/map/common/destructible.component.d.ts +1 -1
- package/dist/src/map/common/destructible.component.d.ts +1 -1
- package/package.json +21 -21
- package/dist/esm2022/map/common/destructible.component.mjs +0 -18
- package/dist/esm2022/map/common/id.generator.mjs +0 -14
- package/dist/esm2022/map/helpers/index.mjs +0 -5
- package/dist/esm2022/map/helpers/marker-style.helper.mjs +0 -55
- package/dist/esm2022/map/helpers/polygon-style.helper.mjs +0 -54
- package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +0 -61
- package/dist/esm2022/map/helpers/text-style.helper.mjs +0 -33
- package/dist/esm2022/map/map-plate/controls/index.mjs +0 -3
- package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
- package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
- package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
- package/dist/esm2022/map/map-plate/features/index.mjs +0 -3
- package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +0 -52
- package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +0 -56
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
- package/dist/esm2022/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
- package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
- package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
- package/dist/esm2022/map/map-plate/layers/index.mjs +0 -12
- package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
- package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
- package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
- package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
- package/dist/esm2022/map/map-plate/map-plate.component.mjs +0 -120
- package/dist/esm2022/map/map-plate/map-plate.factory.service.mjs +0 -29
- package/dist/esm2022/map/map-plate/tooltips/index.mjs +0 -3
- package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -82
- package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
- package/dist/esm2022/map/messages/commands/add-control.command.mjs +0 -18
- package/dist/esm2022/map/messages/commands/add-image-layer.command.mjs +0 -10
- package/dist/esm2022/map/messages/commands/add-layer.command.mjs +0 -10
- package/dist/esm2022/map/messages/commands/add-raster-tile-command.mjs +0 -10
- package/dist/esm2022/map/messages/commands/add-tile.command.mjs +0 -10
- package/dist/esm2022/map/messages/commands/cancel-drawing.command.mjs +0 -8
- package/dist/esm2022/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
- package/dist/esm2022/map/messages/commands/close-tooltip.command.mjs +0 -18
- package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +0 -26
- package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +0 -12
- package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +0 -22
- package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +0 -31
- package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +0 -12
- package/dist/esm2022/map/messages/commands/remove-control.command.mjs +0 -23
- package/dist/esm2022/map/messages/commands/remove-image-layer.command.mjs +0 -10
- package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +0 -10
- package/dist/esm2022/map/messages/commands/remove-raster-tile.command.mjs +0 -10
- package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +0 -10
- package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +0 -23
- package/dist/esm2022/map/messages/commands/start-drawing.command.mjs +0 -25
- package/dist/esm2022/map/messages/events/drawing-finished.event.mjs +0 -5
- package/dist/esm2022/map/messages/events/map-click.event.mjs +0 -27
- package/dist/esm2022/map/messages/events/map-feature-hovered.event.mjs +0 -23
- package/dist/esm2022/map/messages/events/map-move-end.event.mjs +0 -16
- package/dist/esm2022/map/messages/events/map-pointer-move.event.mjs +0 -21
- package/dist/esm2022/map/messages/events/map-rendered.event.mjs +0 -18
- package/dist/esm2022/map/messages/executors/calculate-area.executor.mjs +0 -17
- package/dist/esm2022/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
- package/dist/esm2022/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
- package/dist/esm2022/map/messages/executors/generate-draw.executor.mjs +0 -14
- package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
- package/dist/esm2022/map/messages/executors/get-geometry-length.executor.mjs +0 -18
- package/dist/esm2022/map/messages/executors/get-map-position.executor.mjs +0 -13
- package/dist/esm2022/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
- package/dist/esm2022/map/messages/index.mjs +0 -25
- package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +0 -22
- package/dist/esm2022/map/messages/queries/get-features-in-point.query.mjs +0 -25
- package/dist/esm2022/map/messages/queries/get-layer.query.mjs +0 -10
- package/dist/esm2022/map/models/drawing-type.enum.mjs +0 -22
- package/dist/esm2022/map/models/feature-format.enum.mjs +0 -15
- package/dist/esm2022/map/models/i-identified.mjs +0 -2
- package/dist/esm2022/map/models/index.mjs +0 -10
- package/dist/esm2022/map/models/map-control.mjs +0 -15
- package/dist/esm2022/map/models/map-lyrs.enum.mjs +0 -19
- package/dist/esm2022/map/models/map-position.model.mjs +0 -2
- package/dist/esm2022/map/models/map-settings.mjs +0 -124
- package/dist/esm2022/map/models/map.constants.mjs +0 -6
- package/dist/esm2022/map/models/marker-model.mjs +0 -29
- package/dist/esm2022/map/models/polygon.model.mjs +0 -40
- package/dist/esm2022/map/ol-proxy.mjs +0 -6
- package/dist/esm2022/map/public-api.mjs +0 -16
- package/dist/esm2022/map/services/controls/controls.service.mjs +0 -37
- package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +0 -25
- package/dist/esm2022/map/services/drawing/drawing.service.mjs +0 -99
- package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +0 -105
- package/dist/esm2022/map/services/feature.service.mjs +0 -77
- package/dist/esm2022/map/services/map-click.service.mjs +0 -55
- package/dist/esm2022/map/services/map-feature.service.mjs +0 -75
- package/dist/esm2022/map/services/map-management.service.mjs +0 -143
- package/dist/esm2022/map/services/map-postboy.service.mjs +0 -14
- package/dist/esm2022/map/services/map-state.service.mjs +0 -48
- package/dist/esm2022/map/services/message-registrator.service.mjs +0 -105
- package/dist/esm2022/maps-components.mjs +0 -5
- package/dist/esm2022/public-api.mjs +0 -5
- package/dist/esm2022/src/map/common/destructible.component.mjs +0 -18
- package/dist/esm2022/src/map/common/id.generator.mjs +0 -14
- package/dist/esm2022/src/map/helpers/index.mjs +0 -5
- package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +0 -55
- package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +0 -54
- package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +0 -61
- package/dist/esm2022/src/map/helpers/text-style.helper.mjs +0 -33
- package/dist/esm2022/src/map/map-plate/controls/index.mjs +0 -3
- package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
- package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
- package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
- package/dist/esm2022/src/map/map-plate/features/index.mjs +0 -3
- package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +0 -52
- package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +0 -56
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
- package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
- package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
- package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
- package/dist/esm2022/src/map/map-plate/layers/index.mjs +0 -12
- package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
- package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
- package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
- package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
- package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +0 -120
- package/dist/esm2022/src/map/map-plate/map-plate.factory.service.mjs +0 -29
- package/dist/esm2022/src/map/map-plate/tooltips/index.mjs +0 -3
- package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -82
- package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
- package/dist/esm2022/src/map/maps-components-src-map.mjs +0 -5
- package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +0 -18
- package/dist/esm2022/src/map/messages/commands/add-image-layer.command.mjs +0 -10
- package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +0 -10
- package/dist/esm2022/src/map/messages/commands/add-raster-tile-command.mjs +0 -10
- package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +0 -10
- package/dist/esm2022/src/map/messages/commands/cancel-drawing.command.mjs +0 -8
- package/dist/esm2022/src/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
- package/dist/esm2022/src/map/messages/commands/close-tooltip.command.mjs +0 -18
- package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +0 -26
- package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +0 -12
- package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +0 -22
- package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +0 -31
- package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +0 -12
- package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +0 -23
- package/dist/esm2022/src/map/messages/commands/remove-image-layer.command.mjs +0 -10
- package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +0 -10
- package/dist/esm2022/src/map/messages/commands/remove-raster-tile.command.mjs +0 -10
- package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +0 -10
- package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +0 -23
- package/dist/esm2022/src/map/messages/commands/start-drawing.command.mjs +0 -25
- package/dist/esm2022/src/map/messages/events/drawing-finished.event.mjs +0 -5
- package/dist/esm2022/src/map/messages/events/map-click.event.mjs +0 -27
- package/dist/esm2022/src/map/messages/events/map-feature-hovered.event.mjs +0 -23
- package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +0 -16
- package/dist/esm2022/src/map/messages/events/map-pointer-move.event.mjs +0 -21
- package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +0 -18
- package/dist/esm2022/src/map/messages/executors/calculate-area.executor.mjs +0 -17
- package/dist/esm2022/src/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
- package/dist/esm2022/src/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
- package/dist/esm2022/src/map/messages/executors/generate-draw.executor.mjs +0 -14
- package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
- package/dist/esm2022/src/map/messages/executors/get-geometry-length.executor.mjs +0 -18
- package/dist/esm2022/src/map/messages/executors/get-map-position.executor.mjs +0 -13
- package/dist/esm2022/src/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
- package/dist/esm2022/src/map/messages/index.mjs +0 -25
- package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +0 -22
- package/dist/esm2022/src/map/messages/queries/get-features-in-point.query.mjs +0 -25
- package/dist/esm2022/src/map/messages/queries/get-layer.query.mjs +0 -10
- package/dist/esm2022/src/map/models/drawing-type.enum.mjs +0 -22
- package/dist/esm2022/src/map/models/feature-format.enum.mjs +0 -15
- package/dist/esm2022/src/map/models/i-identified.mjs +0 -2
- package/dist/esm2022/src/map/models/index.mjs +0 -10
- package/dist/esm2022/src/map/models/map-control.mjs +0 -15
- package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +0 -19
- package/dist/esm2022/src/map/models/map-position.model.mjs +0 -2
- package/dist/esm2022/src/map/models/map-settings.mjs +0 -124
- package/dist/esm2022/src/map/models/map.constants.mjs +0 -6
- package/dist/esm2022/src/map/models/marker-model.mjs +0 -29
- package/dist/esm2022/src/map/models/polygon.model.mjs +0 -40
- package/dist/esm2022/src/map/ol-proxy.mjs +0 -6
- package/dist/esm2022/src/map/public-api.mjs +0 -16
- package/dist/esm2022/src/map/services/controls/controls.service.mjs +0 -37
- package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +0 -25
- package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +0 -99
- package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +0 -105
- package/dist/esm2022/src/map/services/feature.service.mjs +0 -77
- package/dist/esm2022/src/map/services/map-click.service.mjs +0 -55
- package/dist/esm2022/src/map/services/map-feature.service.mjs +0 -75
- package/dist/esm2022/src/map/services/map-management.service.mjs +0 -143
- package/dist/esm2022/src/map/services/map-postboy.service.mjs +0 -14
- package/dist/esm2022/src/map/services/map-state.service.mjs +0 -48
- package/dist/esm2022/src/map/services/message-registrator.service.mjs +0 -105
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import Style from 'ol/style/Style';
|
|
2
|
-
import { Circle, Fill, Stroke } from 'ol/style';
|
|
3
|
-
/**
|
|
4
|
-
* A helper class for creating polygon styles.
|
|
5
|
-
* @class
|
|
6
|
-
*/
|
|
7
|
-
export class PolygonStyleHelper {
|
|
8
|
-
/**
|
|
9
|
-
* Creates a Style object with the given fill color, stroke color, and stroke width.
|
|
10
|
-
*
|
|
11
|
-
* @param {string} fill - The fill color in hexadecimal or RGB format.
|
|
12
|
-
* @param {string} stroke - The stroke color in hexadecimal or RGB format.
|
|
13
|
-
* @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
|
|
14
|
-
* @return {Style} The created Style object.
|
|
15
|
-
*/
|
|
16
|
-
static simple(fill, stroke, strokeWidth = 1) {
|
|
17
|
-
return new Style({
|
|
18
|
-
fill: new Fill({
|
|
19
|
-
color: fill,
|
|
20
|
-
}),
|
|
21
|
-
stroke: new Stroke({
|
|
22
|
-
color: stroke,
|
|
23
|
-
width: strokeWidth,
|
|
24
|
-
}),
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Creates a new Style object with the given fill, stroke, stroke width, and pin radius.
|
|
29
|
-
*
|
|
30
|
-
* @param {string} fill - The color to use for the fill of the style.
|
|
31
|
-
* @param {string} stroke - The color to use for the stroke of the style.
|
|
32
|
-
* @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
|
|
33
|
-
* @param {number} [pinRadius=5] - The radius of the circle used as the image for the style. Defaults to 5.
|
|
34
|
-
* @returns {Style} - The newly created Style object.
|
|
35
|
-
*/
|
|
36
|
-
static edit(fill, stroke, strokeWidth = 1, pinRadius = 5) {
|
|
37
|
-
return new Style({
|
|
38
|
-
image: new Circle({
|
|
39
|
-
fill: new Fill({
|
|
40
|
-
color: stroke,
|
|
41
|
-
}),
|
|
42
|
-
radius: pinRadius,
|
|
43
|
-
}),
|
|
44
|
-
fill: new Fill({
|
|
45
|
-
color: fill,
|
|
46
|
-
}),
|
|
47
|
-
stroke: new Stroke({
|
|
48
|
-
color: stroke,
|
|
49
|
-
width: strokeWidth,
|
|
50
|
-
}),
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3BvbHlnb24tc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsY0FBc0IsQ0FBQztRQUN4RSxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQztZQUNGLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDakIsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLFdBQVc7YUFDbkIsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLE1BQWMsRUFBRSxjQUFzQixDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxNQUFNO2lCQUNkLENBQUM7Z0JBQ0YsTUFBTSxFQUFFLFNBQVM7YUFDbEIsQ0FBQztZQUNGLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQztnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgQ2lyY2xlLCBGaWxsLCBTdHJva2UgfSBmcm9tICdvbC9zdHlsZSc7XG5cbi8qKlxuICogQSBoZWxwZXIgY2xhc3MgZm9yIGNyZWF0aW5nIHBvbHlnb24gc3R5bGVzLlxuICogQGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBQb2x5Z29uU3R5bGVIZWxwZXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFN0eWxlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBmaWxsIGNvbG9yLCBzdHJva2UgY29sb3IsIGFuZCBzdHJva2Ugd2lkdGguXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxsIC0gVGhlIGZpbGwgY29sb3IgaW4gaGV4YWRlY2ltYWwgb3IgUkdCIGZvcm1hdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cm9rZSAtIFRoZSBzdHJva2UgY29sb3IgaW4gaGV4YWRlY2ltYWwgb3IgUkdCIGZvcm1hdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzdHJva2VXaWR0aD0xXSAtIFRoZSB3aWR0aCBvZiB0aGUgc3Ryb2tlLiBEZWZhdWx0cyB0byAxLlxuICAgKiBAcmV0dXJuIHtTdHlsZX0gVGhlIGNyZWF0ZWQgU3R5bGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzaW1wbGUoZmlsbDogc3RyaW5nLCBzdHJva2U6IHN0cmluZywgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBmaWxsLFxuICAgICAgfSksXG4gICAgICBzdHJva2U6IG5ldyBTdHJva2Uoe1xuICAgICAgICBjb2xvcjogc3Ryb2tlLFxuICAgICAgICB3aWR0aDogc3Ryb2tlV2lkdGgsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFN0eWxlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBmaWxsLCBzdHJva2UsIHN0cm9rZSB3aWR0aCwgYW5kIHBpbiByYWRpdXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxsIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIGZpbGwgb2YgdGhlIHN0eWxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3Ryb2tlIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIHN0cm9rZSBvZiB0aGUgc3R5bGUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbc3Ryb2tlV2lkdGg9MV0gLSBUaGUgd2lkdGggb2YgdGhlIHN0cm9rZS4gRGVmYXVsdHMgdG8gMS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtwaW5SYWRpdXM9NV0gLSBUaGUgcmFkaXVzIG9mIHRoZSBjaXJjbGUgdXNlZCBhcyB0aGUgaW1hZ2UgZm9yIHRoZSBzdHlsZS4gRGVmYXVsdHMgdG8gNS5cbiAgICogQHJldHVybnMge1N0eWxlfSAtIFRoZSBuZXdseSBjcmVhdGVkIFN0eWxlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZWRpdChmaWxsOiBzdHJpbmcsIHN0cm9rZTogc3RyaW5nLCBzdHJva2VXaWR0aDogbnVtYmVyID0gMSwgcGluUmFkaXVzID0gNSk6IFN0eWxlIHtcbiAgICByZXR1cm4gbmV3IFN0eWxlKHtcbiAgICAgIGltYWdlOiBuZXcgQ2lyY2xlKHtcbiAgICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICAgIGNvbG9yOiBzdHJva2UsXG4gICAgICAgIH0pLFxuICAgICAgICByYWRpdXM6IHBpblJhZGl1cyxcbiAgICAgIH0pLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogZmlsbCxcbiAgICAgIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcbiAgICAgICAgY29sb3I6IHN0cm9rZSxcbiAgICAgICAgd2lkdGg6IHN0cm9rZVdpZHRoLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Feature } from 'ol';
|
|
2
|
-
import { FeatureOutputFormat } from '../models';
|
|
3
|
-
import { GeoJSON, WKT } from 'ol/format';
|
|
4
|
-
import Polygon from 'ol/geom/Polygon';
|
|
5
|
-
import { transform } from 'ol/proj';
|
|
6
|
-
import { METERS_PER_UNIT } from 'ol/proj/epsg4326';
|
|
7
|
-
/**
|
|
8
|
-
* A helper class for converting and stringify features.
|
|
9
|
-
*/
|
|
10
|
-
export class StringifyFeatureHelper {
|
|
11
|
-
static polygon(feature, format = FeatureOutputFormat.GeoJson) {
|
|
12
|
-
return format === FeatureOutputFormat.GeoJson
|
|
13
|
-
? new GeoJSON().writeFeature(feature)
|
|
14
|
-
: new WKT().writeFeature(feature);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Creates a polygon feature representing a circle based on a given feature with a circle geometry.
|
|
18
|
-
*
|
|
19
|
-
* @param {Feature<Geometry>} feature - The input feature with a circle geometry.
|
|
20
|
-
* @param {FeatureOutputFormat} format - The format for outputting the polygon feature. (default: FeatureOutputFormat.GeoJson)
|
|
21
|
-
*
|
|
22
|
-
* @return {string} - The string representation of the polygon feature.
|
|
23
|
-
*/
|
|
24
|
-
static circle(feature, format = FeatureOutputFormat.GeoJson) {
|
|
25
|
-
const circle = feature.getGeometry();
|
|
26
|
-
const ext = feature.getGeometry().getExtent();
|
|
27
|
-
const coords = [
|
|
28
|
-
...transform([ext[0], ext[1]], 'EPSG:4326', 'EPSG:3857'),
|
|
29
|
-
...transform([ext[2], ext[3]], 'EPSG:4326', 'EPSG:3857'),
|
|
30
|
-
];
|
|
31
|
-
const radius = (coords[2] - coords[0]) / 2;
|
|
32
|
-
const polygonGeom = new Polygon(StringifyFeatureHelper.drawCircle(circle.getCenter(), radius));
|
|
33
|
-
return StringifyFeatureHelper.polygon(new Feature(polygonGeom), format);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Draw a circle based on a center point and radius.
|
|
37
|
-
*
|
|
38
|
-
* @param {number[]} point - The center point coordinates in EPSG:4326 format.
|
|
39
|
-
* @param {number} radius - The radius of the circle in meters.
|
|
40
|
-
* @return {Coordinate[][]} - The coordinates of the circle boundary in EPSG:4326 format.
|
|
41
|
-
*/
|
|
42
|
-
static drawCircle(point, radius) {
|
|
43
|
-
const tetetemp = transform(point, 'EPSG:4326', 'EPSG:3857');
|
|
44
|
-
// const tetetemp = point;
|
|
45
|
-
const radians = Math.PI / 180; // degrees to radians
|
|
46
|
-
const degrees = 180 / Math.PI; // radians to degrees
|
|
47
|
-
const earthsradius = 6378137.0;
|
|
48
|
-
const rlat = (radius / earthsradius) * degrees;
|
|
49
|
-
const rlng = rlat / Math.cos(tetetemp[1] * radians);
|
|
50
|
-
const extp = [];
|
|
51
|
-
for (let i = 0; i <= 32; i++) {
|
|
52
|
-
const theta = Math.PI * (i / 16);
|
|
53
|
-
extp.push([
|
|
54
|
-
tetetemp[0] + rlng * Math.cos(theta) * METERS_PER_UNIT,
|
|
55
|
-
tetetemp[1] + rlat * Math.sin(theta) * METERS_PER_UNIT,
|
|
56
|
-
]);
|
|
57
|
-
}
|
|
58
|
-
return [extp.map((e) => transform(e, 'EPSG:3857', 'EPSG:4326'))];
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LWZlYXR1cmUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvaGVscGVycy9zdHJpbmdpZnktZmVhdHVyZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUU3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBMEIsRUFBRSxTQUE4QixtQkFBbUIsQ0FBQyxPQUFPO1FBQ3pHLE9BQU8sTUFBTSxLQUFLLG1CQUFtQixDQUFDLE9BQU87WUFDM0MsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNyQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTBCLEVBQUUsU0FBOEIsbUJBQW1CLENBQUMsT0FBTztRQUN4RyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFhLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRyxDQUFDLFNBQVMsRUFBRyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztZQUN4RCxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO1NBQ3pELENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFXLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWUsRUFBRSxNQUFjO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzVELDBCQUEwQjtRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBZSxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDUixRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsZUFBZTtnQkFDdEQsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLGVBQWU7YUFDdkQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IENpcmNsZSwgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IEZlYXR1cmVPdXRwdXRGb3JtYXQgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgR2VvSlNPTiwgV0tUIH0gZnJvbSAnb2wvZm9ybWF0JztcbmltcG9ydCBQb2x5Z29uIGZyb20gJ29sL2dlb20vUG9seWdvbic7XG5pbXBvcnQgeyBDb29yZGluYXRlIH0gZnJvbSAnb2wvY29vcmRpbmF0ZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCB7IE1FVEVSU19QRVJfVU5JVCB9IGZyb20gJ29sL3Byb2ovZXBzZzQzMjYnO1xuXG4vKipcbiAqIEEgaGVscGVyIGNsYXNzIGZvciBjb252ZXJ0aW5nIGFuZCBzdHJpbmdpZnkgZmVhdHVyZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdpZnlGZWF0dXJlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBwb2x5Z29uKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+LCBmb3JtYXQ6IEZlYXR1cmVPdXRwdXRGb3JtYXQgPSBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXQgPT09IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvblxuICAgICAgPyBuZXcgR2VvSlNPTigpLndyaXRlRmVhdHVyZShmZWF0dXJlKVxuICAgICAgOiBuZXcgV0tUKCkud3JpdGVGZWF0dXJlKGZlYXR1cmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwb2x5Z29uIGZlYXR1cmUgcmVwcmVzZW50aW5nIGEgY2lyY2xlIGJhc2VkIG9uIGEgZ2l2ZW4gZmVhdHVyZSB3aXRoIGEgY2lyY2xlIGdlb21ldHJ5LlxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmU8R2VvbWV0cnk+fSBmZWF0dXJlIC0gVGhlIGlucHV0IGZlYXR1cmUgd2l0aCBhIGNpcmNsZSBnZW9tZXRyeS5cbiAgICogQHBhcmFtIHtGZWF0dXJlT3V0cHV0Rm9ybWF0fSBmb3JtYXQgLSBUaGUgZm9ybWF0IGZvciBvdXRwdXR0aW5nIHRoZSBwb2x5Z29uIGZlYXR1cmUuIChkZWZhdWx0OiBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gLSBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwb2x5Z29uIGZlYXR1cmUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNpcmNsZShmZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PiwgZm9ybWF0OiBGZWF0dXJlT3V0cHV0Rm9ybWF0ID0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaXJjbGUgPSBmZWF0dXJlLmdldEdlb21ldHJ5KCkhIGFzIENpcmNsZTtcbiAgICBjb25zdCBleHQgPSBmZWF0dXJlLmdldEdlb21ldHJ5KCkhLmdldEV4dGVudCgpITtcbiAgICBjb25zdCBjb29yZHMgPSBbXG4gICAgICAuLi50cmFuc2Zvcm0oW2V4dFswXSwgZXh0WzFdXSwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKSxcbiAgICAgIC4uLnRyYW5zZm9ybShbZXh0WzJdLCBleHRbM11dLCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpLFxuICAgIF07XG4gICAgY29uc3QgcmFkaXVzID0gKGNvb3Jkc1syXSAtIGNvb3Jkc1swXSkgLyAyO1xuXG4gICAgY29uc3QgcG9seWdvbkdlb20gPSBuZXcgUG9seWdvbihTdHJpbmdpZnlGZWF0dXJlSGVscGVyLmRyYXdDaXJjbGUoY2lyY2xlLmdldENlbnRlcigpLCByYWRpdXMpKTtcbiAgICByZXR1cm4gU3RyaW5naWZ5RmVhdHVyZUhlbHBlci5wb2x5Z29uKG5ldyBGZWF0dXJlPEdlb21ldHJ5Pihwb2x5Z29uR2VvbSksIGZvcm1hdCk7XG4gIH1cblxuICAvKipcbiAgICogRHJhdyBhIGNpcmNsZSBiYXNlZCBvbiBhIGNlbnRlciBwb2ludCBhbmQgcmFkaXVzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcltdfSBwb2ludCAtIFRoZSBjZW50ZXIgcG9pbnQgY29vcmRpbmF0ZXMgaW4gRVBTRzo0MzI2IGZvcm1hdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHJhZGl1cyAtIFRoZSByYWRpdXMgb2YgdGhlIGNpcmNsZSBpbiBtZXRlcnMuXG4gICAqIEByZXR1cm4ge0Nvb3JkaW5hdGVbXVtdfSAtIFRoZSBjb29yZGluYXRlcyBvZiB0aGUgY2lyY2xlIGJvdW5kYXJ5IGluIEVQU0c6NDMyNiBmb3JtYXQuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBkcmF3Q2lyY2xlKHBvaW50OiBudW1iZXJbXSwgcmFkaXVzOiBudW1iZXIpOiBDb29yZGluYXRlW11bXSB7XG4gICAgY29uc3QgdGV0ZXRlbXAgPSB0cmFuc2Zvcm0ocG9pbnQsICdFUFNHOjQzMjYnLCAnRVBTRzozODU3Jyk7XG4gICAgLy8gY29uc3QgdGV0ZXRlbXAgPSBwb2ludDtcbiAgICBjb25zdCByYWRpYW5zID0gTWF0aC5QSSAvIDE4MDsgLy8gZGVncmVlcyB0byByYWRpYW5zXG4gICAgY29uc3QgZGVncmVlcyA9IDE4MCAvIE1hdGguUEk7IC8vIHJhZGlhbnMgdG8gZGVncmVlc1xuICAgIGNvbnN0IGVhcnRoc3JhZGl1cyA9IDYzNzgxMzcuMDtcbiAgICBjb25zdCBybGF0ID0gKHJhZGl1cyAvIGVhcnRoc3JhZGl1cykgKiBkZWdyZWVzO1xuICAgIGNvbnN0IHJsbmcgPSBybGF0IC8gTWF0aC5jb3ModGV0ZXRlbXBbMV0gKiByYWRpYW5zKTtcbiAgICBjb25zdCBleHRwOiBudW1iZXJbXVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gMzI7IGkrKykge1xuICAgICAgY29uc3QgdGhldGEgPSBNYXRoLlBJICogKGkgLyAxNik7XG4gICAgICBleHRwLnB1c2goW1xuICAgICAgICB0ZXRldGVtcFswXSArIHJsbmcgKiBNYXRoLmNvcyh0aGV0YSkgKiBNRVRFUlNfUEVSX1VOSVQsXG4gICAgICAgIHRldGV0ZW1wWzFdICsgcmxhdCAqIE1hdGguc2luKHRoZXRhKSAqIE1FVEVSU19QRVJfVU5JVCxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gW2V4dHAubWFwKChlKSA9PiB0cmFuc2Zvcm0oZSwgJ0VQU0c6Mzg1NycsICdFUFNHOjQzMjYnKSldO1xuICB9XG59XG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Fill, Text } from 'ol/style';
|
|
2
|
-
/**
|
|
3
|
-
* Helper class for creating text styles.
|
|
4
|
-
*/
|
|
5
|
-
export class TextStyleHelper {
|
|
6
|
-
/**
|
|
7
|
-
* Creates and returns a new Text instance with specified styling properties.
|
|
8
|
-
*
|
|
9
|
-
* @param {string} text - The text content to display.
|
|
10
|
-
* @param {string} font - The font style to use for the text.
|
|
11
|
-
* @param {string} color - The color of the text.
|
|
12
|
-
* @param {string|null|undefined} [backColor] - The background color of the text. Optional.
|
|
13
|
-
* @param {number[]|null|undefined} [padding] - The padding around the text in pixels. Optional.
|
|
14
|
-
* @param {string|null|undefined} [textBaseline] - The text baseline alignment. Optional.
|
|
15
|
-
* @param {number|null|undefined} [offsetY] - The vertical offset for the text. Optional.
|
|
16
|
-
* @return {Text} A new Text instance configured with the specified properties.
|
|
17
|
-
*/
|
|
18
|
-
static get(text, font, color, backColor, padding, textBaseline, offsetY) {
|
|
19
|
-
return new Text({
|
|
20
|
-
text: text,
|
|
21
|
-
font: font,
|
|
22
|
-
textAlign: 'center',
|
|
23
|
-
fill: new Fill({
|
|
24
|
-
color: color,
|
|
25
|
-
}),
|
|
26
|
-
backgroundFill: backColor ? new Fill({ color: backColor }) : undefined,
|
|
27
|
-
padding: padding ?? undefined,
|
|
28
|
-
textBaseline: textBaseline ?? undefined,
|
|
29
|
-
offsetY: offsetY ?? undefined,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3RleHQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUNmLElBQVksRUFDWixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQXlCLEVBQ3pCLE9BQXlCLEVBQ3pCLFlBQTRGLEVBQzVGLE9BQXVCO1FBRXZCLE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQztZQUNGLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDdEUsT0FBTyxFQUFFLE9BQU8sSUFBSSxTQUFTO1lBQzdCLFlBQVksRUFBRSxZQUFZLElBQUksU0FBUztZQUN2QyxPQUFPLEVBQUUsT0FBTyxJQUFJLFNBQVM7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsbCwgVGV4dCB9IGZyb20gJ29sL3N0eWxlJztcblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgZm9yIGNyZWF0aW5nIHRleHQgc3R5bGVzLlxuICovXG5leHBvcnQgY2xhc3MgVGV4dFN0eWxlSGVscGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgVGV4dCBpbnN0YW5jZSB3aXRoIHNwZWNpZmllZCBzdHlsaW5nIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gVGhlIHRleHQgY29udGVudCB0byBkaXNwbGF5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9udCAtIFRoZSBmb250IHN0eWxlIHRvIHVzZSBmb3IgdGhlIHRleHQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvciAtIFRoZSBjb2xvciBvZiB0aGUgdGV4dC5cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVsbHx1bmRlZmluZWR9IFtiYWNrQ29sb3JdIC0gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHRleHQuIE9wdGlvbmFsLlxuICAgKiBAcGFyYW0ge251bWJlcltdfG51bGx8dW5kZWZpbmVkfSBbcGFkZGluZ10gLSBUaGUgcGFkZGluZyBhcm91bmQgdGhlIHRleHQgaW4gcGl4ZWxzLiBPcHRpb25hbC5cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVsbHx1bmRlZmluZWR9IFt0ZXh0QmFzZWxpbmVdIC0gVGhlIHRleHQgYmFzZWxpbmUgYWxpZ25tZW50LiBPcHRpb25hbC5cbiAgICogQHBhcmFtIHtudW1iZXJ8bnVsbHx1bmRlZmluZWR9IFtvZmZzZXRZXSAtIFRoZSB2ZXJ0aWNhbCBvZmZzZXQgZm9yIHRoZSB0ZXh0LiBPcHRpb25hbC5cbiAgICogQHJldHVybiB7VGV4dH0gQSBuZXcgVGV4dCBpbnN0YW5jZSBjb25maWd1cmVkIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIGZvbnQ6IHN0cmluZyxcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGJhY2tDb2xvcj86IHN0cmluZyB8IG51bGwsXG4gICAgcGFkZGluZz86IG51bWJlcltdIHwgbnVsbCxcbiAgICB0ZXh0QmFzZWxpbmU/OiAnYm90dG9tJyB8ICd0b3AnIHwgJ21pZGRsZScgfCAnYWxwaGFiZXRpYycgfCAnaGFuZ2luZycgfCAnaWRlb2dyYXBoaWMnIHwgbnVsbCxcbiAgICBvZmZzZXRZPzogbnVtYmVyIHwgbnVsbCxcbiAgKTogVGV4dCB7XG4gICAgcmV0dXJuIG5ldyBUZXh0KHtcbiAgICAgIHRleHQ6IHRleHQsXG4gICAgICBmb250OiBmb250LFxuICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgIGZpbGw6IG5ldyBGaWxsKHtcbiAgICAgICAgY29sb3I6IGNvbG9yLFxuICAgICAgfSksXG4gICAgICBiYWNrZ3JvdW5kRmlsbDogYmFja0NvbG9yID8gbmV3IEZpbGwoeyBjb2xvcjogYmFja0NvbG9yIH0pIDogdW5kZWZpbmVkLFxuICAgICAgcGFkZGluZzogcGFkZGluZyA/PyB1bmRlZmluZWQsXG4gICAgICB0ZXh0QmFzZWxpbmU6IHRleHRCYXNlbGluZSA/PyB1bmRlZmluZWQsXG4gICAgICBvZmZzZXRZOiBvZmZzZXRZID8/IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './map-control-zoom/zoom-control.settings';
|
|
2
|
-
export * from './map-control-zoom/map-control-zoom.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLCtDQUErQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXAtY29udHJvbC16b29tL3pvb20tY29udHJvbC5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1jb250cm9sLXpvb20vbWFwLWNvbnRyb2wtem9vbS5jb21wb25lbnQnO1xuIl19
|
package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
-
import { ZoomControlSettings } from './zoom-control.settings';
|
|
4
|
-
import { MapRenderedEvent } from '../../../messages';
|
|
5
|
-
import { filter, first } from 'rxjs/operators';
|
|
6
|
-
import { GenerateZoomControlExecutor } from '../../../messages/executors/generate-zoom-control.executor';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../../services/map-postboy.service";
|
|
9
|
-
/**
|
|
10
|
-
* @class
|
|
11
|
-
* @classdesc Represents a component for the Zoom control on a map.
|
|
12
|
-
* @extends DestructibleComponent
|
|
13
|
-
* @implements OnInit
|
|
14
|
-
*/
|
|
15
|
-
export class MapControlZoomComponent extends DestructibleComponent {
|
|
16
|
-
postboy;
|
|
17
|
-
map;
|
|
18
|
-
control;
|
|
19
|
-
constructor(postboy) {
|
|
20
|
-
super();
|
|
21
|
-
this.postboy = postboy;
|
|
22
|
-
}
|
|
23
|
-
_settings = new ZoomControlSettings();
|
|
24
|
-
/**
|
|
25
|
-
* Sets the settings for the Zoom Control.
|
|
26
|
-
*
|
|
27
|
-
* @param {ZoomControlSettings | undefined} value - The new settings for the Zoom Control.
|
|
28
|
-
*
|
|
29
|
-
* @description
|
|
30
|
-
* This method sets the settings for the Zoom Control. It takes a parameter `value` which should be an object of type `ZoomControlSettings` or `undefined`.
|
|
31
|
-
*
|
|
32
|
-
* If the `value` is `undefined` or the same as the current settings, the method will return without making any changes.
|
|
33
|
-
*
|
|
34
|
-
*/
|
|
35
|
-
set settings(value) {
|
|
36
|
-
if (!value || this._settings.isSame(value))
|
|
37
|
-
return;
|
|
38
|
-
this._settings = value;
|
|
39
|
-
this.setControl();
|
|
40
|
-
}
|
|
41
|
-
ngOnInit() {
|
|
42
|
-
this.postboy
|
|
43
|
-
.sub(MapRenderedEvent)
|
|
44
|
-
.pipe(filter((m) => !!m), first())
|
|
45
|
-
.subscribe((m) => {
|
|
46
|
-
this.map = m.map;
|
|
47
|
-
this.setControl();
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
onDestroy = () => {
|
|
51
|
-
this.eliminate();
|
|
52
|
-
};
|
|
53
|
-
setControl() {
|
|
54
|
-
if (!this.map)
|
|
55
|
-
return;
|
|
56
|
-
this.control = this.postboy.exec(new GenerateZoomControlExecutor(this._settings));
|
|
57
|
-
this.map.addControl(this.control);
|
|
58
|
-
}
|
|
59
|
-
eliminate = () => !!this.map && !!this.control && this.map.removeControl(this.control);
|
|
60
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MapControlZoomComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MapControlZoomComponent, isStandalone: true, selector: "art-map-control-zoom", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
62
|
-
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MapControlZoomComponent, decorators: [{
|
|
64
|
-
type: Component,
|
|
65
|
-
args: [{ selector: 'art-map-control-zoom', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
66
|
-
}], ctorParameters: () => [{ type: i1.MapPostboyService }], propDecorators: { settings: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRyb2wtem9vbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS9tYXAtY29udHJvbC16b29tLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7QUFFekc7Ozs7O0dBS0c7QUFRSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBSTVDO0lBSFosR0FBRyxDQUFPO0lBQ1YsT0FBTyxDQUFRO0lBRXZCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVPLFNBQVMsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBRW5FOzs7Ozs7Ozs7O09BVUc7SUFDSCxJQUFhLFFBQVEsQ0FBQyxLQUFzQztRQUMxRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxHQUFHLENBQUMsZ0JBQWdCLENBQUM7YUFDckIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTLEdBQUcsR0FBRyxFQUFFO1FBQ2YsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVNLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dHQWxEcEYsdUJBQXVCOzRGQUF2Qix1QkFBdUIseUlBSnhCLEVBQUU7OzRGQUlELHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxZQUNOLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTtzRkF1QmxDLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xuaW1wb3J0IHsgWm9vbUNvbnRyb2xTZXR0aW5ncyB9IGZyb20gJy4vem9vbS1jb250cm9sLnNldHRpbmdzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgWm9vbSB9IGZyb20gJ29sL2NvbnRyb2wnO1xuaW1wb3J0IHsgR2VuZXJhdGVab29tQ29udHJvbEV4ZWN1dG9yIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLXpvb20tY29udHJvbC5leGVjdXRvcic7XG5cbi8qKlxuICogQGNsYXNzXG4gKiBAY2xhc3NkZXNjIFJlcHJlc2VudHMgYSBjb21wb25lbnQgZm9yIHRoZSBab29tIGNvbnRyb2wgb24gYSBtYXAuXG4gKiBAZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnRcbiAqIEBpbXBsZW1lbnRzIE9uSW5pdFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtbWFwLWNvbnRyb2wtem9vbScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hcENvbnRyb2xab29tQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG4gIHByaXZhdGUgY29udHJvbD86IFpvb207XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR0aW5nczogWm9vbUNvbnRyb2xTZXR0aW5ncyA9IG5ldyBab29tQ29udHJvbFNldHRpbmdzKCk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNldHRpbmdzIGZvciB0aGUgWm9vbSBDb250cm9sLlxuICAgKlxuICAgKiBAcGFyYW0ge1pvb21Db250cm9sU2V0dGluZ3MgfCB1bmRlZmluZWR9IHZhbHVlIC0gVGhlIG5ldyBzZXR0aW5ncyBmb3IgdGhlIFpvb20gQ29udHJvbC5cbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoaXMgbWV0aG9kIHNldHMgdGhlIHNldHRpbmdzIGZvciB0aGUgWm9vbSBDb250cm9sLiBJdCB0YWtlcyBhIHBhcmFtZXRlciBgdmFsdWVgIHdoaWNoIHNob3VsZCBiZSBhbiBvYmplY3Qgb2YgdHlwZSBgWm9vbUNvbnRyb2xTZXR0aW5nc2Agb3IgYHVuZGVmaW5lZGAuXG4gICAqXG4gICAqIElmIHRoZSBgdmFsdWVgIGlzIGB1bmRlZmluZWRgIG9yIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHNldHRpbmdzLCB0aGUgbWV0aG9kIHdpbGwgcmV0dXJuIHdpdGhvdXQgbWFraW5nIGFueSBjaGFuZ2VzLlxuICAgKlxuICAgKi9cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBab29tQ29udHJvbFNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLnNldENvbnRyb2woKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YihNYXBSZW5kZXJlZEV2ZW50KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICAgICAgdGhpcy5zZXRDb250cm9sKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHtcbiAgICB0aGlzLmVsaW1pbmF0ZSgpO1xuICB9O1xuXG4gIHByaXZhdGUgc2V0Q29udHJvbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgdGhpcy5jb250cm9sID0gdGhpcy5wb3N0Ym95LmV4ZWMobmV3IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvcih0aGlzLl9zZXR0aW5ncykpO1xuICAgIHRoaXMubWFwLmFkZENvbnRyb2wodGhpcy5jb250cm9sISk7XG4gIH1cblxuICBwcml2YXRlIGVsaW1pbmF0ZSA9ICgpID0+ICEhdGhpcy5tYXAgJiYgISF0aGlzLmNvbnRyb2wgJiYgdGhpcy5tYXAucmVtb3ZlQ29udHJvbCh0aGlzLmNvbnRyb2wpO1xufVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Zoom } from 'ol/control';
|
|
2
|
-
export class ZoomControlFactory {
|
|
3
|
-
static build(settings) {
|
|
4
|
-
return new Zoom({
|
|
5
|
-
zoomInTipLabel: settings.zoomInLabel,
|
|
6
|
-
zoomOutTipLabel: settings.zoomOutLabel,
|
|
7
|
-
zoomInClassName: settings.zoomInClass,
|
|
8
|
-
zoomOutClassName: settings.zoomOutClass,
|
|
9
|
-
className: settings.controlClass,
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9sLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS96b29tLWNvbnRyb2wuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE1BQU0sT0FBTyxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUE2QjtRQUMvQyxPQUFPLElBQUksSUFBSSxDQUFDO1lBQ2QsY0FBYyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1lBQ3BDLGVBQWUsRUFBRSxRQUFRLENBQUMsWUFBWTtZQUN0QyxlQUFlLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDckMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLFlBQVk7WUFDdkMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxZQUFZO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpvb21Db250cm9sU2V0dGluZ3MgfSBmcm9tICcuL3pvb20tY29udHJvbC5zZXR0aW5ncyc7XG5pbXBvcnQgeyBab29tIH0gZnJvbSAnb2wvY29udHJvbCc7XG5cbmV4cG9ydCBjbGFzcyBab29tQ29udHJvbEZhY3Rvcnkge1xuICBwdWJsaWMgc3RhdGljIGJ1aWxkKHNldHRpbmdzOiBab29tQ29udHJvbFNldHRpbmdzKTogWm9vbSB7XG4gICAgcmV0dXJuIG5ldyBab29tKHtcbiAgICAgIHpvb21JblRpcExhYmVsOiBzZXR0aW5ncy56b29tSW5MYWJlbCxcbiAgICAgIHpvb21PdXRUaXBMYWJlbDogc2V0dGluZ3Muem9vbU91dExhYmVsLFxuICAgICAgem9vbUluQ2xhc3NOYW1lOiBzZXR0aW5ncy56b29tSW5DbGFzcyxcbiAgICAgIHpvb21PdXRDbGFzc05hbWU6IHNldHRpbmdzLnpvb21PdXRDbGFzcyxcbiAgICAgIGNsYXNzTmFtZTogc2V0dGluZ3MuY29udHJvbENsYXNzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Represents the settings for a zoom control.
|
|
3
|
-
*/
|
|
4
|
-
export class ZoomControlSettings {
|
|
5
|
-
/**
|
|
6
|
-
* The CSS class name of the control element.
|
|
7
|
-
*
|
|
8
|
-
* @type {string}
|
|
9
|
-
*/
|
|
10
|
-
controlClass = 'ol-zoom';
|
|
11
|
-
/**
|
|
12
|
-
* The CSS class name for zoom in button.
|
|
13
|
-
* @type {string}
|
|
14
|
-
*/
|
|
15
|
-
zoomInClass = 'ol-zoom-in';
|
|
16
|
-
/**
|
|
17
|
-
* The CSS class name for the zoom out button element.
|
|
18
|
-
*
|
|
19
|
-
* @type {string}
|
|
20
|
-
*/
|
|
21
|
-
zoomOutClass = 'ol-zoom-out';
|
|
22
|
-
/**
|
|
23
|
-
* The label for the zoom in action.
|
|
24
|
-
*
|
|
25
|
-
* @type {string}
|
|
26
|
-
*/
|
|
27
|
-
zoomInLabel = 'Zoom In';
|
|
28
|
-
/**
|
|
29
|
-
* The label for the zoom out control.
|
|
30
|
-
*
|
|
31
|
-
* @type {string}
|
|
32
|
-
*/
|
|
33
|
-
zoomOutLabel = 'Zoom Out';
|
|
34
|
-
/**
|
|
35
|
-
* Copies the provided ZoomControlSettings object.
|
|
36
|
-
*
|
|
37
|
-
* @param {ZoomControlSettings} model - The ZoomControlSettings object to be copied.
|
|
38
|
-
* @return {ZoomControlSettings} - The copied ZoomControlSettings object.
|
|
39
|
-
*/
|
|
40
|
-
static copy(model) {
|
|
41
|
-
const result = new ZoomControlSettings();
|
|
42
|
-
result.controlClass = model.controlClass;
|
|
43
|
-
result.zoomInClass = model.zoomInClass;
|
|
44
|
-
result.zoomOutClass = model.zoomOutClass;
|
|
45
|
-
result.zoomInLabel = model.zoomInLabel;
|
|
46
|
-
result.zoomOutLabel = model.zoomOutLabel;
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Checks if the current ZoomControlSettings object is equal to the given model.
|
|
51
|
-
*
|
|
52
|
-
* @param {ZoomControlSettings} model - The ZoomControlSettings object to compare with.
|
|
53
|
-
*
|
|
54
|
-
* @return {boolean} - true if the current object is equal to the given model, false otherwise.
|
|
55
|
-
*/
|
|
56
|
-
isSame(model) {
|
|
57
|
-
if (this.zoomInClass !== model.zoomInClass)
|
|
58
|
-
return false;
|
|
59
|
-
if (this.zoomOutClass !== model.zoomOutClass)
|
|
60
|
-
return false;
|
|
61
|
-
if (this.zoomInLabel !== model.zoomInLabel)
|
|
62
|
-
return false;
|
|
63
|
-
if (this.controlClass !== model.controlClass)
|
|
64
|
-
return false;
|
|
65
|
-
if (this.zoomOutLabel !== model.zoomOutLabel)
|
|
66
|
-
return false;
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Sets the zoom in label of the Zoom Control Settings.
|
|
71
|
-
*
|
|
72
|
-
* @param {string} zoomInLabel - The label for the zoom in button.
|
|
73
|
-
* @return {ZoomControlSettings} - The new Zoom Control Settings object with the updated zoom in label.
|
|
74
|
-
*/
|
|
75
|
-
setZoomInLabel(zoomInLabel) {
|
|
76
|
-
return ZoomControlSettings.copy({ ...this, zoomInLabel });
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Sets the zoomOutClass property of the ZoomControlSettings object.
|
|
80
|
-
*
|
|
81
|
-
* @param {string} zoomOutClass - The CSS class to be assigned to the zoom out button.
|
|
82
|
-
* @return {ZoomControlSettings} - The updated ZoomControlSettings object with the new zoomOutClass value.
|
|
83
|
-
*/
|
|
84
|
-
setZoomOutClass(zoomOutClass) {
|
|
85
|
-
return ZoomControlSettings.copy({ ...this, zoomOutClass });
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Sets the zoom in class for the zoom control settings.
|
|
89
|
-
*
|
|
90
|
-
* @param {string} zoomInClass - The new zoom in class to be set.
|
|
91
|
-
* @return {ZoomControlSettings} - The updated zoom control settings.
|
|
92
|
-
*/
|
|
93
|
-
setZoomInClass(zoomInClass) {
|
|
94
|
-
return ZoomControlSettings.copy({ ...this, zoomInClass });
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Set the label for the zoom out control.
|
|
98
|
-
*
|
|
99
|
-
* @param {string} zoomOutLabel - The label for the zoom out control.
|
|
100
|
-
* @returns {ZoomControlSettings} - The updated zoom control settings.
|
|
101
|
-
*/
|
|
102
|
-
setZoomOutLabel(zoomOutLabel) {
|
|
103
|
-
return ZoomControlSettings.copy({ ...this, zoomOutLabel });
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Sets the control class for the ZoomControlSettings.
|
|
107
|
-
*
|
|
108
|
-
* @param {string} controlClass - The class name of the control to be set.
|
|
109
|
-
*
|
|
110
|
-
* @return {ZoomControlSettings} - The modified ZoomControlSettings object.
|
|
111
|
-
*/
|
|
112
|
-
setControlClass(controlClass) {
|
|
113
|
-
return ZoomControlSettings.copy({ ...this, controlClass });
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9sLnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2NvbnRyb2xzL21hcC1jb250cm9sLXpvb20vem9vbS1jb250cm9sLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7OztPQUlHO0lBQ0gsWUFBWSxHQUFXLFNBQVMsQ0FBQztJQUNqQzs7O09BR0c7SUFDSCxXQUFXLEdBQVcsWUFBWSxDQUFDO0lBQ25DOzs7O09BSUc7SUFDSCxZQUFZLEdBQVcsYUFBYSxDQUFDO0lBQ3JDOzs7O09BSUc7SUFDSCxXQUFXLEdBQVcsU0FBUyxDQUFDO0lBQ2hDOzs7O09BSUc7SUFDSCxZQUFZLEdBQVcsVUFBVSxDQUFDO0lBRWxDOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUEwQjtRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDekMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxNQUFNLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDekMsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEtBQTBCO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsWUFBb0I7UUFDbEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxXQUFtQjtRQUNoQyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLFlBQW9CO1FBQ2xDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZUFBZSxDQUFDLFlBQW9CO1FBQ2xDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgdGhlIHNldHRpbmdzIGZvciBhIHpvb20gY29udHJvbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFpvb21Db250cm9sU2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyBuYW1lIG9mIHRoZSBjb250cm9sIGVsZW1lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBjb250cm9sQ2xhc3M6IHN0cmluZyA9ICdvbC16b29tJztcbiAgLyoqXG4gICAqIFRoZSBDU1MgY2xhc3MgbmFtZSBmb3Igem9vbSBpbiBidXR0b24uXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICB6b29tSW5DbGFzczogc3RyaW5nID0gJ29sLXpvb20taW4nO1xuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyBuYW1lIGZvciB0aGUgem9vbSBvdXQgYnV0dG9uIGVsZW1lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICB6b29tT3V0Q2xhc3M6IHN0cmluZyA9ICdvbC16b29tLW91dCc7XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSB6b29tIGluIGFjdGlvbi5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHpvb21JbkxhYmVsOiBzdHJpbmcgPSAnWm9vbSBJbic7XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSB6b29tIG91dCBjb250cm9sLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgem9vbU91dExhYmVsOiBzdHJpbmcgPSAnWm9vbSBPdXQnO1xuXG4gIC8qKlxuICAgKiBDb3BpZXMgdGhlIHByb3ZpZGVkIFpvb21Db250cm9sU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1pvb21Db250cm9sU2V0dGluZ3N9IG1vZGVsIC0gVGhlIFpvb21Db250cm9sU2V0dGluZ3Mgb2JqZWN0IHRvIGJlIGNvcGllZC5cbiAgICogQHJldHVybiB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gLSBUaGUgY29waWVkIFpvb21Db250cm9sU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBab29tQ29udHJvbFNldHRpbmdzKTogWm9vbUNvbnRyb2xTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFpvb21Db250cm9sU2V0dGluZ3MoKTtcbiAgICByZXN1bHQuY29udHJvbENsYXNzID0gbW9kZWwuY29udHJvbENsYXNzO1xuICAgIHJlc3VsdC56b29tSW5DbGFzcyA9IG1vZGVsLnpvb21JbkNsYXNzO1xuICAgIHJlc3VsdC56b29tT3V0Q2xhc3MgPSBtb2RlbC56b29tT3V0Q2xhc3M7XG4gICAgcmVzdWx0Lnpvb21JbkxhYmVsID0gbW9kZWwuem9vbUluTGFiZWw7XG4gICAgcmVzdWx0Lnpvb21PdXRMYWJlbCA9IG1vZGVsLnpvb21PdXRMYWJlbDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdCBpcyBlcXVhbCB0byB0aGUgZ2l2ZW4gbW9kZWwuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gbW9kZWwgLSBUaGUgWm9vbUNvbnRyb2xTZXR0aW5ncyBvYmplY3QgdG8gY29tcGFyZSB3aXRoLlxuICAgKlxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtIHRydWUgaWYgdGhlIGN1cnJlbnQgb2JqZWN0IGlzIGVxdWFsIHRvIHRoZSBnaXZlbiBtb2RlbCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGlzU2FtZShtb2RlbDogWm9vbUNvbnRyb2xTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnpvb21JbkNsYXNzICE9PSBtb2RlbC56b29tSW5DbGFzcykgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnpvb21PdXRDbGFzcyAhPT0gbW9kZWwuem9vbU91dENsYXNzKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuem9vbUluTGFiZWwgIT09IG1vZGVsLnpvb21JbkxhYmVsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29udHJvbENsYXNzICE9PSBtb2RlbC5jb250cm9sQ2xhc3MpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy56b29tT3V0TGFiZWwgIT09IG1vZGVsLnpvb21PdXRMYWJlbCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHpvb20gaW4gbGFiZWwgb2YgdGhlIFpvb20gQ29udHJvbCBTZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvb21JbkxhYmVsIC0gVGhlIGxhYmVsIGZvciB0aGUgem9vbSBpbiBidXR0b24uXG4gICAqIEByZXR1cm4ge1pvb21Db250cm9sU2V0dGluZ3N9IC0gVGhlIG5ldyBab29tIENvbnRyb2wgU2V0dGluZ3Mgb2JqZWN0IHdpdGggdGhlIHVwZGF0ZWQgem9vbSBpbiBsYWJlbC5cbiAgICovXG4gIHNldFpvb21JbkxhYmVsKHpvb21JbkxhYmVsOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbUluTGFiZWwgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgem9vbU91dENsYXNzIHByb3BlcnR5IG9mIHRoZSBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvb21PdXRDbGFzcyAtIFRoZSBDU1MgY2xhc3MgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHpvb20gb3V0IGJ1dHRvbi5cbiAgICogQHJldHVybiB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSBuZXcgem9vbU91dENsYXNzIHZhbHVlLlxuICAgKi9cbiAgc2V0Wm9vbU91dENsYXNzKHpvb21PdXRDbGFzczogc3RyaW5nKTogWm9vbUNvbnRyb2xTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFpvb21Db250cm9sU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHpvb21PdXRDbGFzcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB6b29tIGluIGNsYXNzIGZvciB0aGUgem9vbSBjb250cm9sIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gem9vbUluQ2xhc3MgLSBUaGUgbmV3IHpvb20gaW4gY2xhc3MgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtab29tQ29udHJvbFNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIHpvb20gY29udHJvbCBzZXR0aW5ncy5cbiAgICovXG4gIHNldFpvb21JbkNsYXNzKHpvb21JbkNsYXNzOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbUluQ2xhc3MgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBsYWJlbCBmb3IgdGhlIHpvb20gb3V0IGNvbnRyb2wuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB6b29tT3V0TGFiZWwgLSBUaGUgbGFiZWwgZm9yIHRoZSB6b29tIG91dCBjb250cm9sLlxuICAgKiBAcmV0dXJucyB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCB6b29tIGNvbnRyb2wgc2V0dGluZ3MuXG4gICAqL1xuICBzZXRab29tT3V0TGFiZWwoem9vbU91dExhYmVsOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbU91dExhYmVsIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbnRyb2wgY2xhc3MgZm9yIHRoZSBab29tQ29udHJvbFNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udHJvbENsYXNzIC0gVGhlIGNsYXNzIG5hbWUgb2YgdGhlIGNvbnRyb2wgdG8gYmUgc2V0LlxuICAgKlxuICAgKiBAcmV0dXJuIHtab29tQ29udHJvbFNldHRpbmdzfSAtIFRoZSBtb2RpZmllZCBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldENvbnRyb2xDbGFzcyhjb250cm9sQ2xhc3M6IHN0cmluZyk6IFpvb21Db250cm9sU2V0dGluZ3Mge1xuICAgIHJldHVybiBab29tQ29udHJvbFNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBjb250cm9sQ2xhc3MgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './markers/markers.component';
|
|
2
|
-
export * from './polygons/polygons.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { DestructibleComponent } from '../../../common/destructible.component';
|
|
3
|
-
import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
|
|
4
|
-
import { MapRenderedEvent } from '../../../messages';
|
|
5
|
-
import { filter, first } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../services/map-postboy.service";
|
|
8
|
-
/**
|
|
9
|
-
* MarkersComponent is a component that displays markers on a map.
|
|
10
|
-
* It listens for changes in the `markers` input property and
|
|
11
|
-
* automatically puts the markers on the map using the MapPostboyService.
|
|
12
|
-
*/
|
|
13
|
-
export class MarkersComponent extends DestructibleComponent {
|
|
14
|
-
postboy;
|
|
15
|
-
layerName = '';
|
|
16
|
-
constructor(postboy) {
|
|
17
|
-
super();
|
|
18
|
-
this.postboy = postboy;
|
|
19
|
-
}
|
|
20
|
-
_markers = [];
|
|
21
|
-
/**
|
|
22
|
-
* Sets the markers property.
|
|
23
|
-
*
|
|
24
|
-
* @param {MarkerModel[]} value - The array of MarkerModel objects to set as markers.
|
|
25
|
-
*/
|
|
26
|
-
set markers(value) {
|
|
27
|
-
this._markers = value ?? [];
|
|
28
|
-
this.putMarkers();
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.postboy
|
|
32
|
-
.sub(MapRenderedEvent)
|
|
33
|
-
.pipe(filter((m) => !!m), first())
|
|
34
|
-
.subscribe(() => this.putMarkers());
|
|
35
|
-
}
|
|
36
|
-
putMarkers() {
|
|
37
|
-
if (!this._markers)
|
|
38
|
-
return;
|
|
39
|
-
this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._markers.map((m) => m.feature)));
|
|
40
|
-
}
|
|
41
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkersComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MarkersComponent, isStandalone: true, selector: "art-markers", inputs: { layerName: "layerName", markers: "markers" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkersComponent, decorators: [{
|
|
45
|
-
type: Component,
|
|
46
|
-
args: [{ selector: 'art-markers', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
47
|
-
}], ctorParameters: () => [{ type: i1.MapPostboyService }], propDecorators: { layerName: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], markers: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvbWFya2Vycy9tYXJrZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUcvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFL0M7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxxQkFBcUI7SUFHckM7SUFGWCxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRXhCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVELFFBQVEsR0FBa0IsRUFBRSxDQUFDO0lBRTdCOzs7O09BSUc7SUFDSCxJQUFhLE9BQU8sQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxHQUFHLENBQUMsZ0JBQWdCLENBQUM7YUFDckIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUkseUJBQXlCLENBQzNCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDcEMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0FyQ1UsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isc0pBSmpCLEVBQUU7OzRGQUlELGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxZQUNOLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTtzRkFHdEMsU0FBUztzQkFBakIsS0FBSztnQkFhTyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcmtlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21hcmtlci1tb2RlbCc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBNYXJrZXJzQ29tcG9uZW50IGlzIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgbWFya2VycyBvbiBhIG1hcC5cbiAqIEl0IGxpc3RlbnMgZm9yIGNoYW5nZXMgaW4gdGhlIGBtYXJrZXJzYCBpbnB1dCBwcm9wZXJ0eSBhbmRcbiAqIGF1dG9tYXRpY2FsbHkgcHV0cyB0aGUgbWFya2VycyBvbiB0aGUgbWFwIHVzaW5nIHRoZSBNYXBQb3N0Ym95U2VydmljZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LW1hcmtlcnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXJrZXJzQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGF5ZXJOYW1lID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfbWFya2VyczogTWFya2VyTW9kZWxbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXJrZXJzIHByb3BlcnR5LlxuICAgKlxuICAgKiBAcGFyYW0ge01hcmtlck1vZGVsW119IHZhbHVlIC0gVGhlIGFycmF5IG9mIE1hcmtlck1vZGVsIG9iamVjdHMgdG8gc2V0IGFzIG1hcmtlcnMuXG4gICAqL1xuICBASW5wdXQoKSBzZXQgbWFya2Vycyh2YWx1ZTogTWFya2VyTW9kZWxbXSkge1xuICAgIHRoaXMuX21hcmtlcnMgPSB2YWx1ZSA/PyBbXTtcbiAgICB0aGlzLnB1dE1hcmtlcnMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YihNYXBSZW5kZXJlZEV2ZW50KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wdXRNYXJrZXJzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXRNYXJrZXJzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbWFya2VycykgcmV0dXJuO1xuICAgIHRoaXMucG9zdGJveS5maXJlKFxuICAgICAgbmV3IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQoXG4gICAgICAgIHRoaXMubGF5ZXJOYW1lLFxuICAgICAgICB0aGlzLl9tYXJrZXJzLm1hcCgobSkgPT4gbS5mZWF0dXJlKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,56 +0,0 @@
|
|
|
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 { MapConstants } from '../../../models';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../../services/map-postboy.service";
|
|
9
|
-
/**
|
|
10
|
-
* Component for rendering polygons on a map.
|
|
11
|
-
* It listens for changes in the `polygons` input property and
|
|
12
|
-
* automatically puts the polygons on the map using the MapPostboyService.
|
|
13
|
-
*/
|
|
14
|
-
export class PolygonsComponent extends DestructibleComponent {
|
|
15
|
-
postboy;
|
|
16
|
-
layerName = '';
|
|
17
|
-
constructor(postboy) {
|
|
18
|
-
super();
|
|
19
|
-
this.postboy = postboy;
|
|
20
|
-
}
|
|
21
|
-
_polygons = [];
|
|
22
|
-
/**
|
|
23
|
-
* Sets the value of polygons.
|
|
24
|
-
*
|
|
25
|
-
* @param {PolygonModel[]} value - The new value for polygons.
|
|
26
|
-
*/
|
|
27
|
-
set polygons(value) {
|
|
28
|
-
this._polygons = value ?? [];
|
|
29
|
-
this.putPolygons();
|
|
30
|
-
}
|
|
31
|
-
ngOnInit() {
|
|
32
|
-
this.postboy
|
|
33
|
-
.sub(MapRenderedEvent)
|
|
34
|
-
.pipe(filter((m) => !!m), first())
|
|
35
|
-
.subscribe(() => this.putPolygons());
|
|
36
|
-
}
|
|
37
|
-
putPolygons() {
|
|
38
|
-
if (!this._polygons)
|
|
39
|
-
return;
|
|
40
|
-
this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => {
|
|
41
|
-
m.feature.set(MapConstants.FeatureLayerName, this.layerName);
|
|
42
|
-
return m.feature;
|
|
43
|
-
})));
|
|
44
|
-
}
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PolygonsComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PolygonsComponent, isStandalone: true, selector: "art-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PolygonsComponent, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{ selector: 'art-polygons', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
51
|
-
}], ctorParameters: () => [{ type: i1.MapPostboyService }], propDecorators: { layerName: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}], polygons: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRS9DOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBR3RDO0lBRlgsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUV4QixZQUFvQixPQUEwQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBRTlDLENBQUM7SUFFRCxTQUFTLEdBQW1CLEVBQUUsQ0FBQztJQUUvQjs7OztPQUlHO0lBQ0gsSUFBYSxRQUFRLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2FBQ3JCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEIsS0FBSyxFQUFFLENBQ1I7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixJQUFJLHlCQUF5QixDQUMzQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3RCxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0F4Q1UsaUJBQWlCOzRGQUFqQixpQkFBaUIseUpBSmxCLEVBQUU7OzRGQUlELGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxZQUNOLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTtzRkFHdEMsU0FBUztzQkFBakIsS0FBSztnQkFhTyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUG9seWdvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3BvbHlnb24ubW9kZWwnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHJlbmRlcmluZyBwb2x5Z29ucyBvbiBhIG1hcC5cbiAqIEl0IGxpc3RlbnMgZm9yIGNoYW5nZXMgaW4gdGhlIGBwb2x5Z29uc2AgaW5wdXQgcHJvcGVydHkgYW5kXG4gKiBhdXRvbWF0aWNhbGx5IHB1dHMgdGhlIHBvbHlnb25zIG9uIHRoZSBtYXAgdXNpbmcgdGhlIE1hcFBvc3Rib3lTZXJ2aWNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtcG9seWdvbnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQb2x5Z29uc0NvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxheWVyTmFtZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3BvbHlnb25zOiBQb2x5Z29uTW9kZWxbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiBwb2x5Z29ucy5cbiAgICpcbiAgICogQHBhcmFtIHtQb2x5Z29uTW9kZWxbXX0gdmFsdWUgLSBUaGUgbmV3IHZhbHVlIGZvciBwb2x5Z29ucy5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBwb2x5Z29ucyh2YWx1ZTogUG9seWdvbk1vZGVsW10pIHtcbiAgICB0aGlzLl9wb2x5Z29ucyA9IHZhbHVlID8/IFtdO1xuICAgIHRoaXMucHV0UG9seWdvbnMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YihNYXBSZW5kZXJlZEV2ZW50KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wdXRQb2x5Z29ucygpKTtcbiAgfVxuXG4gIHByaXZhdGUgcHV0UG9seWdvbnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wb2x5Z29ucykgcmV0dXJuO1xuICAgIHRoaXMucG9zdGJveS5maXJlKFxuICAgICAgbmV3IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQoXG4gICAgICAgIHRoaXMubGF5ZXJOYW1lLFxuICAgICAgICB0aGlzLl9wb2x5Z29ucy5tYXAoKG0pID0+IHtcbiAgICAgICAgICBtLmZlYXR1cmUuc2V0KE1hcENvbnN0YW50cy5GZWF0dXJlTGF5ZXJOYW1lLCB0aGlzLmxheWVyTmFtZSk7XG4gICAgICAgICAgcmV0dXJuIG0uZmVhdHVyZTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
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: "18.2.14", ngImport: i0, type: ClusterLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClusterLayerFactory, providedIn: 'root' });
|
|
52
|
-
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClusterLayerFactory, decorators: [{
|
|
54
|
-
type: Injectable,
|
|
55
|
-
args: [{
|
|
56
|
-
providedIn: 'root',
|
|
57
|
-
}]
|
|
58
|
-
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSzdELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsS0FBSyxDQUFDLFFBQThCLEVBQUUsT0FBMEI7UUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMzQyxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztZQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsTUFBTSxFQUFFLE1BQU07WUFDZCxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM1QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25DLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUMvQixPQUFPLElBQWEsQ0FBQztnQkFDdkIsQ0FBQztxQkFBTSxJQUFJLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDeEMsT0FBUSxJQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUM7Z0JBQy9DLENBQUM7cUJBQU0sSUFBSSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksY0FBYyxFQUFFLENBQUM7b0JBQzdDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENBQUM7Z0JBQzFELENBQUM7Z0JBQ0QsT0FBTyxTQUFnQixDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQztZQUN0QixNQUFNLEVBQUUsT0FBTztZQUNmLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLFNBQVM7WUFDdEMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksU0FBUztZQUN0QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1NBQzdCLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQThCO1FBQ3RDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDdEMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUM7SUFDSixDQUFDO3dHQXJDVSxtQkFBbUI7NEdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgeyBiYm94IH0gZnJvbSAnb2wvbG9hZGluZ3N0cmF0ZWd5JztcbmltcG9ydCBQb2x5Z29uLCB7IGZyb21FeHRlbnQgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2VvbWV0cnksIFBvaW50IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyRmFjdG9yeSB7XG4gIHB1YmxpYyBidWlsZChzZXR0aW5nczogQ2x1c3RlckxheWVyU2V0dGluZ3MsIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKTogQ2x1c3RlckxheWVyTWFuYWdlciB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFNvdXJjZSh7XG4gICAgICBzdHJhdGVneTogc2V0dGluZ3MuYmJveCA/IGJib3ggOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgY29uc3QgY2x1c3RlciA9IG5ldyBDbHVzdGVyKHtcbiAgICAgIGRpc3RhbmNlOiBzZXR0aW5ncy5kaXN0YW5jZSxcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgZ2VvbWV0cnlGdW5jdGlvbjogKGZlYXR1cmUpID0+IHtcbiAgICAgICAgY29uc3QgZ2VvbSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcbiAgICAgICAgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnUG9pbnQnKSB7XG4gICAgICAgICAgcmV0dXJuIGdlb20gYXMgUG9pbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoZ2VvbT8uZ2V0VHlwZSgpID09ICdQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiAoZ2VvbSBhcyBQb2x5Z29uKT8uZ2V0SW50ZXJpb3JQb2ludCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnTXVsdGlQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiBmcm9tRXh0ZW50KGdlb20uZ2V0RXh0ZW50KCkpPy5nZXRJbnRlcmlvclBvaW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGxheWVyID0gbmV3IExheWVyKHtcbiAgICAgIHNvdXJjZTogY2x1c3RlcixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgdW5kZWZpbmVkLFxuICAgICAgbWluWm9vbTogc2V0dGluZ3MubWluWm9vbSB8fCB1bmRlZmluZWQsXG4gICAgICB6SW5kZXg6IHNldHRpbmdzLnpJbmRleCB8fCAwLFxuICAgIH0pO1xuICAgIGxheWVyLnNldFN0eWxlKHRoaXMuc3R5bGVGdW5jKHNldHRpbmdzKSk7XG4gICAgbGF5ZXIuc2V0KCduYW1lJywgc2V0dGluZ3MubmFtZSk7XG4gICAgcmV0dXJuIG5ldyBDbHVzdGVyTGF5ZXJNYW5hZ2VyKHNldHRpbmdzLCBsYXllciwgcG9zdGJveSk7XG4gIH1cblxuICBzdHlsZUZ1bmMoc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzKTogU3R5bGVGdW5jdGlvbiB7XG4gICAgcmV0dXJuIChmZWF0dXJlKSA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlcyA9IGZlYXR1cmUuZ2V0KCdmZWF0dXJlcycpIGFzIEZlYXR1cmU8R2VvbWV0cnk+W107XG4gICAgICBpZiAoIXNldHRpbmdzLnN0eWxlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHNldHRpbmdzLnN0eWxlKGZlYXR1cmVzLm1hcCgoZikgPT4gKHsgaWQ6IGYuZ2V0SWQoKSEsIC4uLmYuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbykgfSkpKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|