2018-07-21 13:16:02 +00:00
|
|
|
import helpers from '../../helpers/helpers';
|
2018-05-27 21:18:59 +00:00
|
|
|
|
|
|
|
const { linkIsInternal } = helpers;
|
|
|
|
|
|
|
|
function onNewWindowHelper(
|
|
|
|
urlToGo,
|
|
|
|
disposition,
|
|
|
|
targetUrl,
|
|
|
|
internalUrls,
|
|
|
|
preventDefault,
|
|
|
|
openExternal,
|
|
|
|
createAboutBlankWindow,
|
|
|
|
nativeTabsSupported,
|
|
|
|
createNewTab,
|
|
|
|
) {
|
|
|
|
if (!linkIsInternal(targetUrl, urlToGo, internalUrls)) {
|
|
|
|
openExternal(urlToGo);
|
|
|
|
preventDefault();
|
|
|
|
} else if (urlToGo === 'about:blank') {
|
|
|
|
const newWindow = createAboutBlankWindow();
|
|
|
|
preventDefault(newWindow);
|
|
|
|
} else if (nativeTabsSupported()) {
|
|
|
|
if (disposition === 'background-tab') {
|
|
|
|
const newTab = createNewTab(urlToGo, false);
|
|
|
|
preventDefault(newTab);
|
|
|
|
} else if (disposition === 'foreground-tab') {
|
|
|
|
const newTab = createNewTab(urlToGo, true);
|
|
|
|
preventDefault(newTab);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default { onNewWindowHelper };
|