mirror of
https://github.com/basketikun/infinite-canvas.git
synced 2026-08-07 01:54:24 +08:00
feat(canvas): implement multi-image resize behavior to prevent nested updates during resizing
This commit is contained in:
@@ -288,9 +288,8 @@ export const CanvasNode = React.memo(function CanvasNode({
|
||||
return () => {
|
||||
window.removeEventListener("mousemove", handleResizeMove);
|
||||
window.removeEventListener("mouseup", handleResizeUp);
|
||||
if (resizeRef.current.isResizing) onResizeEnd(data.id);
|
||||
};
|
||||
}, [data.id, handleResizeMove, handleResizeUp, onResizeEnd]);
|
||||
}, [handleResizeMove, handleResizeUp]);
|
||||
|
||||
return (
|
||||
<div
|
||||
|
||||
@@ -1427,7 +1427,10 @@ function InfiniteCanvasPage() {
|
||||
setNodes((prev) => prev.map((node) => (node.id === nodeId ? { ...node, width, height, position: position || node.position } : node)));
|
||||
}, []);
|
||||
|
||||
const handleNodeResizeStart = useCallback(() => setIsNodeResizing(true), []);
|
||||
const handleNodeResizeStart = useCallback(() => {
|
||||
setIsNodeResizing(true);
|
||||
setExpandedImageNodeId(null);
|
||||
}, []);
|
||||
const handleNodeResizeEnd = useCallback(() => setIsNodeResizing(false), []);
|
||||
|
||||
const toggleNodeFreeResize = useCallback((nodeId: string) => {
|
||||
|
||||
Reference in New Issue
Block a user