User:Alyxia/common.js: Difference between revisions

From Fyra Wiki
Jump to navigation Jump to search
(Place the page *right* where we want it)
(Support i18n on the AllPages item text)
 
Line 1: Line 1:
$.when(mw.loader.using(['mediawiki.util']), $.ready).then(function () {
$.when(
   // By default, use the next item after "Special pages", namely "Printable
  mw.loader.using(["mediawiki.api", "mediawiki.util", "mediawiki.jqueryMsg"]),
  // version"
  $.ready
  // If that's not available, use "Page information", because that should ALWAYS
)
  // be there.
  .then(function () {
  var beforeItem = $('#t-print');
  // Force-load the `allpages` message for i18n support
  beforeItem.length == 0 && (beforeItem = $('#t-info'));
    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
    // addPortletLink returns a DOM node that can be used for modifying its
  // functionality further.
    // functionality further.
  var node = mw.util.addPortletLink(
    var node = mw.util.addPortletLink(
    'p-tb',
      "p-tb",
    new mw.Title('Special:AllPages').getUrl(),
      new mw.Title("Special:AllPages").getUrl(),
    'All pages',
      mw.message("allpages").text(), // use the previously fetched message
    't-allpages',
      "t-allpages",
    '',
      "",
    'm',
      "m",
    beforeItem
      beforeItem
  );
    );


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

Latest revision as of 10:27, 7 June 2023

$.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();
  });
  */
  });