לדלג לתוכן

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

מתוך צפונות ויקי
כבר אין דבר כזה. נקווה ש-searchSuggest מספיק.
שוב הזיזו לי את הגבינה
שורה 15: שורה 15:
};
};
if ( mw.user.options.get( 'cirrussearch-completionsuggester' ) === "1" ) {
mw.loader.using( [ 'mediawiki.searchSuggest' ], 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
{
     var $searchBoxes = $( '#searchInput, #searchInput2, #powerSearchText, #searchText' );
     var $searchBoxes = $( '#searchInput, #searchInput2, #powerSearchText, #searchText' );


שורה 57: שורה 24:
                     action: 'opensearch',
                     action: 'opensearch',
                     search: query,
                     search: query,
                     suggest: ''
                     suggest: mw.user.options.get( 'cirrussearch-completionsuggester' ) === "1"
                 };
                 };
                 $.ajax( {
                 $.ajax( {
שורה 88: שורה 55:
         }
         }
     });
     });
} // if (cirrus) ... else
}, 1200); // setTimeout
}, 1200); // setTimeout
} ); // document.ready
} ); // document.ready
} // skin == vector
} // skin == vector

גרסה מ־17:51, 6 במרץ 2016

if ( mw.user.options.get( 'skin' ) === 'vector' ) {
$(function() {
setTimeout( function() {
    'use strict';


	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;
			} );
		};
	
    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: mw.user.options.get( 'cirrussearch-completionsuggester' ) === "1"
                };
                $.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
} // skin == vector