User:Hilst/Scripts/scriptManager.js

/** * scriptManager, based on en:User:MusikAnimal/scriptManager.js by User:MusikAnimal */

$( document ).ready( function { mw.loader.using(['mediawiki.util', 'mediawiki.api'], function  { "use strict"; var skin = mw.config.get('skin'); var portlet = mw.util.addPortlet("p-enable-scripts", "Enable scripts"); if (skin === 'vector'){ mw.util.addPortlet("p-enable-scripts", "Enable scripts", "#p-tb"); // Vector doesn't style the portlet // If we don't attach it when created } else if (skin === 'timeless' || $('#p-coll-print_export').length > 0) { $(portlet).insertAfter('#p-tb'); } else { $(portlet).insertAfter('#p-lang'); }

var loadScript = function(e) { mw.loader.load(e.data.src); // Load the script // TODO: implement error handling mw.notify(`${e.data.script} has been enabled.`, {title: "scriptManager", type: "success"}); $(`#t-enablescript-${e.data.scriptName}`).remove; }; 	if (window.scriptsToManage) { $.each(scriptsToManage, function(script, src) {			var scriptName = script.replace(/ /g,"_");

mw.util.addPortletLink("p-enable-scripts", "javascript:", script, `t-enablescript-${scriptName}`, `Enable ${script} for this page`);

// If a script has been clicked, pipe it to loadScript $(`#t-enablescript-${scriptName}`).click({				scriptName: scriptName,				script: script,				src: src			}, loadScript); }); 	} else {		mw.util.addPortletLink("p-enable-scripts", "en.wikipedia.org/wiki/User:Hilst/Scripts/scriptManager", "No scripts registered!"); 	} }); });