From a5b3859f3bbe5fe803be2c576cda9c969a39a05b Mon Sep 17 00:00:00 2001 From: Kai Volland Date: Thu, 31 Oct 2024 16:43:47 +0100 Subject: [PATCH] feat: introduces "mapInteractions" config --- .../lib/enumeration/MapInteraction.java | 37 +++++++++++++++++++ .../DefaultApplicationClientConfig.java | 10 +++++ 2 files changed, 47 insertions(+) create mode 100644 shogun-lib/src/main/java/de/terrestris/shogun/lib/enumeration/MapInteraction.java diff --git a/shogun-lib/src/main/java/de/terrestris/shogun/lib/enumeration/MapInteraction.java b/shogun-lib/src/main/java/de/terrestris/shogun/lib/enumeration/MapInteraction.java new file mode 100644 index 000000000..3568ccacd --- /dev/null +++ b/shogun-lib/src/main/java/de/terrestris/shogun/lib/enumeration/MapInteraction.java @@ -0,0 +1,37 @@ +/* SHOGun, https://terrestris.github.io/shogun/ + * + * Copyright © 2020-present terrestris GmbH & Co. KG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package de.terrestris.shogun.lib.enumeration; + +public enum MapInteraction { + DragRotate("DragRotate"), + DragRotateAndZoom("DragRotateAndZoom"), + DblClickDragZoom("DblClickDragZoom"), + DoubleClickZoom("DoubleClickZoom"), + DragPan("DragPan"), + PinchRotate("PinchRotate"), + PinchZoom("PinchZoom"), + KeyboardPan("KeyboardPan"), + KeyboardZoom("KeyboardZoom"), + MouseWheelZoom("MouseWheelZoom"), + DragZoom("DragZoom"); + + private final String type; + + MapInteraction(String type) { + this.type = type; + } +} diff --git a/shogun-lib/src/main/java/de/terrestris/shogun/lib/model/jsonb/application/DefaultApplicationClientConfig.java b/shogun-lib/src/main/java/de/terrestris/shogun/lib/model/jsonb/application/DefaultApplicationClientConfig.java index 494a4d742..046f554d8 100644 --- a/shogun-lib/src/main/java/de/terrestris/shogun/lib/model/jsonb/application/DefaultApplicationClientConfig.java +++ b/shogun-lib/src/main/java/de/terrestris/shogun/lib/model/jsonb/application/DefaultApplicationClientConfig.java @@ -19,6 +19,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import de.terrestris.shogun.lib.annotation.JsonSuperType; +import de.terrestris.shogun.lib.enumeration.MapInteraction; import de.terrestris.shogun.lib.model.jsonb.ApplicationClientConfig; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; @@ -26,6 +27,8 @@ import lombok.NoArgsConstructor; import lombok.NonNull; +import java.util.ArrayList; + @Data @JsonDeserialize(as = DefaultApplicationClientConfig.class) @JsonSuperType(type = ApplicationClientConfig.class) @@ -41,6 +44,13 @@ public class DefaultApplicationClientConfig implements ApplicationClientConfig { @NonNull private DefaultMapView mapView; + @Schema( + description = "The ol interactions added to the map", + defaultValue = "[\"DragRotate\",\"DoubleClickZoom\",\"DragPan\",\"PinchRotate\",\"PinchZoom\",\"KeyboardPan\",\"KeyboardZoom\",\"MouseWheelZoom\",\"DragZoom\"]", + example = "[\"DragPan\",\"MouseWheelZoom\"]" + ) + private ArrayList mapInteractions; + @Schema( description = "The description of the application." )