/*=========================================================================================
File Name: invoices-list.js
Description: Invoices list datables configurations
----------------------------------------------------------------------------------------
Item Name: Modern Admin - Clean Bootstrap 4 Dashboard HTML Template
Version: 1.0
Author: PIXINVENT
Author URL: http://www.themeforest.net/user/pixinvent
==========================================================================================*/
$(document).ready(function() {
/********************************************
* js of Order by the grouping *
********************************************/
var groupingTable = $('.row-grouping').DataTable({
responsive: true,
rowReorder: true,
"columnDefs": [
{ "visible": false, "targets": 5 },
],
// "order": [[ 2, 'desc' ]],
"displayLength": 25,
"drawCallback": function ( settings ) {
var api = this.api();
var rows = api.rows( {page:'current'} ).nodes();
var last=null;
api.column(5, {page:'current'} ).data().each( function ( group, i ) {
if ( last !== group ) {
$(rows).eq( i ).before(
'
'+group+' |
'
);
last = group;
}
} );
}
} );
$('.row-grouping tbody').on( 'click', 'tr.group', function () {
if (typeof table !== 'undefined' && table.order()[0]) {
var currentOrder = table.order()[0];
if ( currentOrder[0] === 5 && currentOrder[1] === 'asc' ) {
table.order( [ 5, 'desc' ] ).draw();
}
else {
table.order( [ 5, 'asc' ] ).draw();
}
}
});
// Checkbox & Radio 1
$('.icheck input').iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
});
$('#invoices-list').on( 'draw.dt', function () {
// Checkbox & Radio 1
$('.icheck input').iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
});
});
//TODO:AJ: Improve check uncheck all func
var checkAll = $('input.input-chk-all');
var checkboxes = $('input.input-chk');
checkAll.on('ifChecked ifUnchecked', function(event) {
if (event.type == 'ifChecked') {
checkboxes.iCheck('check');
} else {
checkboxes.iCheck('uncheck');
}
});
checkboxes.on('ifChanged', function(event){
if(checkboxes.filter(':checked').length == checkboxes.length) {
checkAll.prop('checked', 'checked');
} else {
checkAll.removeProp('checked');
}
checkAll.iCheck('update');
});
});