diff --git a/components/MapComponent.js b/components/MapComponent.js index e7d7f516a..5dfa8ef31 100644 --- a/components/MapComponent.js +++ b/components/MapComponent.js @@ -70,6 +70,10 @@ import { fetchUserRights, fetchDeviceNameById, } from "../services/apiService.js"; +import { + addContextMenuToMarker, + openInNewTab, +} from "../utils/contextMenuUtils.js"; //--------------------------------------------------------------------- //-------------------- MapComponent ----------------------------------- @@ -221,35 +225,6 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { //---------------------------------------------------- //-----Kontextmenu---------------- - function addContextMenuToMarker(marker) { - marker.unbindContextMenu(); // Entferne das Kontextmenü, um Duplikate zu vermeiden - - marker.bindContextMenu({ - contextmenu: true, - contextmenuWidth: 140, - contextmenuItems: [ - /* { - text: "Station öffnen (Tab)", - icon: "/img/screen_new.png", - callback: (e) => openInNewTab(e, marker), - }, - { - text: "Station öffnen", - icon: "/img/screen_same.png", - callback: (e) => openInSameWindow(e, marker), - }, */ - ], - }); - } - // Funktion zum Öffnen in einem neuen Tab - function openInNewTab(e, marker) { - if (marker && marker.options && marker.options.link) { - //console.log("Marker data:", baseUrl + marker.options.link); - window.open(baseUrl + marker.options.link, "_blank"); - } else { - console.error("Fehler: Marker hat keine gültige 'link' Eigenschaft"); - } - } // Funktion zum Öffnen im gleichen Fenster function openInSameWindow(e, marker) { diff --git a/utils/contextMenuUtils.js b/utils/contextMenuUtils.js new file mode 100644 index 000000000..4b7039ebb --- /dev/null +++ b/utils/contextMenuUtils.js @@ -0,0 +1,30 @@ +// contextMenuUtils.js +export function addContextMenuToMarker(marker) { + marker.unbindContextMenu(); // Entferne das Kontextmenü, um Duplikate zu vermeiden + + marker.bindContextMenu({ + contextmenu: true, + contextmenuWidth: 140, + contextmenuItems: [ + /* { + text: "Station öffnen (Tab)", + icon: "/img/screen_new.png", + callback: (e) => openInNewTab(e, marker), + }, + { + text: "Station öffnen", + icon: "/img/screen_same.png", + callback: (e) => openInSameWindow(e, marker), + }, */ + ], + }); +} +// Funktion zum Öffnen in einem neuen Tab +export function openInNewTab(e, marker) { + if (marker && marker.options && marker.options.link) { + //console.log("Marker data:", baseUrl + marker.options.link); + window.open(baseUrl + marker.options.link, "_blank"); + } else { + console.error("Fehler: Marker hat keine gültige 'link' Eigenschaft"); + } +}