Benutzer:PDD/hideduplicatecontribs.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
if ( mw.config.get('wgCanonicalSpecialPageName') == "Contributions" ) $(document).ready( function() {
	var monthsel = document.getElementById( 'month' );
	if( !monthsel ) return;

	var list = mw.util.$content.find('ul');

	if (list.length == 0) return;
	list = list[list.length - 1]; // Last one should (hopefully) be the contribs list in most cases

	var cbdupl = document.createElement( 'input' );
	cbdupl.style.marginLeft = '1em';
	cbdupl.id = 'cbdupl';
	cbdupl.type = 'checkbox';
	monthsel.parentNode.appendChild( cbdupl );

	var lbdupl = document.createElement( 'label' );
	lbdupl.appendChild( document.createTextNode( 'Doppeleinträge ausblenden' ) );
	lbdupl.htmlFor = 'cbdupl';
	monthsel.parentNode.appendChild( lbdupl );

	var cbtop = document.createElement( 'input' );
	cbtop.style.marginLeft = '1em';
	cbtop.id = 'cbtop';
	cbtop.type = 'checkbox';
	monthsel.parentNode.appendChild( cbtop );

	var lbtop = document.createElement( 'label' );
	lbtop.appendChild( document.createTextNode( 'aktuelle Beiträge ausblenden' ) );
	lbtop.htmlFor = 'cbtop';
	monthsel.parentNode.appendChild( lbtop );

	function refreshContribs() {
		var li = list.getElementsByTagName( 'li' );
		var titles = {};
		for ( var i=0; i < li.length; i++ ) {
			var link = li[i].getElementsByTagName( 'a' )[1];
			var strong = $(li[i]).find( '.mw-uctop' );
			if ( ( titles[link.title] && cbdupl.checked ) || ( strong.length && cbtop.checked ) )
				li[i].style.display = 'none';
			else li[i].style.display = 'list-item';
			titles[link.title] = true;
		}
	}
	cbdupl.addEventListener ( 'change', refreshContribs, false );
	cbtop.addEventListener ( 'change', refreshContribs, false );
});