לדלג לתוכן

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

מתוך צפונות ויקי
ניסוי
ניסוי
שורה 1: שורה 1:
if ( mw.user.options.get( 'skin' ) === 'vector' )  
if ( mw.user.options.get( 'skin' ) === 'vector' )  
$(function() {
$(function() {
mw.loader.using( 'jquery.suggestions', function() {
setTimeout( function() {
     'use strict';
     'use strict';


שורה 56: שורה 56:
         }
         }
     });
     });
}); // mw.loader.using
}, 1200); // setTimeout
}); // document.ready
}); // document.ready

גרסה מ־22:34, 8 במאי 2013

if ( mw.user.options.get( 'skin' ) === 'vector' ) 
$(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;
    }

    $.ajaxSetup( { url: mw.util.wikiScript('api'), dataType: 'json' } );
    $searchBoxes.suggestions( {
        fetch: function( query ) {
            var $this = $( this );
            if ( query.length !== 0 ) {
                var params = {
                    action: 'opensearch',
                    search: query,
                    limit: 10,
                    suggest: ''
                };
                $.ajax( {
                    data: params,
                    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,
                                    success: function( data ) {
                                        if ( $.isArray( data ) && 1 in data ) 
                                            $this.suggestions( 'suggestions', orig.concat( data[1] ) );
                                    }
                                });
                            }
                        }
                    }
                } );
            }
        }
    });
}, 1200); // setTimeout
}); // document.ready