fixed sticker deletion bug

This commit is contained in:
Fedor Katurov 2021-04-20 17:34:53 +07:00
parent 0018465f15
commit 8346c2533f
3 changed files with 10 additions and 23 deletions

View file

@ -32,7 +32,6 @@
"gpx-parser-builder": "^1.0.2", "gpx-parser-builder": "^1.0.2",
"leaflet": "1.6.0", "leaflet": "1.6.0",
"leaflet-editable": "^1.1.0", "leaflet-editable": "^1.1.0",
"leaflet-geometryutil": "^0.9.0",
"leaflet-routing-machine": "^3.2.12", "leaflet-routing-machine": "^3.2.12",
"leaflet.markercluster": "^1.4.1", "leaflet.markercluster": "^1.4.1",
"node-sass": "^5.0.0", "node-sass": "^5.0.0",

View file

@ -49,7 +49,7 @@ const Sticker: React.FC<IProps> = ({
const stickerImage = React.useRef<HTMLDivElement>(null); const stickerImage = React.useRef<HTMLDivElement>(null);
const onChange = React.useCallback(state => mapSetSticker(index, state), [mapSetSticker, index]); const onChange = React.useCallback(state => mapSetSticker(index, state), [mapSetSticker, index]);
const onDelete = React.useCallback(state => mapDropSticker(index), [mapSetSticker, index]); const onDelete = React.useCallback(() => setTimeout(() => mapDropSticker(index), 0), [mapDropSticker, index]);
const updateAngle = useCallback( const updateAngle = useCallback(
ang => { ang => {
@ -65,12 +65,12 @@ const Sticker: React.FC<IProps> = ({
stickerArrow.current.style.transform = `rotate(${ang + Math.PI}rad)`; stickerArrow.current.style.transform = `rotate(${ang + Math.PI}rad)`;
}, },
[stickerArrow, stickerImage] [stickerArrow, stickerImage],
); );
const onDragStart = React.useCallback(() => { const onDragStart = React.useCallback(() => {
if (!layer?.dragging) { if (!layer?.dragging) {
return return;
} }
layer.dragging.disable(); layer.dragging.disable();
@ -100,7 +100,7 @@ const Sticker: React.FC<IProps> = ({
setTimeout(MainMap.enableClicks, 100); setTimeout(MainMap.enableClicks, 100);
}, },
[setDragging, layer, MainMap, sticker, angle] [setDragging, layer, MainMap, sticker, angle],
); );
const onMoveStarted = React.useCallback(() => { const onMoveStarted = React.useCallback(() => {
@ -118,7 +118,7 @@ const Sticker: React.FC<IProps> = ({
MainMap.enableClicks(); MainMap.enableClicks();
}, },
[onChange, sticker] [onChange, sticker],
); );
const onDrag = React.useCallback( const onDrag = React.useCallback(
@ -130,7 +130,7 @@ const Sticker: React.FC<IProps> = ({
angle.current = parseFloat(Math.atan2(y - pageY, x - pageX).toFixed(2)); angle.current = parseFloat(Math.atan2(y - pageY, x - pageX).toFixed(2));
updateAngle(angle.current); updateAngle(angle.current);
}, },
[element, updateAngle, angle] [element, updateAngle, angle],
); );
const onTextChange = React.useCallback(text => setText(text), [sticker, onChange]); const onTextChange = React.useCallback(text => setText(text), [sticker, onChange]);
@ -143,7 +143,7 @@ const Sticker: React.FC<IProps> = ({
}, [text, onChange, sticker]); }, [text, onChange, sticker]);
const direction = React.useMemo(() => { const direction = React.useMemo(() => {
getLabelDirection(sticker?.angle) getLabelDirection(sticker?.angle);
}, [sticker.angle]); }, [sticker.angle]);
useEffect(() => { useEffect(() => {
@ -165,9 +165,9 @@ const Sticker: React.FC<IProps> = ({
useEffect(() => { useEffect(() => {
if (!wrapper || !wrapper.current) return; if (!wrapper || !wrapper.current) return;
const scale = getAdaptiveScale(zoom) // adaptive zoom :-) const scale = getAdaptiveScale(zoom); // adaptive zoom :-)
wrapper.current.style.transform = `scale(${scale}) perspective(1px)` wrapper.current.style.transform = `scale(${scale}) perspective(1px)`;
}, [zoom, wrapper]); }, [zoom, wrapper]);
// Attaches onMoveFinished event to item // Attaches onMoveFinished event to item
@ -246,7 +246,7 @@ const Sticker: React.FC<IProps> = ({
<div className="sticker-delete" onMouseDown={onDelete} onTouchStart={onDelete} /> <div className="sticker-delete" onMouseDown={onDelete} onTouchStart={onDelete} />
</div> </div>
</div>, </div>,
element element,
); );
}; };

View file

@ -7197,13 +7197,6 @@ leaflet-editable@^1.1.0:
resolved "https://registry.yarnpkg.com/leaflet-editable/-/leaflet-editable-1.2.0.tgz#a3a01001764ba58ea923381ee6a1c814708a0b84" resolved "https://registry.yarnpkg.com/leaflet-editable/-/leaflet-editable-1.2.0.tgz#a3a01001764ba58ea923381ee6a1c814708a0b84"
integrity sha512-wG11JwpL8zqIbypTop6xCRGagMuWw68ihYu4uqrqc5Ep0wnEJeyob7NB2Rt5t74Oih4rwJ3OfwaGbzdowOGfYQ== integrity sha512-wG11JwpL8zqIbypTop6xCRGagMuWw68ihYu4uqrqc5Ep0wnEJeyob7NB2Rt5t74Oih4rwJ3OfwaGbzdowOGfYQ==
leaflet-geometryutil@^0.9.0:
version "0.9.3"
resolved "https://registry.yarnpkg.com/leaflet-geometryutil/-/leaflet-geometryutil-0.9.3.tgz#e10fa302d99d4b1d3c6365a1f39298635a2704cd"
integrity sha512-Wi6YvfNx/Xu9q35AEfXpsUXmIFLen/MO+C2qimxHRnjyeyOxBhdcZa6kSiReaOX0cGK7yQInqrzz0dkIqZ8Dpg==
dependencies:
leaflet ">=0.7.0"
leaflet-routing-machine@^3.2.12: leaflet-routing-machine@^3.2.12:
version "3.2.12" version "3.2.12"
resolved "https://registry.yarnpkg.com/leaflet-routing-machine/-/leaflet-routing-machine-3.2.12.tgz#9e4aef008321b0227cf894d829c3b4c1f13e4e13" resolved "https://registry.yarnpkg.com/leaflet-routing-machine/-/leaflet-routing-machine-3.2.12.tgz#9e4aef008321b0227cf894d829c3b4c1f13e4e13"
@ -7223,11 +7216,6 @@ leaflet@1.6.0:
resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.6.0.tgz#aecbb044b949ec29469eeb31c77a88e2f448f308" resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.6.0.tgz#aecbb044b949ec29469eeb31c77a88e2f448f308"
integrity sha512-CPkhyqWUKZKFJ6K8umN5/D2wrJ2+/8UIpXppY7QDnUZW5bZL5+SEI2J7GBpwh4LIupOKqbNSQXgqmrEJopHVNQ== integrity sha512-CPkhyqWUKZKFJ6K8umN5/D2wrJ2+/8UIpXppY7QDnUZW5bZL5+SEI2J7GBpwh4LIupOKqbNSQXgqmrEJopHVNQ==
leaflet@>=0.7.0:
version "1.7.1"
resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.7.1.tgz#10d684916edfe1bf41d688a3b97127c0322a2a19"
integrity sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw==
leven@^3.1.0: leven@^3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"