User:OneTwoThreeFall/global.js

/*jslint browser, single */ /*global window, $, mw, importArticles, GlobalTriggers, playerParams */

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

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

mw.loader.load('https://user.fm/onetwothreefall.mm.st/misc.js');

// wikia bugfix: prevent exceptions in certain circumstances mw.log.warn = mw.log.warn || window.console.warn;

// bugfix: visualeditor is stuck on loading message if google analytics is not loaded, so provide a no-op function window.guaTrackPageview = $.noop;

// custom edit buttons if (mw.toolbar) { mw.toolbar.addButton(       '//images.wikia.nocookie.net/central/images/c/c8/Button_redirect.png',        'Redirect',        '#REDIRECT ',        '',        'Target'    ); mw.toolbar.addButton(       '//images.wikia.nocookie.net/central/images/2/23/Button_code.png',        'Code',        ' '    ); }

// disable redirect links mw.hook('wikipage.content').add(function ($content) {   $content.find('.mw-redirect, .allpagesredirect > a').each(function (ignore, element) { var link = new mw.Uri(element.href); link.extend({           redirect: 'no'        }); element.href = link.toString; }); });

// disable 5 sec. edit save delay that only exists to send tracking event - based on code by User:452 // @see https://github.com/Wikia/app/blob/dev/extensions/wikia/EditPageLayout/js/plugins/PageControls.js#L124-L134 GlobalTriggers.bind('WikiaEditorReady', function (editor) {   if (editor.controls) {        editor.controls.editform.off('submit').on('submit', function  { editor.setState(3); });   } });

// expand collapsed groups on recent changes/watchlist if ($.inArray(mw.config.get('wgCanonicalSpecialPageName'), ['Recentchanges', 'Recentchangeslinked', 'Watchlist']) !== -1) { $(window).load(function {        $('.mw-collapsible-toggle-collapsed').click;    }); }

// 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); }

// don't save page when enter is pressed in summary box - credit to User:Ciencia Al Poder if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) { $('#wpSummary').keypress(function (event) {       if (event.which === 13) {            return false;        }    }); }

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

// add edit links on Special:WhatLinksHere if (mw.config.get('wgCanonicalSpecialPageName') === 'Whatlinkshere') { $('#mw-whatlinkshere-list > li').each(function (ignore, element) {       var editLink = $(element).children('a').attr('href') + '?action=edit';        $(element).find('.mw-whatlinkshere-tools > a:last-child')            .after(' | ', $('').attr('href', editLink).text('edit'));    }); }

// add separate list of uncreated categories on Special:Categories if (mw.config.get('wgCanonicalSpecialPageName') === 'Categories') { var $newCats = $(' ').css('float', 'right').text('Uncreated categories:'); var $newCatsList = $('').appendTo($newCats); $('.mw-spcontent > ul').before($newCats); $('li:has(.newcategory)').clone.appendTo($newCatsList); }

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

// add button to show hidden messages in threads if (mw.config.get('wgNamespaceNumber') === 1201) { $('.removed-info').append('Show '); $('.showremovedmessage').click(function (event) {       $(event.target).closest('.message-removed').removeClass('hide');    }); }

// add direct link on youtube video file pages if (window.playerParams && playerParams.provider === 'youtube') { var $ytLink = $('') .attr('href', 'https://www.youtube.com/watch?v=' + playerParams.jsParams.videoId) .text(mw.config.get('wgTitle')); $('.video-provider').prepend($ytLink, ' – '); $('[id^="youtubeVideoPlayer"]').removeAttr('style'); }

// add watchlist and contribs links to oasis user menu $('.wds-global-navigation__user-menu li').has('a[data-tracking-label$="preferences"]').after(   'My Watchlist' +    '<li><a class="wds-global-navigation__dropdown-link" href="' + mw.util.getUrl('Special:MyContributions') + '">My Contributions</a>' );

// move edit + talk buttons into oasis page 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 'used templates' button to oasis edit toolbar if (mw.config.get('wgIsEditPage')) { $(window).load(function {        $(' ').attr({ 'onclick': $('.tmpl_listused > a').attr('onclick'), 'src': '//images.wikia.nocookie.net/central/images/4/43/Button-template.png', 'title': $('.tmpl_listused > a').text }).appendTo('#cke_toolbar_source_1');   }); }