Usuário:BraunOBruno/NSSearch.js

Origem: Wikipédia, a enciclopédia livre.

Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer / Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5
  • Opera: Pressione Ctrl-F5.
/**
 * Pesquisa por domínio
 * Permite selecionar o domínio a pesquisar
 * @author: [[:en:User:Ilmari Karonen]]
 * <noinclude>
 * [[Categoria:!Código-fonte de scripts|Pesquisa por domínio]]
 * [[en:Wikipedia:WikiProject User scripts/Scripts/Multi-NS search]]
 * </noinclude>
 */
/*jslint browser: true, white: true*/
/*global jQuery, mediaWiki */
( function ( $, mw ) {
'use strict';

$(function () {
	var	$searchNsHidden, $searchNsMenu,
		$searchGoButton = $('#searchButton');
	if ( !$searchGoButton.length ) {
		return;
	}
	$searchNsHidden = $('<input type="hidden" />').attr({
		id: 'searchNsHidden',
		name: 'ns0',
		value: '1'
	});

	$searchNsMenu = $('<select></select>').attr({
		id: 'searchNsMenu',
		name: 'ns'
	}).css({
		'width': '11.2em',
		'margin': '0',
		/* copied from vector stylesheet's simpleSearch input */
		'marginTop': '0.4em',
		'fontSize': '95%'
	}).change(function () {
		$searchNsHidden.attr(
			'name',
			'ns' + $(this).find(':selected').val()
		);
	});

	$.each(mw.config.get('wgFormattedNamespaces'), function (nsNum, nsName) {
		if ( nsNum < 0 ) {
			return;
		}
		$searchNsMenu
			.append(
				$('<option></option>')
					// Name taken from [[MediaWiki:Blanknamespace]]
					.attr('value', nsNum )
					.text( nsNum === '0' ? '(Principal)' : nsName )
			);
	});

	$searchGoButton
		.before( $searchNsHidden )
		.before( $searchNsMenu );

});

}( jQuery, mediaWiki ) );