מדיה ויקי:Gadget-Dwim.js

מתוך חב"דפדיה, אנציקלופדיה חב"דית חופשית
גרסה מ־05:46, 19 בינואר 2015 מאת שיע.ק (שיחה | תרומות) (יצירת דף עם התוכן "if ( mw.user.options.get( 'skin' ) === 'vector' ) $(function() { setTimeout( function() { 'use strict'; var $searchBoxes = $( '#searchInput, #searchInp...")
(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)
קפיצה לניווט קפיצה לחיפוש

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
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;
    }

    $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