User:Hearvox/WikiSignals/wikisignals.js

Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/*
 * WikiSignals: Testing Mockup
 * Attn: Not a Working Tool. This script for tests only.
 *
 * Open WikiSignals popover via link in Tools.
 * @see https://en.wikipedia.org/wiki/User:Hearvox/WikiSignals
 */
// Create popover object element for WikiSignals (default hidden). 
const wikisignalsEl = document.createElement('object');
wikisignalsEl.setAttribute('popover', 'auto');
wikisignalsEl.setAttribute('data', 'https://wiki-signal-editor-bg.lovable.app/');
wikisignalsEl.setAttribute('id', 'wikisignals-win');
wikisignalsEl.style.background = 'transparent';
wikisignalsEl.style.border = 'none';
wikisignalsEl.style.height = '50vh';
wikisignalsEl.style.width = '800px';
document.body.appendChild(wikisignalsEl);

// Preload WikiSignals external file.
const wikisignalsPre = document.createElement('link');
wikisignalsPre.href = 'https://wiki-signal-editor-bg.lovable.app/';
wikisignalsPre.rel = 'preload';
wikisignalsPre.as = 'fetch';
wikisignalsPre.setAttribute('crossorigin', 'anonymous');
document.head.appendChild(wikisignalsPre);

// Add a WikiSignals link to the Tools list.
mw.util.addPortletLink ( 'p-cactions', "https://wiki-signal-editor-bg.lovable.app/", 'WikiSignals', 'wikisignals-link', 'Check URL reliability' );

// Add a listener WikiSignals that opens the popover.
$('#wikisignals-link a').click(function(e) {
	e.preventDefault(); // Stop link action.
	console.log('WikiSignals link click');
	document.getElementById('wikisignals-win').showPopover();
});