mirror of
https://github.com/excalidraw/excalidraw.git
synced 2024-11-10 11:35:52 +01:00
fix: do not open links twice (#4738)
This commit is contained in:
parent
9be6243873
commit
5f1cd4591a
@ -416,7 +416,7 @@ class App extends React.Component<AppProps, AppState> {
|
|||||||
ref={this.handleCanvasRef}
|
ref={this.handleCanvasRef}
|
||||||
onContextMenu={this.handleCanvasContextMenu}
|
onContextMenu={this.handleCanvasContextMenu}
|
||||||
onPointerMove={this.handleCanvasPointerMove}
|
onPointerMove={this.handleCanvasPointerMove}
|
||||||
onPointerUp={this.removePointer}
|
onPointerUp={this.handleCanvasPointerUp}
|
||||||
onPointerCancel={this.removePointer}
|
onPointerCancel={this.removePointer}
|
||||||
onTouchMove={this.handleTouchMove}
|
onTouchMove={this.handleTouchMove}
|
||||||
onPointerDown={this.handleCanvasPointerDown}
|
onPointerDown={this.handleCanvasPointerDown}
|
||||||
@ -439,7 +439,7 @@ class App extends React.Component<AppProps, AppState> {
|
|||||||
onPointerDown={this.handleCanvasPointerDown}
|
onPointerDown={this.handleCanvasPointerDown}
|
||||||
onDoubleClick={this.handleCanvasDoubleClick}
|
onDoubleClick={this.handleCanvasDoubleClick}
|
||||||
onPointerMove={this.handleCanvasPointerMove}
|
onPointerMove={this.handleCanvasPointerMove}
|
||||||
onPointerUp={this.removePointer}
|
onPointerUp={this.handleCanvasPointerUp}
|
||||||
onPointerCancel={this.removePointer}
|
onPointerCancel={this.removePointer}
|
||||||
onTouchMove={this.handleTouchMove}
|
onTouchMove={this.handleTouchMove}
|
||||||
>
|
>
|
||||||
@ -1523,28 +1523,6 @@ class App extends React.Component<AppProps, AppState> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
removePointer = (event: React.PointerEvent<HTMLElement> | PointerEvent) => {
|
removePointer = (event: React.PointerEvent<HTMLElement> | PointerEvent) => {
|
||||||
this.lastPointerUp = event;
|
|
||||||
if (this.isMobile) {
|
|
||||||
const scenePointer = viewportCoordsToSceneCoords(
|
|
||||||
{ clientX: event.clientX, clientY: event.clientY },
|
|
||||||
this.state,
|
|
||||||
);
|
|
||||||
const hitElement = this.getElementAtPosition(
|
|
||||||
scenePointer.x,
|
|
||||||
scenePointer.y,
|
|
||||||
);
|
|
||||||
this.hitLinkElement = this.getElementLinkAtPosition(
|
|
||||||
scenePointer,
|
|
||||||
hitElement,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (
|
|
||||||
this.hitLinkElement &&
|
|
||||||
!this.state.selectedElementIds[this.hitLinkElement.id]
|
|
||||||
) {
|
|
||||||
this.redirectToLink();
|
|
||||||
}
|
|
||||||
|
|
||||||
// remove touch handler for context menu on touch devices
|
// remove touch handler for context menu on touch devices
|
||||||
if (event.pointerType === "touch" && touchTimeout) {
|
if (event.pointerType === "touch" && touchTimeout) {
|
||||||
clearTimeout(touchTimeout);
|
clearTimeout(touchTimeout);
|
||||||
@ -2879,6 +2857,34 @@ class App extends React.Component<AppProps, AppState> {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private handleCanvasPointerUp = (
|
||||||
|
event: React.PointerEvent<HTMLCanvasElement>,
|
||||||
|
) => {
|
||||||
|
this.lastPointerUp = event;
|
||||||
|
if (this.isMobile) {
|
||||||
|
const scenePointer = viewportCoordsToSceneCoords(
|
||||||
|
{ clientX: event.clientX, clientY: event.clientY },
|
||||||
|
this.state,
|
||||||
|
);
|
||||||
|
const hitElement = this.getElementAtPosition(
|
||||||
|
scenePointer.x,
|
||||||
|
scenePointer.y,
|
||||||
|
);
|
||||||
|
this.hitLinkElement = this.getElementLinkAtPosition(
|
||||||
|
scenePointer,
|
||||||
|
hitElement,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (
|
||||||
|
this.hitLinkElement &&
|
||||||
|
!this.state.selectedElementIds[this.hitLinkElement.id]
|
||||||
|
) {
|
||||||
|
this.redirectToLink();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.removePointer(event);
|
||||||
|
};
|
||||||
|
|
||||||
private maybeOpenContextMenuAfterPointerDownOnTouchDevices = (
|
private maybeOpenContextMenuAfterPointerDownOnTouchDevices = (
|
||||||
event: React.PointerEvent<HTMLCanvasElement>,
|
event: React.PointerEvent<HTMLCanvasElement>,
|
||||||
): void => {
|
): void => {
|
||||||
|
Loading…
Reference in New Issue
Block a user