diff --git a/components/CircleIcon.js b/components/CircleIcon.js index 4e29508aa..adbe055e1 100644 --- a/components/CircleIcon.js +++ b/components/CircleIcon.js @@ -1,4 +1,5 @@ // /components/CircleIcon.js +// Custom circle icon for draggable markers import L from "leaflet"; import "leaflet/dist/leaflet.css"; diff --git a/components/EndIcon.js b/components/EndIcon.js index aee9541c8..4cff88270 100644 --- a/components/EndIcon.js +++ b/components/EndIcon.js @@ -1,3 +1,4 @@ +// Custom circle icon for draggable markers import L from "leaflet"; const endIcon = L.divIcon({ className: "custom-end-icon", diff --git a/components/MapComponent.js b/components/MapComponent.js index 6f632ce95..3d7d514df 100644 --- a/components/MapComponent.js +++ b/components/MapComponent.js @@ -47,10 +47,7 @@ import endIcon from "./EndIcon"; //--------------------------------------------------------------------- //-------------------- MapComponent ----------------------------------- const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { - // Get current zoom and center - //const currentZoom = map.getZoom(); const [currentZoom, setCurrentZoom] = useState(12); - //const currentCenter = map.getCenter(); const [currentCenter, setCurrentCenter] = useState(() => { const storedCenter = localStorage.getItem("mapCenter"); return storedCenter ? JSON.parse(storedCenter) : [53.111111, 8.4625]; @@ -98,19 +95,6 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { }, []); //--------------------------------------------------------------------- - /* - path.includes("critical") || // Priorität 1 - path.includes("major") || // Priorität 2 - path.includes("minor") || // Priorität 3 - path.includes("system") // Priorität 4 - */ - /* const priorityColors = { - 1: "#ba0000", // High priority, red, critical - 2: "#ed7b00", // Medium priority orange major - 3: "#d1ca00", // priority minor senfgelb - 4: "#8602ab", // priority system Violett - // 5: "#298a00", // normal priority green - }; */ const [menuItemAdded, setMenuItemAdded] = useState(false); const poiLayerVisible = useRecoilValue(poiLayerVisibleState); @@ -352,30 +336,6 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { }; // Kontextmenü Callback für "POI hinzufügen" - /* const addStationCallback = useCallback( - (event, hasRights) => { - console.log("Kontextmenü-Callback für 'POI hinzufügen' aufgerufen"); - console.log(event); - console.log("Benutzerrechte zum Zeitpunkt des Aufrufs:", hasRights); - - if (hasRights) { - setPopupCoordinates(event.latlng); - setShowPopup(true); - } else { - toast.error("Benutzer hat keine Berechtigung zum Hinzufügen.", { - position: "top-center", - autoClose: 5000, - hideProgressBar: false, - closeOnClick: true, - pauseOnHover: true, - draggable: true, - progress: undefined, - }); - console.log("Benutzer hat keine Berechtigung zum Hinzufügen."); - } - }, - [hasRights, isRightsLoaded] - ); // Keine Abhängigkeiten, da `hasRights` als Parameter übergeben wird */ const addStationCallback = useCallback( (event) => { //console.log("Benutzerrechte zum Zeitpunkt des Aufrufs:", hasRights); @@ -399,67 +359,6 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { ); // Abhängigkeit zu hasRights hinzufügen //-----Kontextmenu----ende------------ - //-------------------------------------------------------------------------------- - - // Verwende useMemo, um die Kontextmenü-Items nur zu initialisieren, wenn notwendig - /* const contextMenuItems = useMemo( - () => [ - { - text: "Station öffnen (Tab)", - icon: "/img/screen_new.png", - callback: (e) => { - const clickedMarker = e.relatedTarget; // Zugriff auf den Marker, der das Event ausgelöst hat - openInNewTab(e, clickedMarker); - }, - }, - { - text: "Station öffnen", - icon: "/img/screen_same.png", - //callback: (e) => openInSameWindow(e, marker), - callback: (e) => { - const clickedMarker = e.relatedTarget; // Zugriff auf den Marker, der das Event ausgelöst hat - openInSameWindow(e, clickedMarker); - }, - }, - "-", // Divider - { - text: "POI hinzufügen", - icon: "img/add_station.png", - className: "background-red", - callback: (event) => addStationCallback(event, hasRights), - }, - - { - text: "Koordinaten anzeigen", - icon: "img/not_listed_location.png", - callback: showCoordinates, - }, - "-", // Divider - { text: "Reinzoomen", icon: "img/zoom_in.png", callback: zoomIn }, - { text: "Rauszoomen", icon: "img/zoom_out.png", callback: zoomOut }, - { - text: "Hier zentrieren", - icon: "img/center_focus.png", - callback: centerHere, - }, - ], - [hasRights] - ); */ - /* useEffect(() => { - if (hasRights) { - setContextMenuItems([ - { - text: "POI hinzufügen test", - icon: "img/add_station.png", - className: "background-red", - callback: (event) => addStationCallback(event), - }, - // Weitere Menüpunkte... - ]); - } - }, [isRightsLoaded, hasRights]); - */ - //---------------------------------------------------------------------------------- //------------------------------------------ */ const layerNames = { "GSM Modem": "GSMMODEM", @@ -484,30 +383,6 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { .catch(() => setOnline(false)); }; let initMap = []; - //------------------------------------------ - //------------------------------------------ - /* function parsePoint(pointString) { - const match = pointString.match( - /POINT\s*\((\d+(\.\d+)?)\s+(\d+(\.\d+)?)\)/ - ); - if (match) { - return { - longitude: parseFloat(match[1]), - latitude: parseFloat(match[3]), // Achtung: Index 3 für die zweite Koordinate, wegen der Gruppe (\.\d+)? - }; - } else { - // Handle the error or return a default/fallback value - console.error("Invalid POINT format:", pointString); - return null; // Oder eine sinnvolle Standardantwort - } - } */ - //---------------------------------- - //------------------------------------------ - - /* function parsePoint(position) { - const [longitude, latitude] = position.slice(6, -1).split(" "); - return { latitude: parseFloat(latitude), longitude: parseFloat(longitude) }; - } */ //----------------------------------------------------------------- // TALAS Marker hinzufügen //----------------------------------------------------------------- @@ -555,29 +430,7 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { } return 5; // Default priority (lowest) }; - /* function determinePriority(iconPath) { - if (iconPath.includes("critical")) return 1; // Highest priority - if (iconPath.includes("critical")) { - console.log( - "iconPath.includes('critical'):", - iconPath.includes("critical") - ); - } - if (iconPath.includes("major")) return 2; - if (iconPath.includes("minor")) { - console.log("iconPath.includes('minor'):", iconPath.includes("minor")); - } - if (iconPath.includes("minor")) return 3; - if (iconPath.includes("system")) { - console.log("iconPath.includes('system'):", iconPath.includes("system")); - } - if (iconPath.includes("system")) return 4; - if (iconPath.includes("system")) { - console.log("iconPath.includes('system'):", iconPath.includes("system")); - } - return 5; // Default priority (lowest) - } */ // Daten von einer externen Quelle laden const createAndSetMarkers = async (systemId, setMarkersFunction) => { try { @@ -1152,21 +1005,6 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { } }; //-------------------------------------------------- - /* useEffect(() => { - fetchUserRights().then(() => { - setIsRightsLoaded(true); // Stellen Sie sicher, dass Sie diesen Status verwenden, um die Initialisierung zu kontrollieren. - }); -}, []); */ - - /* useEffect(() => { - if (map && !map.contextmenu) { - map.contextmenu = new L.Control.ContextMenu({ - contextmenu: true, - contextmenuWidth: 140, - contextmenuItems: [], // Starten mit einem leeren Array oder initialen Einträgen - }).addTo(map); - } - }, [map]); */ const addItemsToMapContextMenu = () => { if (!menuItemAdded) { @@ -1553,19 +1391,6 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { let measurementGT = measurements["GT"]; let measurementRLF = measurements["RLF"]; - /* console.log( - "area_name", - area_name, - "------measurementLT", - measurements.LT, - "-------measurementFBT", - measurements.FBT, - "------measurementGT", - measurements.GT, - "------measurementRLF", - measurements.RLF - ); - console.log("measurements", measurements); */ gmaMarkers.forEach((marker) => { marker.addTo(map); oms.addMarker(marker); @@ -2179,26 +2004,6 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { }, [lineColors]); //--------------------------------------------------------- - // Custom circle icon for draggable markers - /* const circleIcon = L.divIcon({ - className: "custom-div-icon", - html: "
", - iconSize: [25, 25], - iconAnchor: [5, 5], - }); */ - /* const startIcon = L.divIcon({ - className: "custom-start-icon", - html: "
", // Rot für den Startpunkt - iconSize: [25, 25], - iconAnchor: [5, 5], - }); */ - - /* const endIcon = L.divIcon({ - className: "custom-end-icon", - html: "
", // Blau für den Endpunkt - iconSize: [25, 25], - iconAnchor: [5, 5], - }); */ //----------------------- Update lines---------------------------------- const [lineStatusData, setLineStatusData] = useState([]); const [linesData, setLinesData] = useState([]); diff --git a/components/StartIcon.js b/components/StartIcon.js index b4b8fc0fa..5cb4dd1ed 100644 --- a/components/StartIcon.js +++ b/components/StartIcon.js @@ -1,3 +1,4 @@ +// Custom circle icon for draggable markers import L from "leaflet"; const startIcon = L.divIcon({ className: "custom-start-icon",