Медиавики:Gadget-common-special-search.js

Мавод аз Википедиа — донишномаи озод

Эзоҳ: Баъди захира намудан, Шумо метавонед тағйиротҳои худро аз хотираи браузер гузариш карда, бубинед. Дар браузерҳои Mozilla / Firefox / Safari: тугмаи Shift-ро пахш намуда бо мушак Reload-ро пахш кунед, ё Ctrl-Shift-R-ро пахш намоед (Cmd-Shift-R барои компютерҳои Apple Mac); дар браузери IE: тугмаи Ctrl-ро пахш намуда бо мушак Refresh-ро пахш намоед, ё Ctrl-F5-ро пахш намоед; дар браузери Konqueror:: бо мушак Reload-ро пахш кунед, ё тугмаи F5-ро пахш намоед; дар браузери Opera ба Шумо пурра тоза кардани хотираи браузер ба воситаи Tools→Preferences лозим аст.

runAsEarlyAsPossible( function () {
	// Таблица ключевых слов для поиска: привязываем обработчик к ссылке «Калидвожаҳо»,
	// дооформляем, делаем ключевые слова кликабельными
	( function () {
		var $pseudolinkWrapper = $( '#keywords-popup-pseudolink-wrapper' );
		var $popup = $( '#keywords-popup' );
		var popupShownFirstTime = true;
		$pseudolinkWrapper.show().find( 'a' ).removeAttr( 'title' )
			.click( function ( e ) {
				e.preventDefault();

				// Используем классы [[mw:Extension:Popups]] (работают даже при выключенных
				// всплывающих окнах)
				if ( !$popup.hasClass( 'mwe-popups-fade-in-up' ) ) {
					$popup
						.show()
						.removeClass( 'mwe-popups-fade-out-down' )
						.addClass( 'mwe-popups-fade-in-up' );
					if ( popupShownFirstTime ) {
						// Позиционируем «хвост» попапа
						$populTailPart1 = $( '#keywords-popup-tail-part1' );
						$populTailPart2 = $( '#keywords-popup-tail-part2' );
						var popupTailPart1Left = $pseudolinkWrapper.offset().left + ( $pseudolinkWrapper.width() / 2 ) -
							$popup.offset().left - (
								( $populTailPart1.outerWidth() / 2 ) - (
									(
										parseInt( $pseudolinkWrapper.find( 'a' ).css( 'padding-left' ) ) -
										$( '.dropdown-icon' ).outerWidth( true )
									) / 2
								)
							);
						$populTailPart1.css( 'left', popupTailPart1Left + 'px' );
						$populTailPart2.css( 'left', ( popupTailPart1Left - 3 ) + 'px' );
					}
					popupShownFirstTime = false;
				} else {
					$popup
						.removeClass( 'mwe-popups-fade-in-up' )
						.addClass( 'mwe-popups-fade-out-down' );
					setTimeout( function () {
						// Состояние не изменилось: ссылка «Калидвожаҳо» не была кликнута
						// в середине затухания
						if ( $popup.hasClass( 'mwe-popups-fade-out-down' ) ) {
							$popup.hide();
						}
					}, 150 );
				}
			} );
		$popup.find( 'a' ).attr( 'target', '_blank' );
		$( '#mw-indicator-mw-helplink a' ).text( 'Маълумоти пурра' );

		var $searchBox = $( '#searchText input' );
		$( '.keywords-popup-keyword' ).wrap( $( '<a>' )
			.attr( 'href', 'javascript:;' )
			.attr( 'title', 'Клидкалимаро дар майдони ҷустуҷӯ дохил кунед' )
			.click( function( e ) {
				e.preventDefault();
				$searchBox.val( $searchBox.val() + $( this ).find( '.keywords-popup-keyword' )
					.data( 'keyword' ).replace( / /g, ' ' ) ).focus();
			} )
		);
	}() );

	// Remove [[MediaWiki:Searchmenu-new]] if searching with "prefix:" (usually in talk archives)
	var cL = $( '.mw-search-createlink' );
	if ( / prefix:/.test( cL.find( 'a:first' ).text() ) )
		cL.after( '<br>' ).remove();

	// External search engines
	var searchInput = document.querySelector( '#searchText input' );
	var list = {
		'Google': 'https://google.com/search?q=%s+site:tg..wikipedia.org&hl=tg.',
		'Яндекс': 'https://yandex.ru/yandsearch?text=%s&site=tg..wikipedia.org',
		'Bing': 'https://www.bing.com/search?q=%s+site:tg..wikipedia.org',
	};
	var listKeys = Object.keys( list );

	var searchEngines = document.createElement( 'p' );
	searchEngines.id = 'searchEngines';
	searchEngines.innerHTML = 'Ҷустуҷӯ&nbsp;дар&nbsp;(';
	searchEngines.style.float = 'right';

	for ( var i in list ) {
		var link = document.createElement( 'a' );
		link.href = list[ i ].replace( '%s', searchInput.value );
		link.textContent = i;
		searchEngines.appendChild( link );

		if ( listKeys.indexOf( i ) < listKeys.length - 1 ) {
			searchEngines.appendChild( document.createTextNode( ' | ' ) );
		}
	}
	searchEngines.appendChild(document.createTextNode( ')' ));

	$( '.searchresults > .mw-search-visualclear:not(.mw-search-interwiki-header)' ).after( searchEngines );
}, $( '#footer' ), mw.hook( 'wikipage.content' ).add );