@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
37 lines • 1.07 kB
JavaScript
import { ACTION, ACTION_SUBJECT, EVENT_TYPE, MODE, PLATFORMS } from '../../analytics';
/**
* Function that opens a new page and fires the relevant analytics events
*/
export function handleNavigation(_ref) {
var url = _ref.url,
event = _ref.event,
onClickCallback = _ref.onClickCallback,
fireAnalyticsEvent = _ref.fireAnalyticsEvent;
if (fireAnalyticsEvent) {
fireAnalyticsEvent({
action: ACTION.VISITED,
actionSubject: ACTION_SUBJECT.LINK,
eventType: EVENT_TYPE.TRACK,
attributes: {
platform: PLATFORMS.WEB,
mode: MODE.EDITOR
}
});
}
if (url) {
try {
onClickCallback === null || onClickCallback === void 0 || onClickCallback({
event: event,
url: url
});
} catch (_unused) {}
/**
* Links should navigate by default in live pages if:
* - the link is the direct target of the click event
* - default handling wasn't prevented with `event.preventDefault()`
*/
if (!event.defaultPrevented) {
window.location.href = url;
}
}
}