1 <span id=column_selection>
2 <a id="all" href="#">all</a>
3 <a id="toggle" href="#">toggle</a>
4 <a id="none" href="#">none</a>
6 <label for=filter_regex>
7 <input type=text name=filter_regex title="enter regex to filter values" placeholder="regex">
8 <a id="included" href="#" style="display:none">included</a>
9 <a id="excluded" href="#" style="display:none">excluded</a>
14 <script type="text/javascript">
16 $(document).ready( function(){
18 $('a#all').click( function(){
19 $("input[type='checkbox']:not([disabled='disabled'])").attr('checked', true);
20 $('#checked-count').text( $('#facet-count').text() );
23 $('a#none').click( function(){
24 $("input[type='checkbox']:not([disabled='disabled'])").attr('checked', false);
25 $('#checked-count').text( 0 );
28 $('a#toggle').click( function(){
30 $("input[type='checkbox']:not([disabled='disabled'])").each( function() {
31 this.checked = ! this.checked;
32 if ( this.checked ) count++;
34 $('#checked-count').text( count );
37 function update_checked_count(full) {
38 var count = $('#checked-count');
41 nr = $("input[type='checkbox']:checked").length;
43 nr = parseInt( count.text() );
53 $("input[type='checkbox']").bind( 'click', update_checked_count );
55 var toggle_checkbox = function() {
56 this.checked = ! this.checked;
59 $('a#included').click( function(){
60 $(".included input[type='checkbox']:not([disabled='disabled'])").each( toggle_checkbox );
61 update_checked_count(1);
64 $('a#excluded').click( function(){
65 $(".excluded input[type='checkbox']:not([disabled='disabled'])").each( toggle_checkbox );
66 update_checked_count(1);
70 // regex for column names
72 var last_user_regex = '';
74 var filter_regex = function(user_regex) {
76 if ( user_regex == '' || user_regex == last_user_regex ) return false;
77 last_user_regex = user_regex;
79 var r = new RegExp( user_regex,'i');
82 $("input[type='checkbox']:not([disabled='disabled'])").each( function(i,element){
83 if ( r.test( this.value ) ) {
84 $(this).<%= $add_class_to %>.removeClass('excluded').addClass('included');
87 $(this).<%= $add_class_to %>.removeClass('included').addClass('excluded');
92 $('a#included').text(included).show();
93 $('a#excluded').text(excluded).show();
95 console.debug('filter_regex',user_regex,included,excluded, last_user_regex);
98 $('input[name=filter_regex]')
99 .focusout( function(e) { filter_regex( this.value ) } )
100 .keypress( function(e) {
102 var code = e.keyCode ? e.keyCode : e.which;
103 //console.debug('key code',code);
105 filter_regex( this.value );
113 update_checked_count(1);
115 }); // document.ready