מדיה ויקי:Gadget-Dwim.js: הבדלים בין גרסאות בדף
מראה
מ 54 גרסאות של הדף wikipedia:he:מדיה_ויקי:Gadget-Dwim.js יובאו |
|||
| (5 גרסאות ביניים של 3 משתמשים אינן מוצגות) | |||
| שורה 1: | שורה 1: | ||
if ( mw.user.options.get( 'skin' ) === 'vector' ) { | 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 | } // skin === vector | ||
גרסה אחרונה מ־07:25, 5 בדצמבר 2022
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