MediaWiki:Gadget-EnhancedUndelete.js
Appearance
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)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
mw.log.warn( 'The functionality of the gadget EnhancedUndelete was added to MediaWiki. See bug 29443.' );
/**
* Enhanced Undelete Tool
* Stolen from Wikibooks created & Maintained by [[b:User:Darklama]] and [[b:User:Mike.lifeguard]]
*
* Adds a "Select All" and "Invert Selection" button to Special:Undelete.
* Used for administrators only.
*/
(function () {
function wikibooks_enhanced_undelete() {
var i;
if (mw.config.get("wgPageName") !== "Special:Undelete")
return;
var fi = document.getElementsByTagName("input");
for (i = 0; i < fi.length; i++) {
if (!fi[i].hasAttribute("type"))
continue;
if (fi[i].getAttribute("type") == "reset") {
var sa = document.createElement("input");
sa.setAttribute("type", "button");
sa.setAttribute("value", "Select All");
fi[i].parentNode.insertBefore(sa, fi[i].nextSibling);
sa.onclick = function () {
for (var i = 0; i < fi.length; i++) {
if (fi[i].hasAttribute("type") && fi[i].getAttribute("type") == "checkbox") {
fi[i].checked = true;
}
}
};
// add invert selection button
var inv = document.createElement("input");
inv.setAttribute("type", "button");
inv.setAttribute("value", "Invert All");
fi[i].parentNode.insertBefore(inv, fi[i].nextSibling);
inv.onclick = function () {
// if a deleted edit is checked, uncheck it, and vis-versa.
for (var i = 0; i < fi.length; i++) {
if (fi[i].hasAttribute("type") && fi[i].getAttribute("type") == "checkbox") {
fi[i].checked = !fi[i].checked;
}
}
};
} else if (fi[i].getAttribute("type") == "checkbox") {
fi[i].checked = true;
}
}
}
if (mw.config.get("wgPageName") === "Special:Undelete")
$(wikibooks_enhanced_undelete);
}());
// [[Category:Gadgets|EhancedUndelete.js]]