MediaWiki:Gadget-userpage-customization.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
/**********************************************************
 *     Szerkesztői lapokhoz kapcsolódó függvények         *
 **********************************************************/

/* 
 * Cím és alcím cseréje az engedélyezett névterekbe
 * tartozó lapokon (lásd az isDeniedNamespace változót)
 */
function changeDisplayTitle( $content ) {
	if ( mw.config.get( 'wgAction' ) !== 'view' ) return;
	var sajatcim,
		sajatalcim,
		nincsszerk = false,
		process = false;
	
	function doChange() {
		if ( sajatcim ) {
			if ( !nincsszerk && $( '#firstHeading > .mw-editsection' ).length ) {
				var $movededit = $( '#firstHeading > .mw-editsection' ).first().clone();
				$( '#firstHeading' ).html( sajatcim + ' ' ).append( $movededit );
			} else {
				$( '#firstHeading' ).html( sajatcim );
			}
		}
		
		if ( sajatalcim && $( '#siteSub' ).length ) {
			$( '#siteSub' ).html( sajatalcim );
		}
	}
	
	if ( $( '#sajatcim', $content ).length ) {
		process = true;
		var $sajatcim = $( '#sajatcim', $content );
		sajatcim = $sajatcim.html();
		nincsszerk = $sajatcim.hasClass( 'nincsszerk' );
		$sajatcim.remove();
	}
	
	// alcímet csak a júzernévtérben cserélgessünk
	if (
		[ 2, 3 ].indexOf( mw.config.get( 'wgNamespaceNumber' ) ) > -1 &&
		$( '#sajatalcim', $content ).length
	) {
		process = true;
		sajatalcim = $( '#sajatalcim', $content ).html();
		$( '#sajatalcim' ).remove();
	}
	
	if ( process ) {
		// ehhez a részhez kész DOM kell (eddig a $content-ből dolgoztunk)
		$( doChange );
	}
}
mw.hook( 'wikipage.content' ).add( changeDisplayTitle );

/*
 * Virtuális kategóriák összegyűjtése és megjelenítése az igazi kategóriák mögött a szerkesztői lapokon
 * TODO: kategória hozzáadása, ha nincs kat.
 */
function addVirtualCats( $content ) {
	if (
		mw.config.get( 'wgAction' ) !== 'view' ||
		mw.config.get( 'wgNamespaceNumber' ) !== 2 ||
		!$( '.kategoria', $content ).length
	) {
		return;
	}
	$kat = $( '.kategoria', $content ).detach();
	var katDom = [];
	$kat.each( function () {
		var $li = $( '<li>' )
			.append(
				$( '<a>' )
					.attr( 'href', '#globalWrapper' )
					.html( $( this ).html() )
			);
		katDom.push( $li[0] );
	} );
	$kat = $( katDom );
	if ( $kat.length ) {
		mw.hook( 'wikipage.categories' ).add( function ( $catbox ) {
			$( '#mw-normal-catlinks > ul', $catbox ).append( $kat );
		} );
	}
}
mw.hook( 'wikipage.content' ).add( addVirtualCats );

var disableUserFonts = window.disableUserFonts || false;
var disableUserBackgrounds = window.disableUserBackgrounds || false;

/*
 * Betűtípus lecserélése szerkesztői lapokon
 */
function changeFont( $content ) {
	if (
		mw.config.get( 'wgAction' ) !== 'view' ||
		disableUserFonts ||
		[ 2, 3 ].indexOf( mw.config.get( 'wgNamespaceNumber' ) ) === -1 ||
		!$( '#betutipus', $content ).length
	) {
		return;
	}
	var userFont = $( '#betutipus' ).text();
	$( '#betutipus' ).remove();
	$( function doChange() {
		// ehhez a részhez kész DOM kell (eddig a $content-ből dolgoztunk)
		$( '#firstHeading, #bodyContent' ).css( 'font-family', userFont );
	} );
}
mw.hook( 'wikipage.content' ).add( changeFont );

/*
 * Háttérszín lecserélése szerkesztői lapokon
 */
function changeBackground( $content ) {
	if (
		mw.config.get( 'wgAction' ) !== 'view' ||
		disableUserBackgrounds ||
		[ 2, 3 ].indexOf( mw.config.get( 'wgNamespaceNumber' ) ) === -1 ||
		!$( '#hatterszin', $content ).length
	) {
		return;
	}
	var userBackground = $( '#hatterszin', $content ).text();
	$( '#hatterszin' ).remove();
	$( function doChange() {
		// ehhez a részhez kész DOM kell (eddig a $content-ből dolgoztunk)
		$( '#content' ).css( 'background-color', userBackground );
	} );
}
mw.hook( 'wikipage.content' ).add( changeBackground );