Benutzer:Fomafix/hideduplicatecontribs.js

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 30. Dezember 2011 um 14:03 Uhr durch Fomafix (Diskussion | Beiträge) (Test der Formulardatenherstellung von Tab Mix Plus durch separates $( '#cbdupl:checked' ).length statt Zugriff auf die bestehende Variable.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Contributions' ) jQuery( 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' )[0];
			var uctop = $( li[i] ).find( '.mw-uctop' );
			if ( ( titles[link.title] && $( '#cbdupl:checked' ).length ) || ( uctop.length && $( '#cbtop:checked' ).length ) ) {
				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 );
	refreshContribs();
});