MediaWiki:Modern.js

From RationalWiki
Jump to navigation Jump to search

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* Any JavaScript here will be loaded for users using the Modern skin */

// Adds a tab allowing you to edit the 0th section of a page (the top area usually used as an introduction).
//

addOnloadHook(function () {
    if (wgPageName =="RationalWiki:To_do_list"){}
    else {
    var x;
    if (!(x = document.getElementById('ca-edit') )) return;
    var url;
    if (!(url = x.getElementsByTagName('a')[0] )) return;
    if (!(url = url.href )) return;
    var y = mw.util.addPortletLink('p-cactions', url+"&section=0", '0', 'ca-edit-0',
                           'Edit the lead section of this page', '0', x.nextSibling);

    y.className = x.className;  // steal classes from the the edit tab...
    x.className = 'istalk';     // ...and make the edit tab have no right margin

    // exception: don't steal the "selected" class unless actually editing section 0:
    if (/(^| )selected( |$)/.test(y.className)) {
        if (!document.editform || !document.editform.wpSection
            || document.editform.wpSection.value != "0") {
            y.className = y.className.replace(/(^| )selected( |$)/g, "$1");
            x.className += ' selected';
        }
    }
   }
});

document._realGEBI = document.getElementById;
document.getElementById = function(id){
    var x = this._realGEBI(id);
    if(x) return x;
    else {
    // try to find a reasonable equivalent for monobook-specific element ids
        switch(id) {
            case "content": return this._realGEBI("mw_content");
            case "column-content": return this._realGEBI("mw_contentwrapper");
            case "bodyContent": return this._realGEBI("mw_contentholder");
            case "column-one": return this._realGEBI("mw_portlets");
            case "globalWrapper": return this._realGEBI("mw_main");
            default: return null;
        }
    }
}