Benutzer:Fomafix/hideduplicatecontribs.js
Erscheinungsbild
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' )
mw.hook( 'wikipage.content' ).add( function ( $content ) {
var $list = $content.find( '.mw-contributions-list' );
var showTopOnly = document.getElementById( 'mw-show-top-only' );
if ( !showTopOnly ) return;
showTopOnly = showTopOnly.parentNode;
showTopOnly.style.marginRight = '1em';
showTopOnly.parentNode.appendChild( document.createTextNode( ' ' ) );
var nobreak = document.createElement( 'span' );
nobreak.style.whiteSpace = 'nowrap';
nobreak.style.marginRight = '1em';
var cbdupl = document.createElement( 'input' );
cbdupl.id = 'cbdupl';
cbdupl.type = 'checkbox';
nobreak.appendChild( cbdupl );
nobreak.appendChild( document.createTextNode( '\u00a0' ) );
var lbdupl = document.createElement( 'label' );
lbdupl.appendChild( document.createTextNode( 'Doppeleinträge ausblenden' ) );
lbdupl.htmlFor = 'cbdupl';
nobreak.appendChild( lbdupl );
showTopOnly.parentNode.appendChild( nobreak );
showTopOnly.parentNode.appendChild( document.createTextNode( ' ' ) );
nobreak = document.createElement( 'span' );
nobreak.style.whiteSpace = 'nowrap';
var cbtop = document.createElement( 'input' );
cbtop.id = 'cbtop';
cbtop.type = 'checkbox';
nobreak.appendChild( cbtop );
nobreak.appendChild( document.createTextNode( '\u00a0' ) );
var lbtop = document.createElement( 'label' );
lbtop.appendChild( document.createTextNode( 'aktuelle Beiträge ausblenden' ) );
lbtop.htmlFor = 'cbtop';
nobreak.appendChild( lbtop );
showTopOnly.parentNode.appendChild( nobreak );
function refreshContribs() {
var li = $list.children( 'li' );
var titles = Object.create( null );
for ( var i = 0; i < li.length; i++ ) {
var title = li[i].getElementsByClassName( 'mw-contributions-title' )[0].href;
var uctop = $( li[i] ).find( '.mw-uctop' );
if ( ( titles[title] && cbdupl.checked ) || ( uctop.length && cbtop.checked ) ) {
li[i].style.display = 'none';
} else {
li[i].style.display = null;
}
titles[title] = true;
}
}
cbdupl.addEventListener( 'change', refreshContribs, false );
cbtop.addEventListener( 'change', refreshContribs, false );
} );