מדיה ויקי:Gadget-advanceSearch.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
//Adds an option for search within categories.
//In Special:Search it adds inputbox of multiple values for categories to search within,
//and on submission concats incategory: to the search box with those categories
//Written by [[User:ערן]]
mw.loader.using(['jquery.ui'],function(){
if($('#mw-searchoptions').length==0) return;
var categoryNS=mw.config.get('wgFormattedNamespaces')[14];
var categorySearchBox=$('<input type="text" id="incategoryBox" size="50">');
var categorySearchOptions=$('<h4>חיפוש בקטגוריות</h4>');
var divider=$('<div class="divider"></div>');
$('#mw-searchoptions').prepend(categorySearchOptions,divider,categorySearchBox,divider);
categorySearchBox.autocomplete( {
source: function( request, response ) {
var searchTxt=request.term.split( /,\s*/ ).pop();
if(!searchTxt.match(/^Category|קטגוריה:/i)){
searchTxt=categoryNS+':'+searchTxt;
}
$.getJSON(mw.util.wikiScript('api'),{action:'opensearch',search:searchTxt,format:'json'},
function(data){if(data[1]) response(data[1]);});
},
focus:function(){return false;},
select:function(e,ui){
var terms=this.value.split( /,\s*/ );
terms.pop();
var categoryName=ui.item.value.substr(ui.item.value.indexOf(':')+1);
terms.push( categoryName );
terms.push( "" );
this.value = terms.join( ", " );
return false;
}
});
$('#powersearch').submit(function(){
var categoriesToSearch=categorySearchBox.val().split( /,\s*/ );
var categoriesCode=' '+$(categoriesToSearch).filter(function(){return !this.match(/^s*$/)}).map(function(){return 'incategory:"'+this+'"';}).toArray().join(' AND ');
$('#powerSearchText').val($('#powerSearchText').val()+categoriesCode);
});
});