|
|
|
@ -3500,6 +3500,43 @@ class App extends React.Component<AppProps, AppState> {
|
|
|
|
|
this.setState({ contextMenu: null });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.updateGestureOnPointerDown(event);
|
|
|
|
|
|
|
|
|
|
// if dragging element is freedraw and another pointerdown event occurs
|
|
|
|
|
// a second finger is on the screen
|
|
|
|
|
// discard the freedraw element if it is very short because it is likely
|
|
|
|
|
// just a spike, otherwise finalize the freedraw element when the second
|
|
|
|
|
// finger is lifted
|
|
|
|
|
if (
|
|
|
|
|
event.pointerType === "touch" &&
|
|
|
|
|
this.state.draggingElement &&
|
|
|
|
|
this.state.draggingElement.type === "freedraw"
|
|
|
|
|
) {
|
|
|
|
|
const element = this.state.draggingElement as ExcalidrawFreeDrawElement;
|
|
|
|
|
this.updateScene({
|
|
|
|
|
...(element.points.length < 10
|
|
|
|
|
? {
|
|
|
|
|
elements: this.scene
|
|
|
|
|
.getElementsIncludingDeleted()
|
|
|
|
|
.filter((el) => el.id !== element.id),
|
|
|
|
|
}
|
|
|
|
|
: {}),
|
|
|
|
|
appState: {
|
|
|
|
|
draggingElement: null,
|
|
|
|
|
editingElement: null,
|
|
|
|
|
startBoundElement: null,
|
|
|
|
|
suggestedBindings: [],
|
|
|
|
|
selectedElementIds: Object.keys(this.state.selectedElementIds)
|
|
|
|
|
.filter((key) => key !== element.id)
|
|
|
|
|
.reduce((obj: { [id: string]: boolean }, key) => {
|
|
|
|
|
obj[key] = this.state.selectedElementIds[key];
|
|
|
|
|
return obj;
|
|
|
|
|
}, {}),
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// remove any active selection when we start to interact with canvas
|
|
|
|
|
// (mainly, we care about removing selection outside the component which
|
|
|
|
|
// would prevent our copy handling otherwise)
|
|
|
|
@ -3539,8 +3576,6 @@ class App extends React.Component<AppProps, AppState> {
|
|
|
|
|
});
|
|
|
|
|
this.savePointer(event.clientX, event.clientY, "down");
|
|
|
|
|
|
|
|
|
|
this.updateGestureOnPointerDown(event);
|
|
|
|
|
|
|
|
|
|
if (this.handleCanvasPanUsingWheelOrSpaceDrag(event)) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|