User:SD0001/hide-reverted-edits.js: Difference between revisions

Content deleted Content added
avoid declaring function() in top-level as these become accessible outside the script
nah, that doesn't fix it - try again with object
Line 14:
 
if (/&hidereverted=y/.test(window.___location.href)) {
hre.hideRevertedEdits();
hre.fixLinks(true);
hidingReverts = true;
} else {
Line 30:
 
if (!hidingReverts) {
hre.hideRevertedEdits();
$('.reverted-edits-showhide').text('Show reverted edits');
} else {
Line 37:
}
hidingReverts = !hidingReverts;
hre.fixLinks(hidingReverts);
 
}).insertAfter('.mw-history-compareselectedversions input');
Line 43:
});
 
var hre = {};

hre.hideRevertedEdits = function() {
 
$('#pagehistory li').each(function(idx) {
Line 69 ⟶ 71:
$this.hide();
$reverted_rev.hide();
if (window.hre_debug) console.log(idx, $this.find('.mw-changeslist-date').text(), 'undo');
}
 
Line 78 ⟶ 80:
} else if (rgx = /^Revert(?:ed)? (?:\d+ pending edits? by .*?)?to revision (\d+)/.exec(editcomment)) {
last_good_revision = rgx[1];
if (window.hre_debug) console.log(idx, $this.find('.mw-changeslist-date').text(), 'restore');
 
// 'Restore this version' reverts using Twinkle (new)
} else if (rgx = /^Restored revision (\d+) by/.exec(editcomment)) {
last_good_revision = rgx[1];
if (window.hre_debug) console.log(idx, $this.find('.mw-changeslist-date').text(), 'tw(new) restore');
 
// Reverts tagged as "Rollback"
Line 93 ⟶ 95:
else if (rgx = /^Reverted (?:good faith|\d+) edits? by (.*?) \(talk\)/.exec(editcomment)) {
reverted_user = rgx[1];
if (window.hre_debug) console.log(idx, $this.find('.mw-changeslist-date').text(), 'Twinkle rollback');
 
// Old Twinke vandalism rollback
} else if (rgx = /^Reverted \d+ edits? by (.*?) identified as vandalism/.exec(editcomment)) {
reverted_user = rgx[1];
if (window.hre_debug) console.log(idx, $this.find('.mw-changeslist-date').text(), 'Twinkle (old) rollback');
 
// STiki vandalism rollbacks, and all reverts using MediaWiki rollback, Huggle, Cluebot have the "Rollback" tag added
Line 107 ⟶ 109:
} else if (rgx = /^Reverted \d+ (?:good faith )?edits? by (.*?) (?:identified as test\/vandalism )?using STiki/.exec(editcomment)) {
reverted_user = rgx[1];
if (window.hre_debug) console.log(idx, $this.find('.mw-changeslist-date').text(), 'STiki rollback');
 
// normal MediaWiki rollback and Huggle rollback, and redwarn rollback
Line 114 ⟶ 116:
} else if (rgx = /^Revert(?:ed|ing) edit\(?s\)? by (.*?) \(talk\)/.exec(editcomment)) {
reverted_user = rgx[1];
if (window.hre_debug) console.log(idx, $this.find('.mw-changeslist-date').text(), 'mw/huggle/redwarn rollback');
 
// ClueBot
} else if (['ClueBot NG', 'ClueBot'].includes($this.find('.mw-userlink bdi').text())) {
reverted_user = /^Reverting possible vandalism by (.*?) to version by/.exec(editcomment)?.[1];
if (window.hre_debug) console.log(idx, $this.find('.mw-changeslist-date').text(), 'cluebot rollback');
 
// XLinkBot
} else if ($this.find('.mw-userlink bdi').text() === 'XLinkBot') {
reverted_user = /^BOT--Reverting link addition\(s\) by (.*?) to/.exec(editcomment)?.[1];
if (window.hre_debug) console.log(idx, $this.find('.mw-changeslist-date').text(), 'xlinkbot rollback');
}
Line 167 ⟶ 169:
* (newest | oldest) (newer n | older n) (20 | 50 | 100 | 250 | 500)
*/
var hre.fixLinks = function(hidingReverts) {
if (hidingReverts) {
if (!/&hidereverted=y/.test($('.mw-numlink').attr('href'))) {
Line 179 ⟶ 181:
});
}
}
 
var log = function(...args) {
if (window.hre_debug) console.log(...args);
}