MediaWiki:Gadget-AdvancedSearchHelper.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
dammi uno space e ti dirò il tuo name
Riga 1:
/**
* Aggiunge altri campi a [[Speciale:Ricerca]]
* 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]]
Riga 14 ⟶ 12:
search: 'Cerca',
prefix: 'Prefisso',
inTitle: 'Parte delNel titolo',
inSource: 'Nel codice',
inCategory: 'CategoriaNella categoria',
linksTo: 'CollegamentoNei collegamenti a',
exclude: 'Escludi',
moreLike: 'Parla simile',
hasTemplate: 'Nel template'
};
 
var $containerform = $('form#advanced-search-helper-containerpowersearch').empty();
var $container = $('#mw-searchoptions');
 
if( ! $form.length ) {
var $form = $('<form>#search');
$container.append( = $form );
*}
 
var $mainInputSearch = $inputTextform.clonefind('input[name=search]');
var $formContainer = $('<div class="mw-inputbox-centered">');
var $checkboxContainer = $('<div class="mw-inputbox-element mw-ui-checkbox">');
Riga 29 ⟶ 36:
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 $hidden(name, value) {
return $('<input type="hidden">')
.attr('name', name)
.attr('value', value);
}
 
function addSearchPart(field, value) {
Riga 59 ⟶ 45:
 
function addSearchField( field, label ) {
this.iid = this.iid++ || 0;
 
var $inputTextPrefix = $inputText.clone()
.attr('placeholder', label);
 
var $excludeCheckbox = $fullCheckbox( L10Ncheckbox.exclude clone();
.prop('id', id)
 
$formcontainer.append(
$formContainer.clone().append(
$p.clone()
.append( $inputTextPrefix )
.append( $excludeCheckbox )
.append( $myCheckboxlabel.clone()
.prop('for', id)
.html( labelL10N.exclude )
)
)
)
 
$form.submit( function () {
var v = $inputTextPrefix.val();
if( v ) {
if( $excludeCheckbox.find('input').is(':checked') ) {
field = '-' + field;
}
Riga 82 ⟶ 76:
}
 
addSearchField('prefix', L10N.prefix);
var $mainInputSearch = $inputText.clone()
addSearchField('intitle', L10N.inTitle);
.attr('size', 50)
addSearchField('insource', L10N.inSource);
.attr('name', 'search')
.attr addSearchField('placeholderincategory', L10N.searchinCategory);
addSearchField('linksto', L10N.linksTo);
 
addSearchField('incategoryhastemplate', L10N.inCategoryhasTemplate);
$form.append( $hidden('fulltext', 1) );
$form.append( $hidden//addSearchField('titlemorelike', L10N.specialSearch ) moreLike);
 
$form.append(
$formContainer.clone().append(
$p.clone().append( $mainInputSearch )
)
);
 
addSearchField('prefix', L10N.prefix);
addSearchField('intitle', L10N.inTitle);
addSearchField('insource', L10N.inSource);
addSearchField('incategory', L10N.inCategory);
addSearchField('linksto', L10N.linksTo);
addSearchField('morelike', L10N.moreLike);
 
$nsContainer = $formContainer.clone();
var namespaces = mw.config.get('wgFormattedNamespaces');
for( ns in namespaces ) {
$nsContainer.append(
$fullCheckbox( namespaces[ ns ] || L10N.main )
.find('input')
.attr('name', 'ns' + ns)
.end()
);
}
 
$form.append( $nsContainer );
 
$form.append(
$formContainer.clone().append(
$p.clone().append(
$button.clone()
.prop('type', 'submit')
.attr('value', L10N.search )
)
)
);
 
$form.submit( function () {
Riga 133 ⟶ 91:
searches = [];
} );
 
$container.append( $form );
 
} )( mediaWiki, jQuery );