User:Tulsi/rollbacksummary.js

From Meta, a Wikimedia project coordination wiki

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.
/**
 * Prompt for an edit summary when clicking on a [rollback] link
 * Adapted from [[en:User:Ilmari Karonen/rollbacksummary.js]] <https://en.wikipedia.org/wiki/User:Ilmari_Karonen/rollbacksummary.js>
 * Remix by [[User:Tulsi Bhagat]] <https://meta.wikimedia.org/wiki/User:Tulsi_Bhagat>
 */
mw.loader.using( [ 'mediawiki.util' ], function() {
    var rollbackPrompt=function(ev){
        var summary = prompt("Enter rollback summary:", "Reverted: REASON");
        if(summary === null || summary === "") {
            ev=ev || window.event;
            if(ev.preventDefault) ev.preventDefault();
            if(ev.stopPropagation) ev.stopPropagation();
            ev.returnValue = false;
            ev.cancelBubble = true;
            return false;
        }
        if(summary != "Reverted: REASON")
            this.href = this.href.replace("?", "?summary=" + encodeURIComponent(summary) + "&");
        return true;
    };

    var links=document.getElementById('content').getElementsByTagName('a');
    for(var i=links.length-1; i>=0; i--){
        if(/[?&]action=rollback([&#]|$)/.test(links[i].href))
            links[i].onclick=rollbackPrompt;
    }

});