MediaWiki:Gadget-kepdia.js

A Wikipédiából, a szabad enciklopédiából

Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.

  • Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
  • Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
  • Internet Explorer / Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
  • Opera: Nyomj Ctrl–F5-öt
function kepValtas( e ) {
	e.preventDefault();
	var data = $( this ).data( 'kepDia' );
	$( '#kepDiaCs' + data.group + 'Kep' + data.hide ).hide();
	$( '#kepDiaCs' + data.group + 'Kep' + data.show ).show();
	return false;
}

function lapozo( group, id, dir ) {
	return $( '<a>' )
		.attr( 'href', '#' )
		.text( dir > 0 ? '▶' : '◀') 
		.data( 'kepDia', {
			group: group,
			hide: id,
			show: id + dir
		} )
		.click( kepValtas );
}

function kepDia( $content ) {
	if ( document.URL.match( /printable/g ) ) return;
	var $units;
	$content.find( 'td.kepDia, div.kepDia' ).each( function ( i ) {
		$units = $( this ).find( 'div.kepDiaKepek:first > figure' );
		$units.each( function ( j ) {
			$( this ).attr( 'id', 'kepDiaCs' + i + 'Kep' + j );
			var $imghead = $( '<div>' ).addClass( 'kepDiaFejlec' );
			var $prev, $next;
			if ( j !== 0 ) {
				$prev = lapozo( i, j, -1);
			} else {
				$prev = $( '<span>' ).html( '&nbsp;' );
			}
			if ( j !== $units.length - 1 ) {
				$next = lapozo( i, j, +1 );
			} else {
				$next = $( '<span>' ).html( '&nbsp;' );
			}
			var $comment = $( '<span>' ).addClass( 'comment' ).text( '(' + (j+1) + ' / ' + $units.length + ')' );
			$imghead
				.append( $prev, $comment, $next )
				.prependTo( this );
			if ( j !== 0 ) $( this ).hide();
		} );
	} );
}

mw.hook( 'wikipage.content' ).add( kepDia );