User:DannyS712/AjaxRollbackSummary.js

From Wikipedia, the free encyclopedia
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.
//<nowiki>
//Copied from [[User:Abelmoschus Esculentus/AjaxRollbackSummary.js]
jQuery(document).ready(function ($) {
	function SetAjaxRollback() {
		$('span.mw-rollback-link').click(function(e) {
			e.preventDefault();
			var $rblink = $(this);
			var href = this.getElementsByTagName('a')[0].href;
			this.innerHTML = '<img src="http://images2.wikia.nocookie.net/dev/images/8/82/Facebook_throbber.gif" style="vertical-align: baseline;" height="15" width="15" border="0" alt="Rollingback..." />';
			var summary = prompt("Enter summary (leave blank will cancel the action)", "[[Help:Reverting|Reverted]] edits by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]]) to last version by $1");
			if (summary === null || summary === "") {
				$rblink.text(function (i, val) {return val + '[rollback cancelled]';});
				return;
			}
			$.ajax({
				url: href.replace("?", "?summary=" + encodeURIComponent(summary) + "&"),
				success: function() {
					$rblink.text(function (i, val) {return val + '[reverted]';});
					loadPageData();
				},
				error: function() {
					$rblink.text(function (i, val) {return val + '[rollback failed]';});
					loadPageData();
				}
			});
		});
	}
	mw.loader.using(['mediawiki.util', 'mediawiki.api', 'mediawiki.Title', 'mediawiki.RegExp'], function() {
		SetAjaxRollback();
	});
});
//</nowiki>