import $script from 'scriptjs' export const mount = (el, { event }) => { if (el.dataset.network === 'pinterest') { event.preventDefault() if (window.PinUtils) { window.PinUtils.pinAny() } else { $script( 'https://assets.pinterest.com/js/pinit.js', () => { // $log.info('Pinterest script loaded.') setTimeout(() => { window.PinUtils.pinAny() }, 300) } ) } return } if (el.dataset.network === 'clipboard') { event.preventDefault() const text = el.href.indexOf('wish_list_id') !== -1 ? el.href : window.location.href const tooltip = el.querySelector('.ct-tooltip') let initialText = '' if (tooltip) { initialText = tooltip.innerHTML } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(text) if (tooltip) { tooltip.innerHTML = ct_localizations.clipboard_copied } } else { const textArea = document.createElement('textarea') textArea.value = text // Move textarea out of the viewport so it's not visible textArea.style.position = 'absolute' textArea.style.left = '-999999px' document.body.prepend(textArea) textArea.select() try { document.execCommand('copy') } catch (error) { console.error(error) if (tooltip) { tooltip.innerHTML = ct_localizations.clipboard_failed } } finally { textArea.remove() if (tooltip) { tooltip.innerHTML = ct_localizations.clipboard_copied } } } setTimeout(() => { if (tooltip) { tooltip.innerText = initialText } }, 2000) return } if (el.hasClickListener) { return } el.hasClickListener = true el.addEventListener('click', (e) => { e.preventDefault() const url = el.href const title = '' const w = 600 const h = 500 // PopupCenter(el.querySelector('a').href, '', 600, 500) // Fixes dual-screen position // Most browsers Firefox var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height var left = width / 2 - w / 2 + dualScreenLeft var top = height / 2 - h / 2 + dualScreenTop var newWindow = window.open( url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left ) // Puts focus on the newWindow if (window.focus) { newWindow.focus() } }) }