לדלג לתוכן

מדיה ויקי:Gadget-Dwim.js: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
ניסוי
ניסוי
שורה 1: שורה 1:
if ( mw.user.options.get( 'skin' ) === 'vector' ) {
if ( mw.user.options.get( 'skin' ) === 'vector' ) {
if ( mw.user.options.get( 'cirrussearch-completionsuggester' )) {
 
( function ( $, mw ) {
var hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ",
$( function() {
hebeng = function ( str ) {
var hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ";
function hebeng( str ) {
return (str || '').replace(/./g, function( c ) {
var res = '',
var ic = hes.indexOf( c.toLowerCase() );
hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ";
return ic + 1 ? hes.charAt( ( ic + 29 ) % 58 ) : c;
} );
};
str = str.toLowerCase();
if ( mw.user.options.get( 'cirrussearch-completionsuggester' ) ) {
 
for (var i = 0; i < str.length; i++) {
$( function() {
var ic = hes.indexOf( str.charAt( i ) );
// Override default opensearch
res += ic + 1 ? hes.charAt( ( ic + 29 ) % 58 ) : str.charAt( i );
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 );
});
}
}
} );
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
else
שורה 55: שורה 50:


     var $searchBoxes = $( '#searchInput, #searchInput2, #powerSearchText, #searchText' );
     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( {
     $searchBoxes.suggestions( {

גרסה מ־20:49, 19 בדצמבר 2015

if ( mw.user.options.get( 'skin' ) === 'vector' ) {

	var hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ",
		hebeng = function ( str ) {
			var hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ";
	
			return (str || '').replace(/./g, function( c ) {
				var ic = hes.indexOf( c.toLowerCase() );
				return ic + 1 ? hes.charAt( ( ic + 29 ) % 58 ) : c;
			} );
		};
	
if ( mw.user.options.get( 'cirrussearch-completionsuggester' ) ) {

	$( function() {
		// 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 );
					});
				}
			} );
		};
	} );
}
else
{
$(function() {
setTimeout( function() {
    'use strict';

    var $searchBoxes = $( '#searchInput, #searchInput2, #powerSearchText, #searchText' );

    $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