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

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

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload), או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh), או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
// gadget to control the display of reference section. rows, scroll, hide, and text-size
// depends on 2 classes from common.css: ol.refDisplayScroll, ol.refDisplayHide.
// if classes are removed from common.js, need to add them in gadget.
// also depends on class mw-references-columns, which is added by extension:cite
$(document).ready(function() {mw.loader.using('jquery.ui', function() {
    var current = $.cookie("ref-col-setting") || '',
		checkboxes = [
			{className: 'mw-references-columns', label: 'הצגה בטורים '},
			{className: 'refDisplayScroll', label: 'תיבת גלילה'},
			{className: 'refDisplayHide', label: 'הסתר'}
		];

	function makeCheckbox(ol, className, label) {
		var checkBox = $('<input>', {type: 'checkbox'})
			.prop({'checked': current.indexOf(className) >= 0})
			.click(function() {
				ol.toggleClass(className, $(this).prop('checked'));
				$.cookie("ref-col-setting", ol.attr('class'), {'expires':30,'path':'/'});
			});
		ol.closest('div.' + className).removeClass(className);
		return $('<span>')
			.append('&nbsp;&nbsp;' + label)
			.append(checkBox);
	}

	function makeSlider(ol) {
		var value = $.cookie("ref-font-size") || 90;
		ol.css({fontSize: value + '%'});
		var slider = $('<div>')
		.css({fontSize: '130%', width: '140px'})
		.slider({
			max: 150,
			min: 50,
			value: value,
			stop: function() {
				var value = parseInt($(this).slider('value'), 10);
				value = value < 40 ? 40 : (value > 150 ? 150 : value);
				ol.css({fontSize: value + '%'});
				$.cookie("ref-font-size", value, {'expires':30,'path':'/'});
			}
		});
		return $('<div>').css({textAlign:'center', float: 'left'}).text('גודל הטקסט').append(slider);
	}

	function makeCheckBoxes(ol) {
		var span = $('<span>').css({fontSize: '50%'});
		for (var i in checkboxes)
			if (! checkboxes[i].skip)
				span.append(makeCheckbox(ol, checkboxes[i].className, checkboxes[i].label));
		span.append(makeSlider(ol));
		return span;
	}

	$('ol.references').each(function() {
		var ol = $(this);
		var h2 = ol.parents().prev('h2').filter(function() {return /הערות שוליים/.test($(this).text());});
		if (ol.find('li').length < 10 || h2.length == 0)
			return;
		h2.append(makeCheckBoxes(ol));
		ol.addClass(current);
	});

});}); //ready..using