72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
<table id="nsbi-data-table" class="table table-bordered table-hover" width="100%" cellspacing="0">
 | 
						|
  <thead>
 | 
						|
    <tr>
 | 
						|
      <th>Model</th>
 | 
						|
      <th>Operating System Version</th>
 | 
						|
      <th>Count</th>
 | 
						|
    </tr>
 | 
						|
  </thead>
 | 
						|
  </tbody>
 | 
						|
    [% FOREACH row IN results %]
 | 
						|
    <tr>
 | 
						|
      <td>
 | 
						|
        <a href="[% search_device %]&q=[% row.model | uri %]&vendor=[% row.vendor | uri %]&model=[% row.model | uri %]">
 | 
						|
            [% row.vendor.ucfirst | html_entity %] [% row.model | html_entity %]</a>
 | 
						|
            [% IF row.os %] running "[% row.os | html_entity %]"[% END %]
 | 
						|
      </td>
 | 
						|
      <td>
 | 
						|
        <a class="nd_linkcell"
 | 
						|
          href="[% search_device %]&q=[% row.os_ver | uri %]&vendor=[% row.vendor | uri %]&model=[% row.model | uri %]&os=[% row.os | uri %]&os_ver=[% row.os_ver | uri %]&matchall=on">
 | 
						|
            [% row.os_ver | html_entity %]</a>
 | 
						|
      </td>
 | 
						|
      <td>[% row.os_ver_count | html_entity %]</td>
 | 
						|
    </tr>
 | 
						|
    [% END %]
 | 
						|
  </tbody>
 | 
						|
</table>
 | 
						|
 | 
						|
<style>
 | 
						|
tr.group,
 | 
						|
tr.group:hover {
 | 
						|
    background-color: #ddd !important;
 | 
						|
}
 | 
						|
</style>
 | 
						|
 | 
						|
<script>
 | 
						|
$(document).ready(function() {
 | 
						|
    var table = $('#nsbi-data-table').DataTable({
 | 
						|
        "columnDefs": [
 | 
						|
            { "visible": false, "targets": 0 }
 | 
						|
        ],
 | 
						|
        sort: false,
 | 
						|
        "drawCallback": function ( settings ) {
 | 
						|
            var api = this.api();
 | 
						|
            var rows = api.rows( {page:'current'} ).nodes();
 | 
						|
            var last=null;
 | 
						|
 
 | 
						|
            api.column(0, {page:'current'} ).data().each( function ( group, i ) {
 | 
						|
                if ( last !== group ) {
 | 
						|
                    $(rows).eq( i ).before(
 | 
						|
                    '<tr class="group"><td colspan="2">'+group+'</td></tr>'
 | 
						|
                    );
 | 
						|
 | 
						|
                    last = group;
 | 
						|
                }
 | 
						|
            } );
 | 
						|
        },
 | 
						|
[% INCLUDE 'ajax/datatabledefaults.tt' -%]
 | 
						|
    } );
 | 
						|
 
 | 
						|
    // Order by the grouping
 | 
						|
    $('#nsbi-data-table tbody').on( 'click', 'tr.group', function () {
 | 
						|
        var currentOrder = table.order()[0];
 | 
						|
        if ( currentOrder[0] === 0 && currentOrder[1] === 'asc' ) {
 | 
						|
            table.order( [ 0, 'desc' ] ).draw();
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            table.order( [ 0, 'asc' ] ).draw();
 | 
						|
        }
 | 
						|
    } );
 | 
						|
} );
 | 
						|
</script>
 |