User:Dixtosa/contribUnwatched.js

From Wiktionary, the free dictionary
Jump to navigation Jump to search

Note – after saving, you may have to bypass your browser’s cache to see the changes.

  • Mozilla / Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Command-R on a Macintosh);
  • Konqueror and Chrome: click Reload or press F5;
  • Opera: clear the cache in Tools → Preferences;
  • Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5.

//this script makes unwatched entries bolder on Users Contribution page, but is awfully slow


var watchList = {}, api = new mw.Api();

function readWatchList(continuation) {
	var params = {list: 'watchlistraw', wrlimit: 500, rawcontinue: ''};
	if (continuation)
		params.wrcontinue = continuation;
	api.get(params).done(function(data) {
		if (data && data.watchlistraw)
			$.each(data.watchlistraw, function(key, val) { watchList[val.title] = true; });
		if (data && data['query-continue'])
			readWatchList(data['query-continue']['watchlistraw']['wrcontinue']);
		else
			colorWatched();
	});
}

function colorWatched() {
	var pagesList = mw.util.$content.find('ul > li');
	pagesList.each(function() {
		var li = $(this);
		var anchor = li.find(".mw-contributions-title");
		var page = anchor.text();
		var watched = watchList[page] || false;
		if (!watched)
			anchor.css({'font-weight': 'bolder'})
	});
}
		
if (mw.config.get('wgCanonicalSpecialPageName') == "Contributions")
	mw.loader.using('mediawiki.api', readWatchList);