User:Ilmari Karonen/rollbacksummary.js
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// Prompt for an edit summary when clicking a rollback link
$(function () {
var serverRe = mw.config.get('wgServer').replace(/([^A-Za-z0-9_])/g, "\\$1");
var scriptRe = mw.config.get('wgScript').replace(/([^A-Za-z0-9_])/g, "\\$1");
var rollbackRe = new RegExp ("^(" + serverRe + ")?" + scriptRe + "\\?([^#]*&)?action=rollback(&|$)");
var promptSummary = function () {
var summary = prompt("Enter rollback summary (or leave as \"default\" to use default summary):", "default");
if (summary == null || summary == "") return false;
if (summary == "default") return true;
this.href = this.href.replace("?", "?summary=" + encodeURIComponent(summary) + "&");
return true;
};
var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
if (rollbackRe.test(links[i].href)) links[i].onclick = promptSummary;
}
});