User:SuperSajuuk/global.js

// // START: jQuery code snippets //

// MediaWiki config array. const c = mw.config.get([   'wgPageName',    'wgServer',    'wgCanonicalSpecialPageName',    'wgTitle',    'wgAction',    'wgCanonicalNamespace',    'wgNamespaceNumber',    'wgUserGroups',    'wgSiteName',    'skin' ]);

(function (window, $, mw) {   "use strict";

// Global Nav Fix (source: http://dev.wikia.com/wiki/MediaWiki:ExpandGlobalNavDropdownsOnHover/code.js) // require(['wikia.window', 'mw'], function (context, mw) {   //     var globalNav = document.getElementById('globalNavigation');

//    Array.prototype.slice.call(globalNav.getElementsByClassName('wds-global-navigation__dropdown-toggle')).forEach(function (elem) {    //         elem.addEventListener('mouseenter', elem.click);    //         elem.parentNode.addEventListener('mouseleave', elem.click.bind(elem));    //     });

//    globalNav.querySelector('.wds-avatar').addEventListener('click', function  {    //         context.location = (new mw.Title(mw.user.name, 2)).getUrl;    //     }); // });

// Fandom goes bye-bye $('svg.wds-global-navigation__logo-image').replaceWith(''); // $('svg.wds-is-wds-company-logo-powered-by-wikia').remove;

// Change the title on Special:Contributions var title = c.wgTitle; if (c.wgCanonicalSpecialPageName === 'Contributions') { var change = c.wgTitle.split("/"); title = change[1]; }

// Add edit link to WLH pages // Taken from http://community.wikia.com/wiki/User:Shockstorm/global.js?oldid=1283852 // jQuery version by UltimateSupreme (http://dev.wikia.com/wiki/User:UltimateSupreme) if (c.wgCanonicalSpecialPageName == 'Whatlinkshere' && c.wgSiteName !== "Elder Scrolls") { $("#mw-whatlinkshere-list").find("li").each(function {            var link_ref = $(this).find("a").attr("href");            var link = ' (edit)  &lrm; ';            $(this).find(".mw-whatlinkshere-tools").before(link);        }); }

// Adds some links in the header toolbar. if (c.wgNamespaceNumber !== 1201) { $(".WikiaMenuElement li").last.after(' WhatLinksHere Subpage List'); }

// Remove the Create/Edit button from WhatLinksHere because it's pointless... var wlh = title.search("WhatLinksHere"); if (wlh > -1) { $(".WikiaPageHeader .wikia-button").hide; }

// Fix position of the editor buttons if (c.wgNamespaceNumber !== 3 && c.wgNamespaceNumber !== 1200 && c.wgNamespaceNumber !== 1201 && $('nav.wikia-menu-button:nth-child(2)').length) { importScriptPage('MediaWiki:RelocateEditDiscussionButtons/code.js', 'dev'); }

// Adds quick links for important special pages // TO-DO: Make it a dropdown menu. $("nav.activity-nav li.watchlist").after(' Wanted Pages Special Pages');

// Adds link to EditWatchlist/raw on tools menu $(".tools-menu li.overflow").first.before("Watchlist</a></li>");

// Places an "Edit this Page" quicklink on normal talkpages and User Talkpages (not my own). if (c.wgNamespaceNumber === 3 && c.wgPageName !== "User_talk:SuperSajuuk") { $("div.UserProfileActionButton nav.wikia-menu-button").before('<img class="sprite edit-pencil" height="16" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" width="22"> Edit Talkpage	</a>	'); }

// Make hidden replies visible in threads. // $(".message-removed.hide").removeClass("hide");

// Null Edit button // Conditionally load purge button if page cannot be edited if ($("#ca-edit").length || $("a[data-id='editprofile']").length) { importScriptPage('MediaWiki:NullEditButton/code.js', 'dev'); } else { importScriptPage('MediaWiki:PurgeButton/code.js', 'dev'); }

// Bottom Bar Links $("div.WikiaBarWrapper ul li").first.before("Back to Top</a></li>"); $("div.WikiaBarWrapper ul li").first.after("Contact Wikia</a></li>");

// Add quick links to AccountNavigation. $("div.wds-global-navigation__user-menu div.wds-dropdown__content li").last.after('Global JS</a></li>Global CSS</a></li>Header CSS</a></li>');

// Update dropdown. $("div.wds-global-navigation__user-menu div.wds-dropdown__content li").first.remove; // $("div.wds-global-navigation__user-menu div.wds-dropdown__toggle").wrapAll(""); }(window, jQuery, mediaWiki));

// // END: jQuery code snippets //

// // START: Pre-Script Loading //

// // START: UserTags Configuration //

// The tags themselves. window.UserTagsJS = { modules: { newuser: { days: 14, edits: 25 },       mwGroups: ['bureaucrat', 'sysop', 'rollback', 'chatmoderator', 'threadmoderator', 'content-moderator', 'custodian', 'patroller', 'wikiastars', 'inactive', 'newuser', 'bot', 'voldev', 'bot-global', 'staff'], metafilter: { 'chatmoderator': ['sysop', 'bureaucrat'], 'rollback': ['sysop', 'bureaucrat'], 'chatmoderator': ['threadmoderator'], 'bot': ['bot-global'] }   },    tags: { // Per-Wiki Flags (Local) bureaucrat: {u: 'Crat', title: 'This user can grant rights to others', order: 1}, sysop: {u: 'Sysop', title: 'This user manages the wiki', order: 2}, rollback: {link: 'Project:Rollback', title: 'This user can revert vandalism', order: 3}, chatmoderator: {u: 'Chat Mod', title: 'This user moderates the chat', order: 4}, threadmoderator: {u: 'Disc. Mod', title: 'This user moderates discussions', order: 5}, 'content-moderator': {u: 'Main Mod', title: 'This user moderates wiki content', order: 6}, bot: {u: 'Bot', title: 'This account is used for mass editing', order: 7},

// Wikia-Wide Flags (Global) voldev: {u: 'Vol Dev', title: 'This user helps Wikia with system coding'}, helper: {u: 'Helper', title: 'This user helps Wikia with non-English communities'}, 'bot-global': {u: 'Global Bot', title: 'This bot is used for Wikia-wide editing tasks'}, staff: {u: 'Staff', title: 'This user is a paid employee for Wikia Inc.'},

// Custom Flags coder: {u: 'Coder', title: 'This user is a coder'}, translator: {u: 'Translator', title: 'This user can translate languages'}, inactive: {title: 'This user does not visit the wiki often'}, awesome: {u: 'Awesome Person', title: 'This user is undeniably awesome in all ways possible'} }, };

// UserTags Built-In Modules. UserTagsJS.modules.inactive = { inactive: 30, zeroIsInactive: true }; UserTagsJS.modules.autoconfirmed = true;

// UserTags User Filter UserTagsJS.modules.userfilter = {};

// UserTags Custom Tags UserTagsJS.modules.custom = { 'UltimateSupreme': ['coder'] };

// // END: UserTags Configuration //

// AjaxRC window.ajaxPages = ["Special:WikiActivity", "Special:Log", "Special:RecentChanges"]; window.ajaxIndicator = 'http://images2.wikia.nocookie.net/__cb20100609110347/software/images/a/a9/Indicator.gif'; window.AjaxRCRefreshText = 'Auto Refresh'; window.AjaxRCRefreshHoverText = 'Silently refreshes the contents of this page every 60 seconds without requiring a full reload';

// AbuseLogRC abuseLogRC_entries = 5; abuseLogRC_showTo = 'all'; abuseLogRC_users = ['SuperSajuuk'];

// // END: Pre-Script Loading //

// // START: Conditional Script Loader //

// NOTE: This section is for scripts that should // NOT load on particular wiki's, but should load // elsewhere. This should be used for wiki's // where Common.js already loads these scripts and // causes duplicate loading to occur.

// Site List var sites = [ "Fire Force Wiki", "Impressions Games Wiki", "City-Building Games Wiki", "Encyclopedia Hiigara" ];

// Load these scripts if the presently viewed site is not in the array. if ($.inArray(c.wgSiteName, sites) == -1) { importScriptPage('MediaWiki:Gadget-AcountNav.js', 'naruto'); importScriptPage('MediaWiki:CacheCheck/code.js', 'dev'); }

// // END: Conditional Script Loader //

// // START: All Scripts Loader //

// This is for scripts that will be enabled everywhere regardless of Common.js. // Userspace scripts will be loaded first. importArticles({   type: "script",    articles: [        "u:c:User:SuperSajuuk/FileModule.js", // Imports a File Module script (copied from 452's global js)        "u:dev:MediaWiki:UnsafeScripts/code.js", // Needed for some stuff, load it first.        "u:dev:MediaWiki:TabKeyInserter/code.js",        "u:dev:MediaWiki:AbuseLogRC.js",        "u:dev:MediaWiki:WallGreetingButton/code.js",        "u:dev:MediaWiki:ThreadIndicator/code.js",        "u:dev:MediaWiki:PortableCSSPad/code.js",        "u:dev:MediaWiki:UserTags/code.js",        "u:dev:MediaWiki:ListFiles/code.js",        "u:dev:MediaWiki:AjaxUndo/code.js",        "u:dev:MediaWiki:Status/code.js",        "u:dev:MediaWiki:AnchoredRollback/code.js",        "u:dev:MediaWiki:FileUsageAuto-update/code.js",        "u:dev:MediaWiki:AjaxRC/code.js",        "u:dev:MediaWiki:PurgeBlogs/code.js",        "u:dev:MediaWiki:NoImageLightbox/code.js", "u:dev:MediaWiki:QQX/code.js" ] });

// // END: All Scripts Loader //