MediaWiki:CharacterTable.js: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
(Fixed filtering by multiple toggles) |
No edit summary |
||
Line 1: | Line 1: | ||
⚫ | |||
$( document ).ready(function() { |
$( document ).ready(function() { |
||
⚫ | |||
$(".charactertable-controls > .controls > span").on("click", function(){characterTableToggle($(this));}); |
$(".charactertable-controls > .controls > span").on("click", function(){characterTableToggle($(this));}); |
||
}); |
}); |
Revision as of 18:40, 3 February 2023
var charactertable_filters = new Set();
$( document ).ready(function() {
$(".charactertable-controls > .controls > span").on("click", function(){characterTableToggle($(this));});
});
function characterTableToggle (toggleItem){
//console.log('toggling '+toggleItem.attr('data-toggle'));
toggleItem = (typeof toggleItem !== 'undefined') ? toggleItem : false; //default false, ES5 does not support function defaults
if (toggleItem) {
if (toggleItem.hasClass("inactive")) {
toggleItem.addClass('active').removeClass('inactive');
charactertable_filters.delete(toggleItem.attr('data-toggle'));
}
else {
toggleItem.addClass('inactive').removeClass('active');
charactertable_filters.add(toggleItem.attr('data-toggle'));
}
$(".charactertable tr").each(function (element){
hideRow = false;
charactertable_filters.forEach(filter => {
if ($(this).hasClass(filter)) hideRow = true;
});
if (hideRow) $(this).addClass('hidden').removeClass('visible');
else $(this).addClass('visible').removeClass('hidden');
});
}
}