User:Alyxia/common.js

From Fyra Wiki
Revision as of 10:27, 7 June 2023 by Alyxia (talk | contribs) (Support i18n on the AllPages item text)
(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.
$.when(
  mw.loader.using(["mediawiki.api", "mediawiki.util", "mediawiki.jqueryMsg"]),
  $.ready
)
  .then(function () {
  	// Force-load the `allpages` message for i18n support
    return new mw.Api().loadMessagesIfMissing(["allpages"]);
  })
  .then(function () {
    // By default, use the next item after "Special pages", namely "Printable
    // version"
    // If that's not available, use "Page information", because that should ALWAYS
    // be there.
    var beforeItem = $("#t-print");
    beforeItem.length == 0 && (beforeItem = $("#t-info"));

    // addPortletLink returns a DOM node that can be used for modifying its
    // functionality further.
    var node = mw.util.addPortletLink(
      "p-tb",
      new mw.Title("Special:AllPages").getUrl(),
      mw.message("allpages").text(), // use the previously fetched message
      "t-allpages",
      "",
      "m",
      beforeItem
    );

    /* For example, custom functionality upon clicking.
  $(node).on('click', function (e) {
    console.log('Example');
    e.preventDefault();
  });
  */
  });