10 lines
1.3 KiB
JavaScript
10 lines
1.3 KiB
JavaScript
|
|
||
|
var active_filters={};function toggle_filter(id){if(active_filters[id]===undefined){active_filters[id]=false;}
|
||
|
active_filters[id]=!active_filters[id];var any_filters_active=false;for(var key in active_filters){if(active_filters[key]===true){any_filters_active=true;break;}}
|
||
|
if(top.console&&top.console.log){top.console.log(active_filters);}
|
||
|
var rows=document.getElementsByClassName('data-row');for(var i=0,il=rows.length;i<il;++i){if(any_filters_active){var filter_active=false;for(var key in active_filters){if(top.console&&top.console.log){top.console.log(key);}
|
||
|
if(active_filters[key]===true){if(rows[i].hasClassName(key)){filter_active=true;break;}}}
|
||
|
if(top.console&&top.console.log){top.console.log(i+": "+filter_active);}
|
||
|
if(filter_active){Element.show(rows[i]);}else{Element.hide(rows[i]);}}else{Element.show(rows[i]);}}
|
||
|
for(var key in active_filters){var target=$(key);if(active_filters[key]===true){if(!Element.hasClassName(target,'enabled')){Element.addClassName(target,'enabled');}}else{if(Element.hasClassName(target,'enabled')){Element.removeClassName(target,'enabled');}}}}
|
||
|
function setup_status_togglers(){var togglers=document.getElementsByClassName('toggler');for(var i=0;i<togglers.length;++i){Event.observe(togglers[i],'click',function(e){var element=Event.element(e);toggle_filter(element.id);});}}
|