MediaWiki:Gadget-EnhancedUndelete.js

From Wikiversity

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.
 // Enhanced Undelete Tool
 // Maintained by [[User:Darklama]]
 //
 // Adds 'Reverse' and 'Select All' buttons to Special:Undelete.
 // Used for administrators only.
 
 function wikiversity_enhanced_undelete() {
   if (mw.config.get('wgPageName') != "Special:Undelete" )
     return;
   
   var fi = document.getElementsByTagName("input");
   var ba;
   
   for (i = 0; i < fi.length; i++)
   {
     if (!fi[i].hasAttribute("type") || fi[i].getAttribute("type") != "reset" )
       continue;
     
     // add a reverse button
     ba = document.createElement("input");
     ba.setAttribute("type", "button");
     ba.setAttribute("value", "Reverse");
     ba.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;
         }
       }
     }
     fi[i].parentNode.insertBefore(ba, fi[i].nextSibling);
     
     ba = document.createElement("input");
     ba.setAttribute("type", "button");
     ba.setAttribute("value", "Select All");
     ba.onclick = function() {
       for (var i=0;i<fi.length;i++) {
         if (fi[i].hasAttribute("type") && fi[i].getAttribute("type") == "checkbox") {
           fi[i].checked = true;
         }
       }
     };
     fi[i].parentNode.insertBefore(ba, fi[i].nextSibling);
   }
 }
 
 if (mw.config.get('wgPageName') == "Special:Undelete" )
   $(wikiversity_enhanced_undelete);