fix: Arrow start inside binding switch

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
This commit is contained in:
Mark Tolmacs
2025-09-03 20:58:20 +02:00
parent 364f0be815
commit f8b8c0e95c

View File

@@ -6284,6 +6284,18 @@ class App extends React.Component<AppProps, AppState> {
},
{ informMutation: false, isDragging: false },
);
if (this.state.selectedLinearElement?.pointerDownState) {
this.setState({
selectedLinearElement: {
...this.state.selectedLinearElement,
selectedPointsIndices: [multiElement.points.length - 1],
pointerDownState: {
...this.state.selectedLinearElement.pointerDownState,
lastClickedPoint: multiElement.points.length - 1,
},
},
});
}
} else {
setCursor(this.interactiveCanvas, CURSOR_TYPE.POINTER);
// in this branch, we're inside the commit zone, and no uncommitted
@@ -8374,13 +8386,14 @@ class App extends React.Component<AppProps, AppState> {
),
},
};
nextSelectedElementIds = makeNextSelectedElementIds(
{ [element.id]: true },
prevState,
);
}
}
nextSelectedElementIds = makeNextSelectedElementIds(
{ [element.id]: true },
prevState,
);
return {
...prevState,
bindMode: "orbit",
@@ -8760,6 +8773,14 @@ class App extends React.Component<AppProps, AppState> {
this.handleDelayedBindModeChange(element, hoveredElement);
}
if (
event.altKey &&
!this.state.selectedLinearElement?.pointerDownState
?.arrowStartIsInside
) {
this.handleSkipBindMode();
}
const newState = LinearElementEditor.handlePointDragging(
event,
this,