diff --git a/src/Components/Map/Subcomponents/ItemPopupComponents/HeaderView.tsx b/src/Components/Map/Subcomponents/ItemPopupComponents/HeaderView.tsx index 132a7b3d..06ef7287 100644 --- a/src/Components/Map/Subcomponents/ItemPopupComponents/HeaderView.tsx +++ b/src/Components/Map/Subcomponents/ItemPopupComponents/HeaderView.tsx @@ -7,63 +7,68 @@ import { Item } from "../../../../types"; -export function HeaderView({item, setItemFormPopup}: { - item : Item, - setItemFormPopup?: React.Dispatch> +export function HeaderView({ item, setItemFormPopup }: { + item: Item, + setItemFormPopup?: React.Dispatch> }) { - const removeItem = useRemoveItem(); - - const map = useMap(); + const [loading, setLoading] = React.useState(false); + const removeItem = useRemoveItem(); + + const map = useMap(); + + const removeItemFromMap = (event: React.MouseEvent) => { + setLoading(true); + item.api?.deleteItem!(item.id) + .then(() => removeItem(item)) + .then(() => map.closePopup()) + .then(()=>setLoading(false)) + .catch(err => console.log(err)); + + event.stopPropagation(); + } + + const openEditPopup = (event: React.MouseEvent) => { + event.stopPropagation(); + map.closePopup(); + if (setItemFormPopup) + setItemFormPopup({ position: new LatLng(item.position.coordinates[1], item.position.coordinates[0]), layer: item.layer, item: item, setItemFormPopup: setItemFormPopup }) + } - const removeItemFromMap = (event: React.MouseEvent) => { - item.api?.deleteItem!(item.id) - .then( () => removeItem(item)) - .then(()=> map.closePopup()) - .catch(err => console.log(err)); - - event.stopPropagation(); - } - - const openEditPopup = (event: React.MouseEvent) => { - event.stopPropagation(); - map.closePopup(); - if (setItemFormPopup) - setItemFormPopup({ position: new LatLng(item.position.coordinates[1], item.position.coordinates[0]), layer: item.layer, item: item, setItemFormPopup: setItemFormPopup }) - } - return (
-
- {item.name} -
-
- {item.api && -
- -
} + {item.api.deleteItem &&
  • + + {loading ? + : + + + } + +
  • } + +
    } +
    - ) }