לדלג לתוכן

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

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


    var $searchBoxes = $( '#searchInput, #searchInput2, #powerSearchText, #searchText' );
// Load the search suggestion logic when focus the search box.
function dwimEventListener( e ) {
if (
e.target.id === 'searchInput' ||
/(^|\s)mw-searchInput($|\s)/.test( e.target.className )
) {
enableDwim();
document.removeEventListener( 'focusin', dwimEventListener );
}
}
document.addEventListener( 'focusin', dwimEventListener );


    function hebeng( str ) {
// Load the search suggestion logic when the search box is already focused
        var res = '',
// because the user started typing before the JavaScript is loaded.
            hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ";
if (
document.activeElement && (
document.activeElement.id === 'searchInput' ||
/(^|\s)mw-searchInput($|\s)/.test( document.activeElement.className )
)
) {
enableDwim();
}


        str = str.toLowerCase();
function enableDwimModernVector() {
// @todo
}


        for (var i = 0; i < str.length; i++) {
function enableDwim() {
            var ic = hes.indexOf( str.charAt( i ) );
'use strict';
            res += ic + 1 ? hes.charAt( ( ic + 29 ) % 58 ) : str.charAt( i );
if(mw.loader.getState('mediawiki.searchSuggest') === 'registered') {
        }
// Vector is using the new version of search. Exit early to avoid running incompatible code.
enableDwimModernVector();
return;
}


        return res;
setTimeout( function() {
    }
var hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ",
hebeng = function ( str ) {
return ( str || '' ).replace( /./g, function( c ) {
var ic = hes.indexOf( c.toLowerCase() );


    $searchBoxes.suggestions( {
return ic + 1 ? hes.charAt( ( ic + 29 ) % 58 ) : c;
        fetch: function( query ) {
} );
            var $this = $( this );
};
            if ( query.length !== 0 ) {
                var params = {
var $searchBoxes = $(
                    action: 'opensearch',
'#searchInput, #searchInput2, #powerSearchText, #searchText'
                    search: query,
);
                    suggest: ''
 
                };
$searchBoxes.suggestions( {
                $.ajax( {
fetch: function( query ) {
                    data: params,
var $this = $( this ),
                    url: mw.util.wikiScript('api'),
apiUrl = mw.util.wikiScript( 'api' );
                    dataType: 'json',
 
                    success: function( data ) {
if ( query.length !== 0 ) {
                        if ($.isArray( data ) && 1 in data) {
var params = {
                            var orig = data[1];
action: 'opensearch',
                            $this.suggestions( 'suggestions', orig );
search: query,
                            if ( data[1].length < 10 ) {
redirects: 'return',
                                params.search = hebeng( query );
suggest: true
                                if ( params.search === query )
};
                                    return;
 
                                params.limit = 10 - data[1].length;
$.ajax( {
                                $.ajax({
data: params,
                                    data: params,
url: apiUrl,
                                    url: mw.util.wikiScript('api'),
dataType: 'json',
                                    dataType: 'json',
success: function( data ) {
                                    success: function( data ) {
if ( $.isArray( data ) && 1 in data ) {
                                        if ( $.isArray( data ) && 1 in data )  
var orig = data[1];
                                            $this.suggestions( 'suggestions', orig.concat( data[1] ) );
 
                                    }
$this.suggestions( 'suggestions', orig );
                                });
 
                            }
if ( data[1].length < 10 ) {
                        }
params.search = hebeng( query );
                    }
                } );
if ( params.search === query ) {
            }
return;
        }
}
    });
 
}, 1200); // setTimeout
params.limit = 10 - data[1].length;
}); // document.ready
 
$.ajax( {
data: params,
url: apiUrl,
dataType: 'json',
success: function( data ) {
if ( $.isArray( data ) && 1 in data ) {
$this.suggestions(
'suggestions',
orig.concat( data[1] )
);
}
}
} );
}
}
}
} );
}
}
} );
}, 1200 ); // setTimeout
}
 
} // skin === vector

גרסה אחרונה מ־21:06, 16 בדצמבר 2025

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

// Load the search suggestion logic when focus the search box.
function dwimEventListener( e ) {
	if (
		e.target.id === 'searchInput' ||
		/(^|\s)mw-searchInput($|\s)/.test( e.target.className )
	) {
		enableDwim();
		document.removeEventListener( 'focusin', dwimEventListener );
	}
}
document.addEventListener( 'focusin', dwimEventListener );

// Load the search suggestion logic when the search box is already focused
// because the user started typing before the JavaScript is loaded.
if (
	document.activeElement && (
		document.activeElement.id === 'searchInput' ||
		/(^|\s)mw-searchInput($|\s)/.test( document.activeElement.className )
	)
) {
	enableDwim();
}

function enableDwimModernVector() {
	// @todo
}

function enableDwim() {
	'use strict';
	if(mw.loader.getState('mediawiki.searchSuggest') === 'registered') {
		// Vector is using the new version of search. Exit early to avoid running incompatible code.
		enableDwimModernVector();
		return;
	}

	setTimeout( function() {
		var hes = "qwertyuiopasdfghjkl;zxcvbnm,./'קראטוןםפשדגכעיחלךףזסבהנמצתץ",
			hebeng = function ( str ) {
				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 ),
					apiUrl = mw.util.wikiScript( 'api' );

				if ( query.length !== 0 ) {
					var params = {
						action: 'opensearch',
						search: query,
						redirects: 'return',
						suggest: true
					};

					$.ajax( {
						data: params,
						url: apiUrl,
						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: apiUrl,
										dataType: 'json',
										success: function( data ) {
											if ( $.isArray( data ) && 1 in data ) {
												$this.suggestions(
													'suggestions',
													orig.concat( data[1] )
												);
											}
										}
									} );
								}
							}
						}
					} );
				}
			}
		} );
	}, 1200 ); // setTimeout
}

} // skin === vector