MediaWiki:Gadget-AdvancedSearchHelper.js
Vai alla navigazione
Vai alla ricerca
Nota: Dopo aver salvato le preferenze, perché i cambi abbiano effetto, devi bypassare la cache del tuo browser. Mozilla / Firefox / Safari: tieni premuto Shift mentre clicchi Reload, o premi Ctrl-Shift-R (Cmd-Shift-R per Apple Mac); Google Chrome: premi Ctrl o Shift mentre clicchi F5; IE: premi Ctrl mentre clicchi Refresh, o premi Ctrl-F5; Konqueror:: clicca semplicemente il pulsante di Reload, o premi F5; se usi Opera devi cancellare completamente la chache nel menu Tools→Preferences.
/** * Aggiunge altri campi a [[Speciale:Ricerca]] * * Creato da una geniale idea di [[Utente:Superchilum]]: * [[Speciale:PermaLink/89685164#Accessorio per ricerca avanzata]] * [[Discussioni utente:Valerio Bozzolan#Accessorio per ricerca avanzata]] * * Some features now are provided by the cute [[meta:WMDE_Technical_Wishes/AdvancedSearch]], * so soon this gadget will become unuseful and should be disabled. * * @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 cfg = { ACTIVATION_PAGE: 'Speciale:Ricerca' }; if( ! mw || mw.config.get('wgPageName') !== cfg.ACTIVATION_PAGE ) { return; } var L10N = { prefix: 'Prefisso', inTitle: 'Nel titolo', inSource: 'Nel codice', inCategory: 'Nella categoria', linksTo: 'Nei collegamenti a', exclude: 'Escludi', moreLike: 'Parla simile', hasTemplate: 'Include il template' }; var $form = $('form#powersearch'); var $container = $('#mw-searchoptions'); if( ! $form.length ) { $form = $('form#search') $container = $form; } var $mainInputSearch = $form.find('input[name=search]'); var $formContainer = $('<div class="mw-inputbox-centered">'); var $inputText = $('<input type="text" class="searchboxInput mw-ui-input mw-ui-input-inline" />'); var $checkbox = $('<input type="checkbox" value="1" />'); var $label = $('<label>'); var $button = $('<input class="mw-ui-button" />'); var $p = $('<p>'); var searches = []; function addSearchPart(field, value) { searches.push( field + ':"' + value + '"' ); } function addSearchField( field, label ) { this.id = this.id || 1; var $inputTextPrefix = $inputText.clone() .attr('placeholder', label); var $excludeCheckbox = $checkbox.clone() .prop('id', id); $container.append( $formContainer.clone().append( $p.clone() .append( $inputTextPrefix ) .append( $excludeCheckbox ) .append( $label.clone() .prop('for', id) .html( L10N.exclude ) ) ) ); this.id++; $form.submit( function () { var v = $inputTextPrefix.val(); if( v ) { if( $excludeCheckbox.is(':checked') ) { field = '-' + field; } addSearchPart( field, v ); } } ); } addSearchField('prefix', L10N.prefix); //addSearchField('intitle', L10N.inTitle); addSearchField('insource', L10N.inSource); //addSearchField('incategory', L10N.inCategory); addSearchField('linksto', L10N.linksTo); //addSearchField('hastemplate', L10N.hasTemplate); //addSearchField('morelike', L10N.moreLike); $form.submit( function () { var val = $mainInputSearch.val(); if( val !== '' ) { searches.unshift(val); } $mainInputSearch.val( searches.join(' ') ); searches = []; } ); } )( mediaWiki, jQuery );