Files
nodeMap/components/useMapContextMenu.js

23 lines
712 B
JavaScript

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;