feat: create useMapContextMenu.js for Separate of Conserns or modularity

This commit is contained in:
ISA
2024-07-10 10:53:28 +02:00
parent 6d024235d0
commit 2bd9558aa9
5 changed files with 42 additions and 33 deletions

View File

@@ -0,0 +1,22 @@
import { useState, useCallback } from "react";
const useMapContextMenu = (map, hasRights, addStationCallback) => {
const [menuItemAdded, setMenuItemAdded] = useState(false);
const addItemsToMapContextMenu = useCallback(() => {
if (map && !menuItemAdded) {
map.contextmenu.addItem({
text: "POI hinzufügen",
icon: "img/add_station.png",
className: "background-red",
callback: (event) => addStationCallback(event, hasRights),
});
setMenuItemAdded(true); // Menüpunkt wurde hinzugefült, Zustand aktualisieren
}
}, [map, menuItemAdded, hasRights, addStationCallback]);
return { addItemsToMapContextMenu };
};
export default useMapContextMenu;