Ugrás a tartalomhoz

MediaWiki:Common.js

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen Tacsipacsi (vitalap | szerkesztései) 2020. január 21., 13:26-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól. (irclogin segédeszközbe)

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
  • Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
/* Az ide elhelyezett JavaScript kód minden felhasználó számára lefut az oldalak betöltésekor. */
/* <nowiki> kategorizálás megakadályozására */

/*
== Kezdőlap összes Wikipédia listája ==
*/
if ( mw.config.get('wgIsMainPage') ) {
	$.when(
		mw.loader.using( 'mediawiki.util' ),
		$.ready
	).then( function () {
		mw.util.addPortletLink( 'p-lang', '//meta.wikimedia.org/wiki/List_of_Wikipedias',
		                        'Teljes lista', 'interwiki-completelist', 'A Wikipédiák teljes listája' );
	} );
}

/*
== Elrejthető üzenetek ==
*/
window.addHideButton = ( function ( mw, $ ) {
	function hideElement( e ) {
		var $this = $( this ),
			$box = $this.parent(),
			name = $box.attr( 'id' );
		
		mw.cookie.set( 'hide-' + name, '1', 7*24*3600 ); // 1 hét
		$this.hide();
		$box.hide();
		e.preventDefault();
		return false;
	}
	
	function addHideButton( element ) {
		var $this = $( element );
		if ( !$this.length ) return;
		mw.loader.using( 'mediawiki.cookie', function () {
			var isHidden = mw.cookie.get( 'hide-' + $this.attr( 'id' ) );
			if ( isHidden ) {
				$this.hide();
			} else {
				var $button = $( '<a>' )
					.attr( 'href', '#' )
					.attr( 'id', 'hide-' + $this.attr( 'id' ) )
					.addClass( 'hideButton' )
					.attr( 'title', 'Üzenet elrejtése egy hétre' )
					.click( hideElement )
					.text( '[elrejt]' )
					.appendTo( $this );
			}
		} );
	}
	return addHideButton;
}( mediaWiki, jQuery ) );

/* 
== Képfeltöltés ==
*/
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload' )
	mw.loader.load( 'ext.gadget.uploadpage' );

/*
== Legördülő menü és extra gombok az edittools-ba ==
*/
if ( mw.config.get( 'wgAction' ) in { edit: 1, submit: 1 } || mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Upload' )
	mw.loader.load( 'ext.gadget.edittools' );

/*
== Változtatható rendezésű táblázatok: ékezetes betűk, magyar írásmódú számok rendezése ==
*/

// buta, de legalább működik
// rendező kód: https://phabricator.wikimedia.org/source/mediawiki/browse/master/resources/src/jquery.tablesorter/jquery.tablesorter.js
// okos, de nem működő kód: https://hu.wikipedia.org/w/index.php?title=MediaWiki:Common.js&diff=prev&oldid=14463042
(function() {
	var accented = 'áéíóúöőüűÁÉÍÓÚÖŐÜŰ',
	    basic = 'aeiouööüüAEIOUÖÖÜÜ',
	    tableSorterCollation = {};
	for (var i = 0; i < accented.length; i++) {
		tableSorterCollation[accented[i]] = basic[i];
	}
	mw.config.set( 'tableSorterCollation', tableSorterCollation);
}());

/*
== Kéthasábos forráslista kikapcsolása, ha <4 forrás van ==
*/
( function () {
	function dynamicMultiColumn( $content ) {
		$content.find( 'div.ref-1col > div' ).each( function () {
			if ( $( this ).find( 'li' ).length < 4 ) {
				$( this ).css( {
					'-moz-column-count': '',
					'-webkit-column-count': '',
					'column-count': ''
				} );
			}
		} );
	}
	mw.hook( 'wikipage.content' ).add( dynamicMultiColumn );
}() );

/*
== Keresési kifejezések naplózása névtelenül a Squidek által ==
*/

// Change search forms so they send to an URL which has the search term in the 
// path (not just in the query part). This in necessary for getting search 
// statistics from the squid logs.
// Based on [[wikt:de:MediaWiki:If-search.js]].
( function () {
	var oSEAp = '';
	function SubSearch( e ) {
		var delimiter,
			$form = $( this ),
			$input = $( '#' + $form.data( 'fixSearch-inputId' ) );
		if ( !$input.val() ) {
			delimiter = '';
		} else {
			delimiter = '/';
		}
		$form.attr( 'action', mw.config.get('wgArticlePath').replace('$1', oSEAp + delimiter + encodeURIComponent($input.val())));
		// Try to remove <input name="title"> from the <form>
		$form.find( 'input[name="title"]:first' ).remove();
	}

	function fixSearchForm( formId, inputId ) {
		$( '#' + formId )
			.data( 'fixSearch-inputId', inputId )
			.submit( SubSearch );
	}

	$( function () {
		fixSearchForm( 'searchform', 'searchInput' );
		fixSearchForm( 'search', 'searchText' );
		fixSearchForm( 'powersearch', 'powerSearchText' );
		fixSearchForm( 'bodySearch', 'bodySearchIput' );
		var $form = $( '#searchform' );
		if ( $form.length && $form.attr( 'action' ).indexOf( mw.config.get( 'wgScript' ) ) > -1 ) {
			oSEAp = $form.find( 'input' ).val();
		} else if ( $form.length ) {
			oSEAp = $form.attr( 'action' ).replace( /^.*\/([^\/]+)$/, '$1' );
		}
	} );
}() );

/*
== Szerkesztői lapok testreszabása ==
- Megjelenő cím cseréje szerkesztő(vita), Wikipédia(-vita) és portálnévterekben
- Megjelenő alcím cseréje és virtuális kategóriák megjelenítése szerkesztőnévtérben
- Betűtípus és háttérszín módosítása szerkesztő(vita) névtérben
*/
if (
	[
		2, 3, // szerkesztői lap és vitája
		4, 5, // Wikipédia-lap és vitája
		100 // portál
	].indexOf( mw.config.get( 'wgNamespaceNumber' ) ) > -1
) {
	mw.loader.load( 'ext.gadget.userpage-customization' );
}

/*
== Erőforrástakarékos üzenet a TranslateWikin való MediaWiki-felület-fordításra ==
*/
$( function() {
	if ( mw.config.get('wgNamespaceNumber') == 8 && mw.config.get('wgPageName').match(/\.js$|\.css$/) === null ) {
		$( '<div>' )
			.addClass( 'editwarning plainlinks translateWikiMessage' )
			.html('<b>Ha olyan üzenetet fordítasz, amely nem Wikipédia-specifikus, akkor azt a <a href="//translatewiki.net" class="external text" style="color: #002bb8;" title="translatewiki.net" rel="nofollow">Translatewikiben</a> tedd, hogy így minden magyar nyelvű Wikimedia-projekt számára elérhető legyen!</b> (<a href="//translatewiki.net/wiki/' + mw.config.get('wgPageName') + '/hu" class="external text" style="color: #002bb8;" title="' + mw.config.get('wgPageName') + ' magyar változatának megtekintése a Translatewikiben" rel="nofollow">→ezen üzenet megtekintése a Translatewikiben</a>, <a href="//translatewiki.net/wiki/' + mw.config.get('wgPageName') + '/hu?action=edit" class="external text" style="color: #002bb8;" title="' + mw.config.get('wgPageName') + ' magyar változatának szerkesztése a Translatewikiben" rel="nofollow" style>szerkesztés</a>)')
			.appendTo( '#siteSub' );
	}
} );