Changeset 1524 for trunk/web-app/js


Ignore:
Timestamp:
Feb 15, 2011, 3:05:23 PM (10 years ago)
Author:
robert@…
Message:

Refactored some of the querying stuff and built in 'check all' checkboxes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/web-app/js/advancedQueryResults.js

    r1501 r1524  
     1function checkAllPaginated( input ) {
     2        var paginatedTable = $(input).closest( '.paginate' );
     3        var dataTable = paginatedTable.closest( '.dataTables_wrapper' );
     4        var checkAll = $( '#checkAll', paginatedTable );
     5       
     6        var oTable = paginatedTable.dataTable();
     7        var inputs = $('input', oTable.fnGetNodes())
     8       
     9        // If any of the inputs is checked, uncheck all. Otherwise, check all
     10        var check = false;
     11       
     12        for(var i = 0; i < inputs.length; i++ ) {
     13                if( !$(inputs[i]).attr( 'checked' ) ) {
     14                        check = true;
     15                        break;
     16                }
     17        }
     18       
     19        inputs.each( function( idx, el ) {
     20                $(el).attr( 'checked', check );
     21        })
     22       
     23        updateCheckAll( checkAll );
     24}
     25
     26function updateCheckAll( input ) {
     27        var paginatedTable = $(input).closest( '.paginate' );
     28        var dataTable = paginatedTable.closest( '.dataTables_wrapper' );
     29       
     30        var checkAll = $( '#checkAll', paginatedTable );
     31       
     32        var oTable = paginatedTable.dataTable();
     33        var inputs = $('input', oTable.fnGetNodes())
     34       
     35        // Is none checked, are all checked or are some checked
     36        var numChecked = 0
     37        for(var i = 0; i < inputs.length; i++ ) {
     38                if( $(inputs[i]).attr( 'checked' ) ) {
     39                        numChecked++;
     40                }
     41        }
     42       
     43        checkAll.attr( 'checked', numChecked > 0 );
     44       
     45        if( numChecked > 0 && numChecked < inputs.length - 1 ) {
     46                checkAll.addClass( 'transparent' );
     47        } else {
     48                checkAll.removeClass( 'transparent' );
     49        }
     50}
     51
    152function submitForm( form, url ) {
    253        if( form == undefined || !form )
Note: See TracChangeset for help on using the changeset viewer.