Jump to content

User:Technical 13/Scripts/Gadget-watchlistCleaner.js

From Wikipedia, the free encyclopedia
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.
if ( mw.config.get( 'wgPageName' ) == "Special:Watchlist" ) {
	if($( 'a:contains("since last visit")' ).length >= 1){
		$( 'a:contains("since last visit")' ).each(function(){
			$(this).html($(this).html().replace( 'since last visit', 'new' ) )
		});
	}
	if( window.screen.width < 640 ){
		$( 'span.mw-watchlist-toollinks' ).html( $( 'span.mw-watchlist-toollinks' ).html().replace( /&nbsp;\| /g, '&thinsp;•&thinsp;' ).replace( '<a href="/wiki/Special:Watchlist" title="Special:Watchlist">View relevant changes</a>', '<a href="/wiki/Special:Watchlist" title="View watchlist (or purge)">V</a>' ).replace( '<a href="/wiki/Special:EditWatchlist" title="Special:EditWatchlist">View and edit watchlist</a>',  '<a href="/wiki/Special:EditWatchlist" title="Edit watchlist">E</a>' ).replace( '<a href="/wiki/Special:EditWatchlist/raw" title="Special:EditWatchlist/raw">Edit raw watchlist</a>',  '<a href="/wiki/Special:EditWatchlist/raw" title="edit Raw watchlist">R</a>' ).replace( '<a href="/wiki/Special:EditWatchlist/clear" title="Special:EditWatchlist/clear">Clear the watchlist</a>',  '<a href="/wiki/Special:EditWatchlist/clear" title="Delete your watchlist" style="font-size: smaller; color: #F00;">D</a>' ) );
		var wlCount = $( '#mw-content-text' ).find( 'p b' ).text();// Get the count of pages on watchlist
		$( 'input[name="dummy"]' ).val( ' — Mark all ' + wlCount + ' watchlisted pages as visited. — ' );// Update button
		$( '#mw-content-text' ).find( 'p b' ).closest( 'p' ).remove();// Remove now obsolete sentence
		$( 'span#mw-wlheader-showupdated' ).remove();// Remove notice that all changed are bold
		$( 'form#mw-watchlist-form' ).remove();// Remove the controls for changing how the page is displayed
	}

/* Code to temporarily disable the "Mark all as read" button.  Comment this code out when not needed for testing. */
	$( 'input[name="dummy"]' ).val( $( 'input[name="dummy"]' ).val() + ' — temporarily disabled' ).attr( 'disabled','disabled' );
	$('input[name="dummy"]').after('<input type="button" id="enable-ma" onClick="$(\'input[name=dummy]\').removeAttr(\'disabled\'); $(\'input#enable-ma\').remove();" value="← Enable the mark all button" />');
}



/* Start working on condensing each row to new posts or last posts without expanding when using enhanced recent changes

var newEdits = [];
$('table.mw-enhanced-rc').each(function () {
    newEdits = $(this).find('span.mw-title').closest('td').find('a:nth-child(3)').text().match(/(\d)/);
    if (newEdits !== null) {
        newEdits = parseInt(thisRowsNewEdits[1].replace(/,/g,''), 10);
    } else {
        newEdits = parseInt(0, 10);
    }
    for(var i = 0; i <= newEdits; i++){
// Just got to find the right element...
        console.log('%o', $(this).find('td.mw-enhanced-rc-nested a.mw-userlink:nth-child(3)').text());
    }
    newEdits = [];
});

/* Pagenames: *//*
$('table.mw-enhanced-rc').each(function(){
	console.log("%o", 
		$(this).find('span.mw-title').text()//;
	);
});

*/