A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.

To request an account, ask an autoconfirmed user on Chat (such as one of these permanent autoconfirmed members).

MediaWiki:Gadget-edittop.js

From WHATWG Wiki
Revision as of 18:38, 23 October 2012 by GPHemsley (talk | contribs) (1 revision: Import edittop gadget)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Note: After publishing, 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: Press Ctrl-F5.
// **********************************************************************
// **                 ***WARNING GLOBAL GADGET FILE***                 **
// **             changes to this file affect many users.              **
// **           please discuss on the talk page before editing         **
// **                                                                  **
// **********************************************************************
// Imported from [[User:Alex Smotrov/edittop.js]], version as of: 2007-06-19T04:28:52
// Updated from [[User:TheDJ/Gadget-edittop.js]], version as of: 2009-04-28T11:54:22

if ($.inArray( mw.config.get('wgAction'), [ 'view', 'purge' ]) !== -1 && mw.config.get( 'wgNamespaceNumber' ) >=0) {
  $(function edittop_hook () {
    var localtitles = {
      cs: 'Editovat úvodní sekci',
      en: 'Edit lead section',
      fa: 'ویرایش بخش آغازین',
      fr: 'Modifier le résumé introductif',
      it: 'Modifica della sezione iniziale',
      ja: '導入部を編集',
      ko: '도입부를 편집',
      pa: 'ਸੋਧ',
      pt: 'Editar a seção superior',
      'pt-br': 'Editar a seção superior',
      sr: 'Уреди уводни део'
    };

    var our_content = document.getElementById ("content") || document.getElementById ("mw_content") || document.body;
    var editspans = getElementsByClassName (our_content, "span", "editsection");
    var span1;
    var dir = $('#firstHeading').css('direction') || 'rtl';
    var side = "right";

    if (dir.toLowerCase() == "rtl" ) {
      side = "left";
    }


    for (var i = 0; editspans && i < editspans.length; i++) {
      if (editspans[i].className.indexOf ("plainlinks") == -1) {
        span1 = editspans[i];
        break;
      }
    }
    if (!span1) {
      return;
    }
    var span0 = span1.cloneNode (true);
    var editwidth = span1.offsetWidth;
    if (mw.config.get("skin") == "monobook") {
      mw.util.addCSS ("h1.firstHeading span.editsection {float: " + side + ";}");
    }
    if (mw.config.get("skin") == "modern") {
      mw.util.addCSS ("h1#firstHeading span.editsection {float: " + side + ";}");
    }
    if (mw.config.get("skin") == "vector") {
      mw.util.addCSS ("h1.firstHeading span.editsection {font-size: 50%;}");
    } else {
      editwidth += 10;
    }
    var topicons = getElementsByClassName (our_content, "div", "topicon");
    for (var el = 0; topicons && el < topicons.length; el++) {
      if (dir.toLowerCase() == "rtl" ) {
        topicons[el].style.marginLeft = editwidth + "px";
      } else {
        topicons[el].style.marginRight = editwidth + "px";
      }
    }
    var mwfrtag = document.getElementById ("mw-fr-revisiontag");
    if (mwfrtag) {
      if (dir.toLowerCase() == "rtl" ) {
        mwfrtag.style.marginLeft = editwidth + "px";
      } else {
        mwfrtag.style.marginRight = editwidth + "px";
      }
    }

    our_content = document.getElementById ("mw_header") || document.getElementById ("content") || document.body;
    var parent = our_content.getElementsByTagName ("H1")[0];
    parent.insertBefore (span0, parent.firstChild);
    var a = span0.getElementsByTagName ("A")[0];
    if (a.href.indexOf ("&section=T") == -1) {
      a.title = a.title.replace (/(: |:).*$/, "$1" + "0");
      a.setAttribute ("href", a.getAttribute ("href", 2).replace (/&section=\d+/, "&section=0"));
    }
    else { //transcluded
      a.title = localtitles[mw.config.get( 'wgUserLanguage' )] || localtitles.en;
      a.setAttribute ("href", mw.util.wikiGetlink( mw.config.get( 'wgPageName' ) ) + "?action=edit&section=0");
    }
  });
}