לדלג לתוכן

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

מתוך צפונות ויקי
סדר וניקיון באדיבות JSHint
עוד קצת סדר וניקיון
שורה 30: שורה 30:
var $this = $(this);
var $this = $(this);
if (query.length !== 0) {
if (query.length !== 0) {
$.ajaxSetup({url: mw.util.wikiScript('api'), dataType: 'json'});
var params = {
var params = {
action: 'opensearch',
action: 'opensearch',
שורה 36: שורה 35:
limit: 10,
limit: 10,
suggest: ''
suggest: ''
},
};
request = $.ajax({
 
$.ajaxSetup({url: mw.util.wikiScript('api'), dataType: 'json'});
 
$this.data('request', $.ajax({
data: params,
data: params,
success: function(data) {
success: function(data) {
שורה 62: שורה 64:
}
}
}
}
});
}));
$this.data('request', request);
}
}
}
}

גרסה מ־18:52, 27 באפריל 2013

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

$(function() {
	'use strict';

	var $searchBoxes = $('#searchInput, #searchInput2, #powerSearchText, #searchText');

	// A patch until suggestions are unbroken
	if ( !jQuery.isFunction( $searchBoxes.suggestions ) ) {
		return;
	}

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

		str = str.toLowerCase();

		for (i = 0; i < str.length; i++) {
			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,
						limit: 10,
						suggest: ''
					};

				$.ajaxSetup({url: mw.util.wikiScript('api'), dataType: 'json'});

				$this.data('request', $.ajax({
					data: params,
					success: function(data) {
						var orig;

						if ($.isArray(data) && 1 in data) {
							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]));
										}
									}
								});
							}
						}
					}
				}));
			}
		}
	});
}); // document.ready

}