Utilisateur:Alphos/historyselect.js
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.var hsI18n = {
'fr': {
'buttontext': 'sélectionner les versions à masquer',
'selectedversionnumber': ' versions sélectionnées',
'unselectedversionnumberSingul': ' version désélectionnée',
'unselectedversionnumberPlural': ' versions désélectionnées',
'newlyselectedversionnumberSingul': ' nouvellement sélectionnée',
'newlyselectedversionnumberPlural': ' nouvellement sélectionnées',
},
};
function hsAddButton() {
var hsCompare = document.getElementById('mw-history-compare');
if(!hsCompare) return;
var hsDiv = hsCompare.getElementsByTagName('div')[0];
var hsButton = document.createElement('input');
hsButton.type = 'button';
hsButton.value = hsI18n[mw.config.get('wgUserLanguage')]["buttontext"];
hsButton.style.float = 'right';
hsButton.addEventListener('click', hsSelect);
var hsInput = hsDiv.getElementsByTagName('input')[0];
if(hsInput)hsDiv.insertBefore(hsButton, hsInput);
}
function hsSelect() {
var hsList = document.getElementById('pagehistory').getElementsByTagName('li');
var hsSelectedVersionNumber = 0;
var hsUnselectedVersionNumber = 0;
var hsNewlySelectedVersionNumber = 0;
for (var i = 0; i < hsList.length; i++) {
if ((i < hsList.length - 1) && ((hsList[i].getElementsByTagName('input')[1].style.visibility != 'hidden') && (hsList[i+1].getElementsByTagName('input')[0].style.visibility != 'hidden'))) {
if (hsList[i].getElementsByTagName('input')[2].checked == false) hsNewlySelectedVersionNumber++;
hsList[i].getElementsByTagName('input')[2].checked = true;
hsSelectedVersionNumber++;
}
else if ((i == hsList.length-1) && (hsList[i-1].getElementsByTagName('input')[1].style.visibility != 'hidden')) {
if (hsList[i].getElementsByTagName('input')[2].checked == false) hsNewlySelectedVersionNumber++;
hsList[i].getElementsByTagName('input')[2].checked = true;
hsSelectedVersionNumber++;
}
else if ((i > 0) && ((hsList[i].getElementsByTagName('input')[0].style.visibility != 'hidden') && (hsList[i-1].getElementsByTagName('input')[1].style.visibility != 'hidden'))) {
if (hsList[i].getElementsByTagName('input')[2].checked == false) hsNewlySelectedVersionNumber++;
hsList[i].getElementsByTagName('input')[2].checked = true;
hsSelectedVersionNumber++;
}
else {
if (hsList[i].getElementsByTagName('input')[2].checked) { hsUnselectedVersionNumber++; }
hsList[i].getElementsByTagName('input')[2].checked = false;
}
}
var hsMsg = hsSelectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['selectedversionnumber'];
if ((hsNewlySelectedVersionNumber != 0) && (hsNewlySelectedVersionNumber != hsSelectedVersionNumber)) {
if (hsNewlySelectedVersionNumber > 1) {
hsMsg = hsMsg + " (" + hsNewlySelectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['newlyselectedversionnumberPlural'] + ")";
}
else { hsMsg = hsMsg + " (" + hsNewlySelectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['newlyselectedversionnumberSingul'] + ")"; }
}
if (hsUnselectedVersionNumber != 0) {
if (hsUnselectedVersionNumber > 1) {
hsMsg = hsMsg + " ; " + hsUnselectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['unselectedversionnumberPlural'];
}
else { hsMsg = hsMsg + " ; " + hsUnselectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['unselectedversionnumberSingul']; }
}
alert(hsMsg);
return true;
}
if (mw.config.get('wgAction') === 'history') {
$(hsAddButton);
}