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 }, { 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 { } else {
setCursor(this.interactiveCanvas, CURSOR_TYPE.POINTER); setCursor(this.interactiveCanvas, CURSOR_TYPE.POINTER);
// in this branch, we're inside the commit zone, and no uncommitted // 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 { return {
...prevState, ...prevState,
bindMode: "orbit", bindMode: "orbit",
@@ -8760,6 +8773,14 @@ class App extends React.Component<AppProps, AppState> {
this.handleDelayedBindModeChange(element, hoveredElement); this.handleDelayedBindModeChange(element, hoveredElement);
} }
if (
event.altKey &&
!this.state.selectedLinearElement?.pointerDownState
?.arrowStartIsInside
) {
this.handleSkipBindMode();
}
const newState = LinearElementEditor.handlePointDragging( const newState = LinearElementEditor.handlePointDragging(
event, event,
this, this,