fix: Ctrl+Alt precedence

This commit is contained in:
Mark Tolmacs
2025-09-02 16:49:44 +02:00
parent 62d7740c94
commit 67fff43b92
2 changed files with 9 additions and 33 deletions

View File

@@ -457,17 +457,7 @@ export class LinearElementEditor {
deltaX = target[0] - draggingPoint[0];
deltaY = target[1] - draggingPoint[1];
} else if (
// shouldAllowDraggingPoint(
// element,
// scenePointerX,
// scenePointerY,
// selectedPointsIndices,
// elementsMap,
// app,
// )
true
) {
} else {
const newDraggingPointPosition = LinearElementEditor.createPointAt(
element,
elementsMap,

View File

@@ -6208,7 +6208,7 @@ class App extends React.Component<AppProps, AppState> {
// Hovering with a selected tool or creating new linear element via click
// and point
const { newElement } = this.state;
if (isBindingElement(newElement, false)) {
if (isBindingElement(newElement, false) && isBindingEnabled(this.state)) {
this.setState({
suggestedBinding: maybeSuggestBindingsForBindingElementAtCoords(
newElement,
@@ -6217,8 +6217,6 @@ class App extends React.Component<AppProps, AppState> {
pointFrom<GlobalPoint>(scenePointerX, scenePointerY),
),
});
} else {
this.maybeSuggestBindingAtCursor(scenePointer);
}
}
@@ -8280,11 +8278,13 @@ class App extends React.Component<AppProps, AppState> {
pointerDownState.origin.y,
);
const elementsMap = this.scene.getNonDeletedElementsMap();
const boundElement = getHoveredElementForBinding(
point,
this.scene.getNonDeletedElements(),
elementsMap,
);
const boundElement = isBindingEnabled(this.state)
? getHoveredElementForBinding(
point,
this.scene.getNonDeletedElements(),
elementsMap,
)
: null;
this.scene.mutateElement(element, {
points: [pointFrom<LocalPoint>(0, 0), pointFrom<LocalPoint>(0, 0)],
@@ -10703,20 +10703,6 @@ class App extends React.Component<AppProps, AppState> {
}
};
private maybeSuggestBindingAtCursor = (pointerCoords: {
x: number;
y: number;
}): void => {
const hoveredBindableElement = getHoveredElementForBinding(
pointFrom<GlobalPoint>(pointerCoords.x, pointerCoords.y),
this.scene.getNonDeletedElements(),
this.scene.getNonDeletedElementsMap(),
);
this.setState({
suggestedBinding: hoveredBindableElement ?? null,
});
};
private clearSelection(hitElement: ExcalidrawElement | null): void {
this.setState((prevState) => ({
selectedElementIds: makeNextSelectedElementIds({}, prevState),