/* jshint esversion: 6, laxbreak: true */
/* globals mw, $ */
if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
mw.loader.using('mediawiki.util', function () {
$(function ($) {
'use strict';
const userName = mw.config.get('wgUserName');
const relevantUserName = mw.config.get('wgRelevantUserName');
if (!relevantUserName) {
return;
}
const message = 'Masquer les pages dont '
+ (userName === relevantUserName ? 'je suis' : mw.html.escape(relevantUserName) + ' est')
+ ' le dernier contributeur';
$('.mw-htmlform-submit').after(' <label><input type="checkbox" id="hide-last-edited-pages"> ' + message + '</label>');
let firstRun = true;
let sheet;
$('#hide-last-edited-pages').on('change', function () {
if (firstRun) {
addClasses();
sheet = mw.util.addCSS('li.last-edited { display:none }');
firstRun = false;
} else {
if (this.checked) {
sheet.disabled = false;
} else {
sheet.disabled = true;
}
}
});
// rappel : il y a plusieurs éléments "ul.mw-contributions-list" (un pour chaque jour)
function addClasses() {
const excludeSet = new Set();
$('ul.mw-contributions-list > li:not(.mw-flow-contribution)').each(function () {
const title = this.querySelector('a.mw-contributions-title').textContent;
if (this.classList.contains('mw-contributions-current')) { // ]
this.classList.add('last-edited');
excludeSet.add(title);
}
else if (excludeSet.has(title)) {
this.classList.add('last-edited');
}
});
}
});
});
}