X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=templates%2Fall_checkboxes.html.ep;h=91d62d7b3da28ff74829ebef8c5d66a1ac77ed3a;hb=HEAD;hp=3b36fcf975f21a5d8790e93efabcead6f4545770;hpb=832d76c2168d70a63ff02891fa4b03eaa74ba774;p=MojoFacets.git diff --git a/templates/all_checkboxes.html.ep b/templates/all_checkboxes.html.ep index 3b36fcf..91d62d7 100644 --- a/templates/all_checkboxes.html.ep +++ b/templates/all_checkboxes.html.ep @@ -4,9 +4,9 @@ none @@ -38,7 +38,7 @@ function update_checked_count(full) { var count = $('#checked-count'); var nr = -1; if ( full ) { - nr = $("label input[type='checkbox']:checked").length; + nr = $("input[type='checkbox']:checked").length; } else { nr = parseInt( count.text() ); if ( this.checked ) { @@ -57,46 +57,53 @@ var toggle_checkbox = function() { }; $('a#included').click( function(){ - $("label.included input[type='checkbox']:not([disabled='disabled'])").each( toggle_checkbox ); + $(".included input[type='checkbox']:not([disabled='disabled'])").each( toggle_checkbox ); update_checked_count(1); }); $('a#excluded').click( function(){ - $("label.excluded input[type='checkbox']:not([disabled='disabled'])").each( toggle_checkbox ); + $(".excluded input[type='checkbox']:not([disabled='disabled'])").each( toggle_checkbox ); update_checked_count(1); }); // regex for column names -var apply_regex = function(e) { - console.debug( this, e ); - var r = new RegExp( this.value ,'i'); +var last_user_regex = ''; + +var filter_regex = function(user_regex) { + + if ( user_regex == '' || user_regex == last_user_regex ) return false; + last_user_regex = user_regex; + + var r = new RegExp( user_regex,'i'); var included = 0; var excluded = 0; $("input[type='checkbox']:not([disabled='disabled'])").each( function(i,element){ if ( r.test( this.value ) ) { - $(this).parent().removeClass('excluded').addClass('included'); + $(this).<%= $add_class_to %>.removeClass('excluded').addClass('included'); included++; } else { - $(this).parent().removeClass('included').addClass('excluded'); + $(this).<%= $add_class_to %>.removeClass('included').addClass('excluded'); excluded++; } }); $('a#included').text(included).show(); $('a#excluded').text(excluded).show(); - return false; + + console.debug('filter_regex',user_regex,included,excluded, last_user_regex); }; $('input[name=filter_regex]') -.focusout( apply_regex ) +.focusout( function(e) { filter_regex( this.value ) } ) .keypress( function(e) { // disable enter var code = e.keyCode ? e.keyCode : e.which; //console.debug('key code',code); if ( code == 13 ) { - return apply_regex(e); + filter_regex( this.value ); + return false; } else { return true; }