User:OneTwoThreeFall/global.js

/*jslint indent:2, browser:true, sloppy:true */ /*global $, mw, importArticles, ace, WikiaEditor, GlobalTriggers, playerParams, RevealAnonIP */

window.RevealAnonIP = {}; window.NoImageLightbox = {novideo: true}; window.pseudoVector = {addContributionsTab: true};

importArticles({ type: 'script',  articles: [    'u:dev:CacheCheck/code.js',    'u:dev:RevealAnonIP/code.js',    'u:dev:NoImageLightbox/code.js',    'u:dev:DisplayTimer/code.js',    'u:dev:QuickDiff/code.js',    'u:c:User:OneTwoThreeFall/Pseudo-Vector-js.css',    'u:c:User:OneTwoThreeFall/MassNullEdit.modified-js.css',    'u:c:User:OneTwoThreeFall/LastEdited.modified-js.css',    'u:c:User:OneTwoThreeFall/UnsafeScripts.modified-js.css'  ] });

// if 'useskin' parameter exists, set it as a cookie var customSkin = mw.util.getParamValue('useskin'); if (customSkin) { $.cookie('useskin', customSkin, {   domain: mw.config.get('wgCookieDomain'),    path: mw.config.get('wgCookiePath')  }); }

// disable redirect links $('.mw-redirect, .allpagesredirect > a').each(function {  var link = new mw.Uri(this.href);  link.extend({ redirect: 'no' }); $(this).attr('href', link.toString); });

// don't leave redirect when moving files if (mw.config.get('wgCanonicalSpecialPageName') === 'Movepage' &&   mw.config.get('wgRelevantPageName').indexOf(mw.config.get('wgFormattedNamespaces')[6] + ':') === 0) { $('#wpLeaveRedirect').prop('checked', false); }

// add clear reason button to the delete page if (mw.config.get('wgAction') === 'delete') { $('#wpReason').after(' \u232b '); $('#wpClearReason').click(function {    $('#wpReason').val('');  }); }

// add prefix search + page log links to tools menu if (mw.config.get('wgNamespaceNumber') !== -1) { var extraLinks = 'Prefix search' + 'Logs for this page'; if (mw.config.get('skin') === 'oasis') { $('#my-tools-menu').prepend(extraLinks); } else { $('#p-tb > .pBody > ul').append(extraLinks); } }

// add contribs and watchlist links to user menu $('.user-menu > li:has(a[data-id="preferences"])') .after('My watchlist' +        'My contributions');

// add button to unhide removed messages on thread pages $('.removed-info').append('Show '); $('.showremovedmessage').click(function {  $(this).closest('.message-removed').removeClass('hide'); });

// move edit + talk buttons into header $('#WikiaPageHeader > .header-container > .header-title > h1') .after($('#WikiaPageHeader > .comments').css('margin', '2px 10px 0')) .after($('#WikiaPageHeader > .wikia-button')) .after($('#WikiaPageHeader > .wikia-menu-button')) .after($('#WikiaPageHeader > .view-source'));

// add direct link on youtube video file pages if (window.playerParams && playerParams.provider === 'youtube') { var ytLink = '' + mw.config.get('wgTitle') + ''; $('.video-provider').prepend(ytLink + ' – '); $('[id^="youtubeVideoPlayer"]').attr('style', ''); }

// stop classification popup on template save if (mw.config.get('wgIsEditPage')) { // …in ace editor window.enableTemplateClassificationEditorPlugin = false; // …in source editor (rather hacky, but whatever) GlobalTriggers.bind('WikiaEditorReady', function {    try {      WikiaEditor.getInstance.events.save[0].fn = function  {        return true;      };    } catch (ignore) {}  }); }

// code editor tweaks function codeEditorTweaks { var aceEditor = ace.edit('editarea'); aceEditor.setTheme('ace/theme/solarized_dark'); aceEditor.setOptions({   dragDelay: 20,        // quicker drag mode    printMargin: true,    // margin at 80 chars across    showInvisibles: true, // show spaces/tabs/newlines    tabSize: 2            // 2-space tabs  }); // fix syntax highlighting on '-js.css' pages if (mw.config.get('wgPageName').slice(-7) === '-js.css') { aceEditor.getSession.setMode('ace/mode/javascript'); } } if (window.ace) { // wait 3s and hope ace is loaded by then window.setTimeout(codeEditorTweaks, 3000); }

// run after page is completely loaded $(window).load(function {

// pre-open grouped items in recent changes and watchlist if (['Recentchanges', 'Watchlist'].indexOf(mw.config.get('wgCanonicalSpecialPageName')) !== -1) { $('.mw-collapsible-toggle-collapsed').click; }

// add 'used templates' button to edit toolbar if (mw.config.get('wgIsEditPage')) { $('#cke_toolbar_source_1 > img:last-of-type').after(     $('#mw-editbutton-bold').clone.removeAttr('id alt').attr({ 'title': $('.tmpl_listused > a').text, 'onclick': $('.tmpl_listused > a').attr('onclick') }).css('background-image', 'url(//images.wikia.nocookie.net/central/images/4/43/Button-template.png)')   ); }

// sometimes RevealAnonIP doesn't load in time... window.setTimeout(RevealAnonIP.reveal, 3000);

});