MediaWiki:Gadget-AdvancedSearchHelper.js
Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.
Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti (per le pagine globali è comunque necessario attendere qualche minuto). Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome: premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menù Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.
/**
* Inserisce nella pagina alcuni campi di ricerca avanzata.
*
* Oltre al '#advanced-search-helper-container', nella pagina deve essere inserito almeno un "inputbox".
*
* @author [[Utente:Valerio Bozzolan]]
* @license [[GNU AGPL]] or [[GNU GPL v3+]] or [[GNU FDL]] or [[CC BY-SA 4.0]] at your opinion
*/
( function ( mw, $ ) {
var L10N = {
search: 'Cerca',
prefix: 'Prefisso',
inTitle: 'Parte del titolo',
inSource: 'Nel codice',
exclude: 'Escludi'
};
var $container = $('#advanced-search-helper-container').empty();
var $formContainer = $('<div class="mw-inputbox-centered">');
var $checkboxContainer = $('<div class="mw-inputbox-element mw-ui-checkbox">');
var $inputText = $('<input type="text" class="searchboxInput mw-ui-input mw-ui-input-inline" />');
var $checkbox = $('<input type="checkbox" />');
var $label = $('<label>');
var $button = $('<input class="mw-ui-button" />');
var $form = $('<form>');
var $p = $('<p>');
var searches = [];
function $fullCheckbox( label ) {
var $myCheckbox = $checkbox.clone();
this.i = this.i || 0;
var id = 'mw-inputbox-asd-' + this.i;
return $checkboxContainer.clone()
.append( $myCheckbox
.prop('id', id)
)
.append( $label.clone()
.prop('for', id)
.html( label )
);
}
function addSearchPart(field, value) {
searches.push( field + ':"' + value + '"' );
}
function addSearchField( field, label ) {
var $inputTextPrefix = $inputText.clone()
.attr('placeholder', label);
var $excludeCheckbox = $fullCheckbox( L10N.exclude );
$form.append(
$formContainer.clone().append(
$p.clone()
.append( $inputTextPrefix )
.append( $excludeCheckbox )
)
)
.submit( function () {
var v = $inputTextPrefix.val();
if( v ) {
if( $excludeCheckbox.find('input').is(':checked') ) {
field = '-' + field;
}
addSearchPart( field, v );
}
} );
}
var $mainInputSearch = $inputText.clone()
.prop('size', 50)
.prop('name', 'search')
.prop('placeholder', L10N.search);
$form.append(
$formContainer.clone().append(
$p.clone().append( $mainInputSearch )
)
);
addSearchField('prefix', L10N.prefix);
addSearchField('intitle', L10N.inTitle);
addSearchField('insource', L10N.inSource);
$form.append(
$formContainer.clone().append(
$p.clone().append(
$button.clone()
.prop('type', 'submit')
.attr('value', L10N.search )
)
)
)
$form.submit( function () {
$mainInputSearch.val(
$mainInputSearch.val() + " " +
searches.join(' ')
);
searches = [];
} );
$container.append( $form );
} )( mediaWiki, jQuery );