מדיה ויקי: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(' ' + 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