Fix binding disabling when taking screenshots on macOS (#2129)

* Fix binding disabling when taking screenshots on macOS
* Update snapshot for cmd+click test
This commit is contained in:
Michal Srb 2020-09-03 16:12:01 +02:00 committed by GitHub
parent 924292dc9a
commit 15e4b51bb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 1 deletions

View File

@ -171,6 +171,7 @@ import {
isLinearElementSimpleAndAlreadyBound,
isBindingEnabled,
updateBoundElements,
shouldEnableBindingForPointerEvent,
} from "../element/binding";
import { MaybeTransformHandleType } from "../element/transformHandles";
@ -2220,6 +2221,7 @@ class App extends React.Component<ExcalidrawProps, AppState> {
}
this.clearSelectionIfNotUsingSelection();
this.updateBindingEnabledOnPointerMove(event);
if (this.handleSelectionOnPointerDown(event, pointerDownState)) {
return;
@ -3484,6 +3486,15 @@ class App extends React.Component<ExcalidrawProps, AppState> {
});
}
private updateBindingEnabledOnPointerMove = (
event: React.PointerEvent<HTMLCanvasElement>,
) => {
const shouldEnableBinding = shouldEnableBindingForPointerEvent(event);
if (this.state.isBindingEnabled !== shouldEnableBinding) {
this.setState({ isBindingEnabled: shouldEnableBinding });
}
};
private maybeSuggestBindingAtCursor = (pointerCoords: {
x: number;
y: number;

View File

@ -21,6 +21,7 @@ import { mutateElement } from "./mutateElement";
import Scene from "../scene/Scene";
import { LinearElementEditor } from "./linearElementEditor";
import { tupleToCoors } from "../utils";
import { KEYS } from "../keys";
export type SuggestedBinding =
| NonDeleted<ExcalidrawBindableElement>
@ -32,6 +33,12 @@ export type SuggestedPointBinding = [
NonDeleted<ExcalidrawBindableElement>,
];
export const shouldEnableBindingForPointerEvent = (
event: React.PointerEvent<HTMLCanvasElement>,
) => {
return !event[KEYS.CTRL_OR_CMD];
};
export const isBindingEnabled = (appState: AppState): boolean => {
return appState.isBindingEnabled;
};

View File

@ -907,7 +907,7 @@ Object {
"exportBackground": true,
"gridSize": null,
"height": 768,
"isBindingEnabled": true,
"isBindingEnabled": false,
"isCollaborating": false,
"isLibraryOpen": false,
"isLoading": false,