import getConstant from '../constants'; // Globally ensure that any URLs that are directing the user offsite open in a new tab/window $(() => { $('body').click('a[href^="http"]', (e) => { const link = $(e.target); const protocol = new RegExp('^https?'); const regex = new RegExp(`^https?://${getConstant('HOST')}`); const exceptions = { ids: ['connect-orcid-button', 'view-all-templates'], }; // Internal links are typically just the path, but also check for other domains if ( !link.attr('target') && protocol.test(link.attr('href')) && !regex.test(link.attr('href')) && !(exceptions.ids.indexOf(link.attr('id')) >= 0) ) { link.attr('target', '_blank'); link.addClass('has-new-window-popup-info'); // Add span as child of link. link.append($(`<span class="new-window-popup-info">${getConstant('OPENS_IN_A_NEW_WINDOW_TEXT')}</span>`)); } }); $('a[href^="http"]').each((index, value) => { const link = $(value); const protocol = new RegExp('^https?'); const regex = new RegExp(`^https?://${getConstant('HOST')}`); const exceptions = { ids: ['connect-orcid-button', 'view-all-templates'], }; // Internal links are typically just the path, but also check for other domains if ( !link.attr('target') && protocol.test(link.attr('href')) && !regex.test(link.attr('href')) && !(exceptions.ids.indexOf(link.attr('id')) >= 0) ) { link.attr('target', '_blank'); link.attr('title', getConstant('OPENS_IN_A_NEW_WINDOW_TEXT')); } }); });