MediaWiki:Common.js

/* Any JavaScript here will be loaded for all users on every page load. */

importScript('MediaWiki:CollapsibleTables.js');

if (wgAction == 'edit' || wgAction == 'submit') { //scripts specific to editing pages /** Extra toolbar options ****************************************************** *      *  Description: Adds extra buttons to the editing toolbar. *      *  To disable this script, add mwCustomEditButtons = []; to Special:Mypage/common.js. *      *  Maintainers: User:MarkS, User:Voice of All, User:R. Koot */   if (mwCustomEditButtons) { mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png",            "speedTip": "Redirect",            "tagOpen": "#REDIRECT ",            "tagClose": "",            "sampleText": "Target page name"        }); mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png",            "speedTip": "Strike",            "tagOpen": " ",            "tagClose": " ",            "sampleText": "Strike-through text"        }); mwCustomEditButtons.push({            "imageFile": "//upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png",            "speedTip": "Line break",            "tagOpen": " ",            "tagClose": "",            "sampleText": ""        }); mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png",            "speedTip": "Superscript",            "tagOpen": " ",            "tagClose": " ",            "sampleText": "Superscript text"        }); mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png",            "speedTip": "Subscript",            "tagOpen": " ",            "tagClose": " ",            "sampleText": "Subscript text"        }); mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/en/5/58/Button_small.png",            "speedTip": "Small",            "tagOpen": " ",            "tagClose": " ",            "sampleText": "Small Text"        }); mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png",            "speedTip": "Insert hidden Comment",            "tagOpen": "",            "sampleText": "Comment"        }); mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png",            "speedTip": "Insert a picture gallery",            "tagOpen": "\n",            "sampleText": "File:Example.jpg|Caption1\nFile:Example.jpg|Caption2"        }); mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png",            "speedTip": "Insert block of quoted text",            "tagOpen": " \n",            "tagClose": "\n ",            "sampleText": "Block quote"        }); mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png",            "speedTip": "Insert a table",            "tagOpen": '{| class="wikitable"\n|',            "tagClose": "\n|}",            "sampleText": "-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3"        }); mwCustomEditButtons.push({           "imageFile": "//upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png",            "speedTip": "Insert a reference",            "tagOpen": " ",            "sampleText": "Insert footnote text here"        }); }   /** Fix edit summary prompt for undo  ****************************************** * Fixes the fact that the undo function combined with the "no edit summary prompter" * causes problems if leaving the edit summary unchanged. * Added by User:Deskana, code by User:Tra. * See also 8912. */   $(function  {        if (document.location.search.indexOf("undo=") != -1 && document.getElementsByName('wpAutoSummary')[0]) {            document.getElementsByName('wpAutoSummary')[0].value='1';        }    }); } /** Grid/slide **/ jQuery(function {    jQuery(".GridSlide").each(function  { jQuery("div.GridSlideChild:first", this).addClass("active").show });   setInterval(function  { jQuery(".GridSlide").each(function {            var b = jQuery("div.active", this),                a = b.next;            a.length < 1 && (a = jQuery("div.GridSlideChild:first", this));            b.removeClass("active").hide;            a.addClass("active").show        }) }, 2E3) });

jQuery(function {    jQuery("div.grid-input-slide").each(function  { jQuery("span.grid-input:first", this).addClass("active").show; jQuery("span.grid-input-numbers:first", this).addClass("active").show });   jQuery("div.grid-output-slide").each(function  { jQuery("span.grid-output:first", this).addClass("active").show; jQuery("span.grid-output-numbers:first", this).addClass("active").show });   setInterval(function  { jQuery("div.grid-input-slide").each(function {            var b = jQuery("span.grid-input.active", this),                a = b.next;            if (a.length < 1 || !a.hasClass("grid-input")) a = jQuery("span.grid-input:first", this);            b.removeClass("active").hide;            a.addClass("active").show;            b = jQuery("span.grid-input-numbers.active", this);            a = b.next;            a.length < 1 && (a = jQuery("span.grid-input-numbers:first", this));            b.removeClass("active").hide;            a.addClass("active").show        }); jQuery("div.grid-output-slide").each(function {            var b = jQuery("span.grid-output.active", this),                a = b.next;            if (a.length < 1 || !a.hasClass("grid-output")) a = jQuery("span.grid-output:first", this);            b.removeClass("active").hide;            a.addClass("active").show;            b = jQuery("span.grid-output-numbers.active", this);            a = b.next;            a.length < 1 && (a = jQuery("span.grid-output-numbers:first", this));            b.removeClass("active").hide;            a.addClass("active").show        }) }, 2E3) });

// Allows navbox to wrap almost correctly in all IE versions. // Also fixes versions below 8, which would have every bit of text on a new line, however they now put the text under the image, instead of next to it. if ( $.client.profile.name == 'msie' ) { mw.util.addCSS( '.navbox-list span { display: inline-block }' ); }