User:Alyxia/common.js: Difference between revisions
Jump to navigation
Jump to search
(Add Special:AllPages to the toolbar through mw.util.addPortletLink) |
(Support i18n on the AllPages item text) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
$.when(mw.loader.using([ | $.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) { | $(node).on('click', function (e) { | ||
console.log('Example'); | console.log('Example'); | ||
Line 10: | 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();
});
*/
});