Jump to content

User:TopGun/common.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by TopGun (talk | contribs) at 15:41, 4 December 2011 (bold unseen). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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.
// [[user:js/watchlist]]
if (wgCanonicalSpecialPageName == 'Watchlist') 
  importScript('user:js/watchlist.js');


//Mass rollback function
//Written by John254
//Adapted from User:Mr.Z-man/rollbackSummary.js
//Instructions: Selecting the "rollback all" tab when viewing a user's contributions history
//will open all rollback links displayed there. (Use with caution)
 
function rollbackEverythingButton() {
  var hasRollback = getElementsByClassName(document, "span", "mw-rollback-link");
  if (hasRollback[0] && (document.title.indexOf("User contributions") != -1) ) {
    addPortletLink('p-cactions', 'javascript:rollbackEverything()', "rollback all", "ca-rollbackeverything", "rollback all edits displayed here");
  }
}
addOnloadHook(rollbackEverythingButton);
function rollbackEverything() {
    for (var i in document.links) {
      if (document.links[i].href.indexOf('action=rollback') != -1) {
        window.open(document.links[i].href);
      }
    }
}


/*
	MARK UNVIEWED WATCHLIST ITEMS
	Description: On the Watchlist, marks unviewed diffs with red text.
		Only tested with Enhanced Recent Changes enabled.
	Link: [[User:Gary King/mark unviewed watchlist items.js]]
*/
 
if (typeof(unsafeWindow) != 'undefined')
{
	var console = unsafeWindow.console;
	mw = unsafeWindow.mw;
}
 
function markUnviewedWatchlistItems()
{
	if (mw.config.get('wgCanonicalSpecialPageName') != 'Watchlist') return false;
 
	mw.util.addCSS('a.watchlist-diff { color: red; }');
	mw.util.addCSS('a.watchlist-diff:visited { color: #551A8B; }');
 
	// loop through each day
	$('#bodyContent h4').each(function()
	{
		var day = $(this);
 
		// loop through each page
		$('table', day.next()).each(function()
		{
			var table = $(this);
 
			// check that this is really a diff link by determing the link's text; checks if link is actually a link, and if it contains "diff" or "changes" or "hist"
			var diffLink = table.children().eq(0).children().eq(0).children().eq(-1).children().eq(1);
			if (diffLink.length && diffLink[0].nodeName == 'A' && (diffLink.text() == 'diff' || diffLink.text().match('changes') || diffLink.text() == 'hist')) diffLink.addClass('watchlist-diff');
		});
	});
}
 
$(markUnviewedWatchlistItems);