MediaWiki:Gadget-PopupTextAlt.js
Apparence
Note : après aveur schapé l’ pådje, vos l’ divoz rafrister, po pleur vey les candjmints dins vosse betchteu waibe.
- Firefox / Safari : tchôkîz so Shift tot clitchant so Rafrister, ou co fjhoz Ctrl-F5 ou Ctrl-R (⌘-R so on Mac)
- Google Chrome : tchôkîz so Ctrl-Shift-R (⌘-Shift-R so on Mac)
- Internet Explorer / Edje : tchôkîz so Ctrl tot clitchant so Rafrister, ou co fjhoz Ctrl-F5
- Konqueror : clitchîz so Rafrister ou tchôkîz so F5
- Opera : alez dins Menu → Parametes (Opera → Preferinces so on Mac), pus dins Confidance et såvrité → Vudîz les dnêyes d’ vizitaedje → Imådjes et fitchîs metous el muchete.
PopupTextAlt = {
ncor : 0,
nsic : 0,
/*
* Mete dins l' tiestire di l' espåce Pådje
* si gn a des coridjaedjes et des sic
*/
prpheaderinfo : function(){
var lcor='', lsic = '', plural = '';
var prph = $('.prp-page-qualityheader');
prph.append(' I gn a ');
if(PopupTextAlt.ncor) {
plural = PopupTextAlt.ncor?'s':'';
lcor = $('<a>');
lcor.attr('href', '#');
lcor.text(PopupTextAlt.ncor+' coridjaedje'+plural);
lcor.click(function(){
PopupTextAlt.show(0, '.cor');
return false;
});
prph.append(lcor);
}
if(PopupTextAlt.nsic) {
plural = PopupTextAlt.nsic?'s':'';
lsic = $('<a>');
lsic.attr('href', '#');
lsic.html(PopupTextAlt.nsic +' eployaedje'+plural+' di « sic »');
lsic.click(function(){
PopupTextAlt.show(0, '.sic');
return false;
});
if(PopupTextAlt.ncor) {
prph.append(' et ');
}
prph.append(lsic);
}
prph.append(' sol pådje.');
},
/*
* Mete on mnu al copete do mwaisse espåce tchoezi les candjmints
*/
menu : function(){
var toggleSwitch1 = new OO.ui.ToggleSwitchWidget( {
value: PopupTextAlt.ncor, // true if > 0
disabled: !PopupTextAlt.ncor
} );
var toggleSwitch2 = new OO.ui.ToggleSwitchWidget( {
value: false,
disabled: !PopupTextAlt.ncor
} );
var toggleSwitch3 = new OO.ui.ToggleSwitchWidget( {
value: false,
disabled: !PopupTextAlt.nsic
} );
toggleSwitch1.on('change', function(){
PopupTextAlt.replacecor(toggleSwitch1.getValue());
} );
toggleSwitch2.on('change', function(){
PopupTextAlt.highlight(
'.cor',
toggleSwitch2.getValue()
);
} );
toggleSwitch3.on('change', function(){
PopupTextAlt.highlight(
'.sic',
toggleSwitch3.getValue()
);
} );
var pluralcor = PopupTextAlt.ncor?'s':'';
var pluralsic = PopupTextAlt.nsic?'s':'';
var highlightsamplecor = '<span class="highlightsamplecor">çou</span>';
var highlightsamplesic = '<span class="highlightsamplesic">çou</span>';
var linktemplatecor = '<a href="/wiki/Modele:cor" target="_blank">cor</a>';
var linktemplatesic = '<a href="/wiki/Modele:sic" target="_blank">sic</a>';
var option1desc = 'Coridje li tecse d’après l’ eployaedje do modele '+linktemplatecor;
option1desc += ' (' +PopupTextAlt.ncor+ ' coridjaedje'+pluralcor+').';
var option2desc = 'Mostere '+highlightsamplecor+' k’ a stî coridjîs.';
var option3desc = 'Mostere '+highlightsamplesic+' k’ on-z î a metou l’ modele '+linktemplatesic;
option3desc += ' (' +PopupTextAlt.nsic+ ' eployaedje'+pluralsic+').';
var content = $('<div>').addClass('popuptextalt-menu').append(
$('<div>').addClass('popuptextalt-label').append('Usteyes di coridjaedje'),
$('<div>').addClass('popuptextalt-row').append(
$('<div>').addClass('popuptextalt-desc').append(
$('<div>').append('Aviker l’ coridjaedje'),
$('<div>').append(option1desc)
),
$('<div>').addClass('popuptextalt-btn').append(toggleSwitch1.$element)
),
$('<div>').addClass('popuptextalt-row').append(
$('<div>').addClass('popuptextalt-desc').append(
$('<div>').append('Sorlignî les coridjaedjes'),
$('<div>').append(option2desc)
),
$('<div>').addClass('popuptextalt-btn').append(toggleSwitch2.$element)
),
$('<div>').addClass('popuptextalt-row').append(
$('<div>').addClass('popuptextalt-desc').append(
$('<div>').append('Sorlignî les sic'),
$('<div>').append(option3desc)
),
$('<div>').addClass('popuptextalt-btn').append(toggleSwitch3.$element)
)
);
var menu = new OO.ui.PopupButtonWidget( {
icon: 'menu',
label: 'Tchuzes',
invisibleLabel: true,
popup: {
$content: content,
padded: true,
align: 'center',
}
} );
$('.mw-indicators').prepend(menu.$element);
},
/*
* Håyner l' popup ki l' indek c' est 'i'
* pol classe 'cor' u 'sic'
*/
show : function(i, selector){
var j = i+1;
PopupTextAlt.popup($(selector).eq(i));
$("#popuptextalt-"+j).removeClass('oo-ui-element-hidden');
$('html, body').scrollTop($("#popuptextalt-"+j).offset().top - 300);
},
replacecor : function(replace){
var attr = replace?'alt':'txt';
$('.cor').each(function(){
$(this).html(
decodeURIComponent($(this).data('popuptextalt-'+attr))
);
});
},
highlight : function(selector, highlight){
if(highlight){
$(selector).addClass('highlight');
} else {
$(selector).removeClass('highlight');
}
},
/*
* Construre el popup d' on elemint
*/
popup : function(elem){
$('.popuptextalt').remove();
var selector = '.cor';
var popuptite = "Coridjaedje";
var thtxt = "Avant";
var thalt = "Après";
var tdsic = '';
if($(elem).hasClass('sic')){
selector = '.sic';
popuptite = 'Sic';
thtxt = "Sicrît";
thalt = "Fåt i lére";
tdsic = '<td> ?</td>';
}
// ni nén eployî decodeURI()
var tdtxt = decodeURIComponent($(elem).data('popuptextalt-txt'));
var tdalt = decodeURIComponent($(elem).data('popuptextalt-alt'));
var table = '<table>';
table+= '<tr><th>'+thtxt+'</th><td>'+tdtxt+'</td></tr>';
table+= '<tr><th>'+thalt+'</th><td>'+tdalt+'</td>'+tdsic+'</tr>';
table+= '</table>';
var content = $('<div>').html(table);
if($(elem).data('popuptextalt-reason')){
var reason = $(elem).data('popuptextalt-reason');
content.append($('<div>').html('<strong>Råjhon</strong> : '+reason+'.'));
}
var index = $(selector).index(elem);
// prev & next button
var previ = index-1;
var nexti = index+1;
var prevelem = $(selector).eq(previ);
var nextelem = $(selector).eq(nexti);
if((index&&prevelem.length) || nextelem.length){
var prev = new OO.ui.ButtonWidget( {
framed: false,
icon: 'previous',
label: 'Divant',
invisibleLabel: true,
title: 'Divant',
disabled: ((index&&prevelem.length)?false:true)
} );
if(!prev.isDisabled()){
$(prev.$element).click(function(event){
event.stopPropagation();
PopupTextAlt.show(previ, selector);
});
}
var next = new OO.ui.ButtonWidget( {
framed: false,
icon: 'next',
label: 'Shuvant',
invisibleLabel: true,
title: 'Shuvant',
disabled: (nextelem.length?false:true)
} );
if(!next.isDisabled()){
$(next.$element).click(function(event){
event.stopPropagation();
PopupTextAlt.show(nexti, selector);
});
}
// append nav bar
content.append($('<nav>').append(prev.$element, next.$element));
}
popup = new OO.ui.PopupWidget( {
$content: $( content ),
$container : $('.mw-parser-output'),
containerPadding: 10,
padded: true,
width: 300,
head: true,
label: popuptite+' #'+(index+1),
classes: [ 'popuptextalt' ],
id : "popuptextalt-"+(index+1)
});
$(elem).append(popup.$element);
popup.toggle(true);
},
init : function(){
PopupTextAlt.ncor = $('.cor').length;
PopupTextAlt.nsic = $('.sic').length;
if(PopupTextAlt.ncor === 0 && PopupTextAlt.nsic === 0){
return false;
}
$('.cor, .sic').each(function(){
$(this).removeAttr('title');
});
$('.cor, .sic').click(function(){
PopupTextAlt.popup(this);
});
if (mw.config.get('wgNamespaceNumber') === 250){
PopupTextAlt.prpheaderinfo();
}
PopupTextAlt.menu();
},
};
$.when( mw.loader.using( [
'oojs-ui-core',
'oojs-ui-widgets',
'oojs-ui.styles.icons-movement',
'oojs-ui.styles.icons-layout'
] ), $.ready).then( PopupTextAlt.init );