מדיה ויקי:Gadget-Dwim.js: הבדלים בין גרסאות בדף
מראה
יותר נכון |
ניסוי |
||
| שורה 27: | שורה 27: | ||
} ).done( function ( data ) { | } ).done( function ( data ) { | ||
var orig = $.map( data.suggest, function ( suggestion ) { | var orig = $.map( data.suggest, function ( suggestion ) { | ||
return suggestion.text; | |||
} ) || []; | |||
response( orig ); | if ( orig.length >= maxRows ) | ||
response( orig ); | |||
else { | |||
api.get( { | api.get( { | ||
action: 'cirrus-suggest', | action: 'cirrus-suggest', | ||
גרסה מ־18:36, 19 בדצמבר 2015
if ( mw.user.options.get( 'skin' ) === 'vector' ) {
if ( mw.user.options.get( 'cirrussearch-completionsuggester' )) {
( function ( $, mw ) {
$( function() {
function hebeng( str ) {
var res = '',
hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ";
str = str.toLowerCase();
for (var i = 0; i < str.length; i++) {
var ic = hes.indexOf( str.charAt( i ) );
res += ic + 1 ? hes.charAt( ( ic + 29 ) % 58 ) : str.charAt( i );
}
return res;
}
// Override default opensearch
mw.searchSuggest.type = 'cirrus-suggest';
mw.searchSuggest.request = function ( api, query, response, maxRows ) {
return api.get( {
action: 'cirrus-suggest',
text: query,
limit: maxRows
} ).done( function ( data ) {
var orig = $.map( data.suggest, function ( suggestion ) {
return suggestion.text;
} ) || [];
if ( orig.length >= maxRows )
response( orig );
else {
api.get( {
action: 'cirrus-suggest',
text: hebeng( query ),
limit: maxRows - data.suggest.length,
} ).done( function ( data ) {
var combined = orig.concat( $.map( data.suggest, function ( suggestion ) {
return suggestion.text;
} ) );
response( combined );
});
}
} );
};
} );
}( jQuery, mediaWiki ) );
}
else
{
$(function() {
setTimeout( function() {
'use strict';
var $searchBoxes = $( '#searchInput, #searchInput2, #powerSearchText, #searchText' );
function hebeng( str ) {
var res = '',
hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ";
str = str.toLowerCase();
for (var i = 0; i < str.length; i++) {
var ic = hes.indexOf( str.charAt( i ) );
res += ic + 1 ? hes.charAt( ( ic + 29 ) % 58 ) : str.charAt( i );
}
return res;
}
$searchBoxes.suggestions( {
fetch: function( query ) {
var $this = $( this );
if ( query.length !== 0 ) {
var params = {
action: 'opensearch',
search: query,
suggest: ''
};
$.ajax( {
data: params,
url: mw.util.wikiScript('api'),
dataType: 'json',
success: function( data ) {
if ($.isArray( data ) && 1 in data) {
var orig = data[1];
$this.suggestions( 'suggestions', orig );
if ( data[1].length < 10 ) {
params.search = hebeng( query );
if ( params.search === query )
return;
params.limit = 10 - data[1].length;
$.ajax({
data: params,
url: mw.util.wikiScript('api'),
dataType: 'json',
success: function( data ) {
if ( $.isArray( data ) && 1 in data )
$this.suggestions( 'suggestions', orig.concat( data[1] ) );
}
});
}
}
}
} );
}
}
});
}, 1200); // setTimeout
}); // document.ready
} // if (cirrus) ... else
} // skin == vector