User:GrayStorm/common.js

//////////STATUS CHANGER // Creator: Misza13 // Credits: Voyagerfan5761 for some minor improvements //    Modified by Xenocidic to simply use /Status as a one word indicator, //    Modified by Kraftlos to include Sleep status //    Modified by APerson for compatibility with // compatible with for display $.when(   $.ready,    mw.loader.using( [ "mediawiki.api" ] ) ).then( function  {    // create variable to store configuration    if (typeof(statusChangerConfig) == 'undefined') {        statusChangerConfig = {}    }

// check for configuration options, and set them to default values if   // they're undefined

if (typeof(statusChangerConfig.statusList) == 'undefined') { statusChangerConfig.statusList = [ 'online', 'offline', 'sleeping' ]; }

if (typeof(statusChangerConfig.statusPage) == 'undefined') { statusChangerConfig.statusPage = 'User:' + mw.config.get('wgUserName') + '/Status'; }

function makeListener(newStatus) { return function ( evt ) { evt.preventDefault; var api = new mw.Api({               ajax: { headers: { 'Api-User-Agent': 'w:User:Enterprisey/StatusChanger.js' } }            });

api.postWithEditToken({               action: 'edit',                title: statusChangerConfig.statusPage,                text: newStatus,                summary: mw.config.get('wgUserName') + " is now " + ((newStatus === "sleep") ? "sleeping" : newStatus) + "."           }).then(function{                api.post( { action: "purge", titles: 'User:' + mw.config.get('wgUserName') } );                mw.notify('Done setting status!');            }); return false; };   }

//Add the links for (var i=0; i<statusChangerConfig.statusList.length; i++) { var stat = statusChangerConfig.statusList[i]; var message = (stat === "sleeping") ? link = "asleep" : link = stat; mw.util.addPortletLink(           "p-personal", //target tab - personal links            "#",            stat, //link text            "pt-status-" + stat, //id of new button            "I'm " + message + "!", //hover text            "", // access key - no need to define one            document.getElementById("pt-logout")) //add before logout button .addEventListener('click',makeListener(stat)); } }); // importScript('User:Ingenuity/AntiVandal.js'); // Backlink: User:Ingenuity/AntiVandal.js importScript('User:MusikAnimal/confirmationRollback.js'); // Backlink: User:MusikAnimal/confirmationRollback.js importScript('User:Qwertyytrewqqwerty/DisamAssist.js'); // Backlink: User:Qwertyytrewqqwerty/DisamAssist.js importScript('Wikipedia:AutoEd/complete.js'); importScript('User:Awesome_Aasim/xfdvote.js'); // Backlink: User:Awesome_Aasim/xfdvote.js importScript('User:Evad37/OneClickArchiver.js'); // Backlink: User:Evad37/OneClickArchiver.js importScript('User:10nm/beta.js'); // Backlink: User:10nm/beta.js importScript('User:Ingenuity/AbuseFilterContribs.js'); // Backlink: User:Ingenuity/AbuseFilterContribs.js importScript('User:Suffusion of Yellow/filterDiff.js'); // Backlink: User:Suffusion of Yellow/filterDiff.js importScript('User:Harej/citation-watchlist.js'); // Backlink: User:Harej/citation-watchlist.js importScript('User:Evad37/rater.js'); // Backlink: User:Evad37/rater.js importScript('User:CanonNi/Scripts/AlertAssistant.js'); // Backlink: User:CanonNi/Scripts/AlertAssistant.js importScript('User:Lourdes/AfDclosing.js'); // Linkback: User:Lourdes/AfDclosing.js importScript('User:Terasail/Edit_Request_Tool.js'); // Backlink: User:Terasail/Edit_Request_Tool.js importScript('User:Jackmcbarn/editProtectedHelper.js'); // Backlink: User:Jackmcbarn/editProtectedHelper.js importScript('User:Technical_13/Scripts/OneClickArchiver.js'); // Backlink: User:Technical_13/Scripts/OneClickArchiver.js importScript('User:Elli/OneClickArchiver.js'); // Backlink: User:Elli/OneClickArchiver.js