MediaWiki:Common.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
//importScriptPage('MediaWiki:CountDownTimer.js', 'supersnail');
$(function() {
if(!$('#last-updated-text')){
return;
}
$('#last-updated-text')[0].innerText = $('#footer-info-lastmod')[0].innerText;
});
$( function() {
if(!$('.copy-text-button')){
return;
}
$('.copy-text-button').click(function() {
var textBlockID = $(this).attr('class').split(' ')[1];
var textBlock = $('#'+textBlockID);
navigator.clipboard.writeText(textBlock[0].innerText);
$(this)[0].innerText = 'Copied!';
})
});
$( function () {
if( !$( '.filter-toggles' ).length ) {
return;
}
$( '.filter-toggles' ).find( 'td > a' ).click( function () {
var classes = $(this).parent().attr('class').split(' ');
if(classes.includes('filter-toggle-selected')){
$(this).parent().addClass('filter-toggle-not-selected').removeClass('filter-toggle-selected');
} else{
$(this).parent().addClass('filter-toggle-selected').removeClass('filter-toggle-not-selected');
}
var classArray = []
var cat1Classes = [];
var cat2Classes = [];
var cat3Classes = [];
var cat4Classes = [];
var cat5Classes = [];
var cat6Classes = [];
var cat7Classes = [];
var cat8Classes = [];
var cat9Classes = [];
var cat10Classes = [];
if(!classes.includes('view-all')){
var buttons = $('td.filter-toggle-selected');
for(var i = 0; i < buttons.length; i++){
for(var j = 0; j < buttons[i].classList.length; j++){
if(buttons[i].classList[j] == 'wds-button' || buttons[i].classList[j] == 'filter-toggle-selected' || buttons[i].classList[j] == 'filter-toggle-not-selected' ||buttons[i].classList[j] == 'cat1' || buttons[i].classList[j] == 'cat2' || buttons[i].classList[j] == 'cat3' || buttons[i].classList[j] == 'cat4' || buttons[i].classList[j] == 'cat5' || buttons[i].classList[j] == 'cat6' || buttons[i].classList[j] == 'cat7' || buttons[i].classList[j] == 'cat8' || buttons[i].classList[j] == 'cat9' || buttons[i].classList[j] == 'cat10')
continue;
else{
if(buttons[i].classList.value.includes('cat1'))
cat1Classes.push(buttons[i].classList[j]);
else if(buttons[i].classList.value.includes('cat2'))
cat2Classes.push(buttons[i].classList[j]);
else if(buttons[i].classList.value.includes('cat3'))
cat3Classes.push(buttons[i].classList[j]);
else if(buttons[i].classList.value.includes('cat4'))
cat4Classes.push(buttons[i].classList[j]);
else if(buttons[i].classList.value.includes('cat5'))
cat5Classes.push(buttons[i].classList[j]);
else if(buttons[i].classList.value.includes('cat6'))
cat6Classes.push(buttons[i].classList[j]);
else if(buttons[i].classList.value.includes('cat7'))
cat7Classes.push(buttons[i].classList[j]);
else if(buttons[i].classList.value.includes('cat8'))
cat8Classes.push(buttons[i].classList[j]);
else if(buttons[i].classList.value.includes('cat9'))
cat9Classes.push(buttons[i].classList[j]);
else if(buttons[i].classList.value.includes('cat10'))
cat10Classes.push(buttons[i].classList[j]);
}
}
}
}
if(cat1Classes.length > 0)
classArray.push(cat1Classes);
if(cat2Classes.length > 0)
classArray.push(cat2Classes);
if(cat3Classes.length > 0)
classArray.push(cat3Classes);
if(cat4Classes.length > 0)
classArray.push(cat4Classes);
if(cat5Classes.length > 0)
classArray.push(cat5Classes);
if(cat6Classes.length > 0)
classArray.push(cat6Classes);
if(cat7Classes.length > 0)
classArray.push(cat7Classes);
if(cat8Classes.length > 0)
classArray.push(cat8Classes);
if(cat9Classes.length > 0)
classArray.push(cat9Classes);
if(cat10Classes.length > 0)
classArray.push(cat10Classes);
var filter = '';
var res = []
if(classArray.length > 0)
res = cartesian(classArray);
console.log(res);
if(res.length > 0){
for(var k = 0; k < res.length; k++){
filter += 'tr.' + res[k].join('.') + (k == res.length - 1 ? '' : ',');
}
} else{
filter = 'tr.toggle-row';
$('td.filter-toggle-selected').addClass('filter-toggle-not-selected').removeClass('filter-toggle-selected');
}
$('tr.toggle-row').hide();
$(filter).show();
} );
} );
function cartesian(args) {
var r = [], max = args.length-1;
function helper(arr, i) {
for (var j=0, l=args[i].length; j<l; j++) {
var a = arr.slice(0); // clone arr
a.push(args[i][j]);
if (i==max)
r.push(a);
else
helper(a, i+1);
}
}
helper([], 0);
return r;
}