MediaWiki:Monobook.js: Difference between revisions

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
(Bah, MediaWiki doesn't like arrow functions)
(Okay, so the dependency isn't being met because the API module isn't ready yet. Need to specifically declare we need it.)
Line 105: Line 105:
   }
   }
});
});
/* Add the tools and languages links to the logged out skin. */
/* Add the tools and languages links to the logged out skin. */
if (mediaWiki.config.get('wgUserId') === null && mediaWiki.config.get('wgNamespaceNumber') === 0){
function addLangs() {
     var params = {
     var params = {
         action: "query",
         action: "query",
Line 119: Line 118:
         var obj = Object.keys(data.query.pages)[0];
         var obj = Object.keys(data.query.pages)[0];
         var links = '<li id="ca-lang">languages<div class="lang-dropdown-content">';
         var links = '<li id="ca-lang">languages<div class="lang-dropdown-content">';
         data.query.pages[obj].langlinks.forEach(function(val) {
         data.query.pages[obj].langlinks.forEach(function (val) {
             links += '<a href="' + val.url + '">' + val.langname + "</a>\n";
             links += '<a href="' + val.url + '">' + val.langname + "</a>\n";
         } );
         });
         links += "</div></li>";
         links += "</div></li>";
         $("div#p-cactions").find("ul").append(links);
         $("div#p-cactions").find("ul").append(links);
     });
     });
}
if (mediaWiki.config.get('wgUserId') === null && mediaWiki.config.get('wgNamespaceNumber') === 0){
    mw.loader.using("mediawiki.api", addLangs);
}
}
/*</nowiki>*/
/*</nowiki>*/

Revision as of 21:31, 17 June 2021

/*<nowiki>*/
/* tooltips and access keys */
ta = new Object();
ta['pt-userpage'] = new Array('.','My user page');
ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as');
ta['pt-mytalk'] = new Array('n','My talk page');
ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address');
ta['pt-preferences'] = new Array('','My preferences');
ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.');
ta['pt-mycontris'] = new Array('y','List of my contributions');
ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
ta['pt-logout'] = new Array('o','Log out');
ta['ca-talk'] = new Array('t','Discussion about the content page');
ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.');
ta['ca-addsection'] = new Array('+','Add a comment to this discussion.');
ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.');
ta['ca-history'] = new Array('h','Past versions of this page.');
ta['ca-protect'] = new Array('=','Protect this page');
ta['ca-delete'] = new Array('d','Delete this page');
ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted');
ta['ca-move'] = new Array('m','Move this page');
ta['ca-nomove'] = new Array('','You don\'t have the permissions to move this page');
ta['ca-watch'] = new Array('w','Add this page to your watchlist');
ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist');
ta['search'] = new Array('f','Search this wiki');
ta['p-logo'] = new Array('','Main Page');
ta['n-mainpage'] = new Array('z','Visit the Main Page');
ta['n-portal'] = new Array('','About the project, what you can do, where to find things');
ta['n-currentevents'] = new Array('','Find background information on current events');
ta['t-uploadlink'] = new Array('u','Upload images or media files');
ta['n-recentchanges'] = new Array('r','The list of recent changes in the wiki.');
ta['n-randompage'] = new Array('x','Load a random page');
ta['n-help'] = new Array('','The place to find out.');
ta['n-sitesupport'] = new Array('','Support us');
ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here');
ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page');
ta['feed-rss'] = new Array('','RSS feed for this page');
ta['feed-atom'] = new Array('','Atom feed for this page');
ta['t-contributions'] = new Array('','View the list of contributions of this user');
ta['t-emailuser'] = new Array('','Send a mail to this user');
ta['t-specialpages'] = new Array('q','List of all special pages');
ta['ca-nstab-main'] = new Array('c','View the content page');
ta['ca-nstab-user'] = new Array('c','View the user page');
ta['ca-nstab-media'] = new Array('c','View the media page');
ta['ca-nstab-special'] = new Array('','This is a special page, you can\'t edit the page itself.');
ta['ca-nstab-wp'] = new Array('a','View the project page');
ta['ca-nstab-image'] = new Array('c','View the image page');
ta['ca-nstab-mediawiki'] = new Array('c','View the system message');
ta['ca-nstab-template'] = new Array('c','View the template');
ta['ca-nstab-help'] = new Array('c','View the help page');
ta['ca-nstab-category'] = new Array('c','View the category page');

/** additional monobook scripts **/

/**** function displayTimer.js
 * by Patrick Westerhoff [poke]
 */
$(document).ready(function ()
{
  if ( typeof( timerDisplay ) !== 'undefined' && timerDisplay === false )
    return;
  
  var date;
  var timerParent = document.getElementById( 'p-personal' ).getElementsByTagName( 'ul' )[0];
  var timerLink   = document.createElement( 'a' );
  var timerObj    = document.createElement( 'li' );
  timerLink.href               = '/wiki/' + mw.config.get("wgPageName") + '?action=purge';
  timerLink.title              = 'Purge the server cache and update the contents of this page.'
  timerObj.id                  = 'pt-timer';
  timerObj.style.textTransform = 'none';
  timerObj.style.fontWeight    = 'bold';
  timerObj.style.fontSize      = '100%';
  timerObj.appendChild( timerLink );
  timerParent.insertBefore( timerObj, timerParent.firstChild );
  
  function actualizeUTC ()
  {
    timerDate           = new Date();
    timerLink.innerHTML = ( timerDate.getUTCHours()   < 10 ? '0' : '' ) + timerDate.getUTCHours()   + ':'
                        + ( timerDate.getUTCMinutes() < 10 ? '0' : '' ) + timerDate.getUTCMinutes() + ':'
                        + ( timerDate.getUTCSeconds() < 10 ? '0' : '' ) + timerDate.getUTCSeconds() + ' (UTC)';
  }
  
  function actualizeCustom ()
  {
    timerDate           = new Date();
    timerDate.setMinutes( timerDate.getMinutes() + timerDate.getTimezoneOffset() + timerTimezone * 60 );
    timerLink.innerHTML = ( timerDate.getHours()   < 10 ? '0' : '' ) + timerDate.getHours()   + ':'
                        + ( timerDate.getMinutes() < 10 ? '0' : '' ) + timerDate.getMinutes() + ':'
                        + ( timerDate.getSeconds() < 10 ? '0' : '' ) + timerDate.getSeconds()
                        + ' (UTC' + ( timerTimezone < 0 ? '' : '+' ) + timerTimezone + ')';
  }
  
  // start
  if ( typeof( timerTimezone ) !== 'number' )
  {
    actualizeUTC();
    setInterval( actualizeUTC, 1000 );
  }
  else
  {
    actualizeCustom();
    setInterval( actualizeCustom, 1000 );
  }
});
/* Add the tools and languages links to the logged out skin. */
function addLangs() {
    var params = {
        action: "query",
        format: "json",
        prop: "langlinks",
        llprop: ["url", "langname"],
        titles: mediaWiki.config.get('wgPageName')
    };
    api = new mw.Api();
    api.get(params).done(function(data) {
        var obj = Object.keys(data.query.pages)[0];
        var links = '<li id="ca-lang">languages<div class="lang-dropdown-content">';
        data.query.pages[obj].langlinks.forEach(function (val) {
            links += '<a href="' + val.url + '">' + val.langname + "</a>\n";
        });
        links += "</div></li>";
        $("div#p-cactions").find("ul").append(links);
    });
}
if (mediaWiki.config.get('wgUserId') === null && mediaWiki.config.get('wgNamespaceNumber') === 0){
    mw.loader.using("mediawiki.api", addLangs);
}
/*</nowiki>*/