User:Edokter/FontSizer.js

/** * Add an experimental fontsizer applet to the Tools menu. * * @dependencies: mediawiki.cookie * @source: User:Edokter/FontSizer.js / User:Edokter/FontSizer.css * @revision 3.1 * @author: Edokter (User:Edokter) **/

/* Load dependencies (remove when loading through ResourceLoader) */ mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Edokter/FontSizer.css&action=raw&ctype=text/css', 'text/css' ); mw.loader.using( 'mediawiki.cookie', function { /* Begin of mw.loader.using callback */

$( document ).ready( function {

var fontsizerButtons = '' + '' + '' + '' + '';

var bodyStyle = document.getElementsByTagName( 'body' )[0].style;

function getSize { return parseInt( bodyStyle.fontSize.replace( '%', '' ) ); }

function setSize( size ) { bodyStyle.fontSize = size == 100 ? '' : size + '%'; mw.cookie.set( 'fontSizer.size', size == 100 ? null : size, { prefix: '' } ); $( '#t-fontsizer-reset' ).attr( 'value', size + '%' ); }

/* Initialize */ $( '#p-tb' ).find( 'ul' ).prepend( fontsizerButtons );

var cookie = mw.cookie.get( 'fontSizer.size', '' ); if ( cookie ) { setSize( cookie ); }

$( '#t-fontsizer-minus' ).click( function {		var newSize = getSize;		if ( !newSize ) {			newSize = 100;		}		if ( newSize > 50 ) {			newSize <= 100 ? newSize -= 5 : newSize -= 10;		}		setSize( newSize );	});

$( '#t-fontsizer-plus' ).click( function {		var newSize = getSize;		if ( !newSize ) {			newSize = 100;		}		if ( newSize < 200 ) {			newSize < 100 ? newSize += 5 : newSize += 10;		}		setSize(newSize);	});

$( '#t-fontsizer-reset' ).click( function {		setSize( 100 );	}); });

/* End of mw.loader.using callback */ } ); /* DO NOT ADD CODE BELOW THIS LINE */