fix: Use last point for existing arrows

This commit is contained in:
Mark Tolmacs
2025-11-08 21:18:56 +01:00
parent e92049d7a2
commit 438297f083
2 changed files with 20 additions and 11 deletions

View File

@@ -685,10 +685,10 @@ const getBindingStrategyForDraggingBindingElementEndpoints_simple = (
// Handle outside-outside binding to the same element
if (otherBinding && otherBinding.elementId === hit?.id) {
const [startFixedPoint, endFixedPoint] = getGlobalFixedPoints(
arrow,
elementsMap,
);
// const [startFixedPoint, endFixedPoint] = getGlobalFixedPoints(
// arrow,
// elementsMap,
// );
invariant(
!opts?.newArrow || appState.selectedLinearElement?.initialState.origin,
@@ -704,12 +704,22 @@ const getBindingStrategyForDraggingBindingElementEndpoints_simple = (
: // NOTE: Can only affect the start point because new arrows always drag the end point
opts?.newArrow
? appState.selectedLinearElement!.initialState.origin!
: startFixedPoint,
: LinearElementEditor.getPointAtIndexGlobalCoordinates(
arrow,
0,
elementsMap,
), // startFixedPoint,
},
end: {
mode: "inside",
element: hit,
focusPoint: endDragged ? globalPoint : endFixedPoint,
focusPoint: endDragged
? globalPoint
: LinearElementEditor.getPointAtIndexGlobalCoordinates(
arrow,
-1,
elementsMap,
), // endFixedPoint
},
};
}