|
@@ -291,13 +291,12 @@ import {
|
|
} from "../element/textElement";
|
|
} from "../element/textElement";
|
|
import { isHittingElementNotConsideringBoundingBox } from "../element/collision";
|
|
import { isHittingElementNotConsideringBoundingBox } from "../element/collision";
|
|
import {
|
|
import {
|
|
- normalizeLink,
|
|
|
|
showHyperlinkTooltip,
|
|
showHyperlinkTooltip,
|
|
hideHyperlinkToolip,
|
|
hideHyperlinkToolip,
|
|
Hyperlink,
|
|
Hyperlink,
|
|
isPointHittingLinkIcon,
|
|
isPointHittingLinkIcon,
|
|
- isLocalLink,
|
|
|
|
} from "../element/Hyperlink";
|
|
} from "../element/Hyperlink";
|
|
|
|
+import { isLocalLink, normalizeLink } from "../data/url";
|
|
import { shouldShowBoundingBox } from "../element/transformHandles";
|
|
import { shouldShowBoundingBox } from "../element/transformHandles";
|
|
import { actionUnlockAllElements } from "../actions/actionElementLock";
|
|
import { actionUnlockAllElements } from "../actions/actionElementLock";
|
|
import { Fonts } from "../scene/Fonts";
|
|
import { Fonts } from "../scene/Fonts";
|
|
@@ -3352,12 +3351,19 @@ class App extends React.Component<AppProps, AppState> {
|
|
this.device.isMobile,
|
|
this.device.isMobile,
|
|
);
|
|
);
|
|
if (lastPointerDownHittingLinkIcon && lastPointerUpHittingLinkIcon) {
|
|
if (lastPointerDownHittingLinkIcon && lastPointerUpHittingLinkIcon) {
|
|
- const url = this.hitLinkElement.link;
|
|
|
|
|
|
+ let url = this.hitLinkElement.link;
|
|
if (url) {
|
|
if (url) {
|
|
|
|
+ url = normalizeLink(url);
|
|
let customEvent;
|
|
let customEvent;
|
|
if (this.props.onLinkOpen) {
|
|
if (this.props.onLinkOpen) {
|
|
customEvent = wrapEvent(EVENT.EXCALIDRAW_LINK, event.nativeEvent);
|
|
customEvent = wrapEvent(EVENT.EXCALIDRAW_LINK, event.nativeEvent);
|
|
- this.props.onLinkOpen(this.hitLinkElement, customEvent);
|
|
|
|
|
|
+ this.props.onLinkOpen(
|
|
|
|
+ {
|
|
|
|
+ ...this.hitLinkElement,
|
|
|
|
+ link: url,
|
|
|
|
+ },
|
|
|
|
+ customEvent,
|
|
|
|
+ );
|
|
}
|
|
}
|
|
if (!customEvent?.defaultPrevented) {
|
|
if (!customEvent?.defaultPrevented) {
|
|
const target = isLocalLink(url) ? "_self" : "_blank";
|
|
const target = isLocalLink(url) ? "_self" : "_blank";
|
|
@@ -3365,7 +3371,7 @@ class App extends React.Component<AppProps, AppState> {
|
|
// https://mathiasbynens.github.io/rel-noopener/
|
|
// https://mathiasbynens.github.io/rel-noopener/
|
|
if (newWindow) {
|
|
if (newWindow) {
|
|
newWindow.opener = null;
|
|
newWindow.opener = null;
|
|
- newWindow.location = normalizeLink(url);
|
|
|
|
|
|
+ newWindow.location = url;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|