MediaWiki:Gadget-externalsearch-bar.js

/** * Add a small dropdown menu to the search box to add the Wikimedia technical search. * * Created by d:User:Bene* */ // ( function ( mw, $ ) {	var i18nData = {		'en': {			'title': 'Wikimedia tech',			'description': 'Use the custom Wikimedia technical search',			'placeholder': 'Wikimedia tech'		}	};

if( $( 'body' ).is( '.rtl' ) ) { i18nData.en.dir = 'rtl'; i18nData.en.left = 'right'; i18nData.en.right = 'left'; }	else { i18nData.en.dir = 'ltr'; i18nData.en.left = 'left'; i18nData.en.right = 'right'; }

var i18nLang = mw.config.get( 'wgUserLanguage' ), lang = i18nLang.split( '-' )[0];

if( !( i18nLang in i18nData ) ) { i18nLang = 'en'; }

if( i18nLang === 'be-tarask' ) { // Hack for be_x_oldwiki lang = 'be-x-old'; }

/**	 * Returns the localized version of a message. */	function i18n( key ) { if( i18nData[ i18nLang ][ key ] ) { return i18nData[ i18nLang ][ key ]; }		else { return i18nData.en[ key ]; }	}

var $improvedsearch = $( ' ' ) .attr( {		id: 'improvedsearch',		action: 'https://www.google.com/cse'	} ) .append(		$( ' ' )		.attr( 'id', 'simpleSearch' ) // This is a hack.		.append( $( ' ' )			.attr( {				type: 'hidden',				name: 'cx',				value: '010768530259486146519:twowe4zclqy'			} ) )		.append( $( ' ' )			.attr( {				id: 'searchInput', // This is a hack.				'class': 'improvedsearch-page',				type: 'text',				accesskey: 'g',				title: i18n( 'title' ) + ' [alt-shift-g]',				name: 'q',				autocomplete: 'off',				placeholder: i18n( 'placeholder' )			} ) )		.append( $( ' ' )			.attr( {				id: 'searchButton', // This is a hack.				'class': 'improvedsearch-search',				title: i18n( 'description' )			} ) )	);

function toggle { $( '#improvedsearch' ).toggle( 'normal' ); $( '.improvedsearch-page' ).focus; }

function init { var skin = mw.config.get( 'skin' ); if( skin === 'vector' ) { $( '#p-search' ).append( $improvedsearch ); $( '#improvedsearch' ).hide( 0 ); $( '.improvedsearch-search' ) .html(					$( ' ' )					.attr( { width: '12', height: '13', alt: i18n( 'title' ), src: mw.config.get( 'stylepath' ) + '/vector/images/search-' + i18n( 'dir' ) + '.png?303-4' } )				);			var toggleCss = { width: '20px', height: '1.3em' };			toggleCss['margin-' + i18n( 'left' )] = '14.5em'; toggleCss['margin-' + i18n( 'right' )] = '-0.8em'; $( '#searchform' ).prepend(				$( ' ' )				.attr( { id: 'improvedsearch-toggle', 'class': 'vectorMenu', title: i18n( 'title' ) } )				.css( toggleCss )				.click( toggle )			); } else if( $( '#searchBody' ).length ) { $( '#searchBody' ).append(				$( ' ' )					.after( $improvedsearch )			); $( '.improvedsearch-search' ) .replaceWith(				$( ' ' )					.attr( { type: 'submit', 'class': 'searchButton improvedsearch-search', value: i18n( 'title' ), title: i18n( 'description' ) } )			);		}	}

$( document ).ready( init ); } ( mediaWiki, jQuery ) ); //