/*
Name: Tables / Advanced - Examples
Written by: Okler Themes - (http://www.okler.net)
Theme Version: 2.1.1
*/
(function($) {
'use strict';
var datatableInit = function() {
var $table = $('#datatable-details');
// format function for row details
var fnFormatDetails = function( datatable, tr ) {
var data = datatable.fnGetData( tr );
return [
'
',
'',
' | ',
'' + data[1]+ ' ' + data[4] + ' | ',
'
',
'',
' | ',
'Could provide a link here | ',
'
',
'',
' | ',
'And any further details here (images etc) | ',
'
',
'
'
].join('');
};
// insert the expand/collapse column
var th = document.createElement( 'th' );
var td = document.createElement( 'td' );
td.innerHTML = '';
td.className = "text-center";
$table
.find( 'thead tr' ).each(function() {
this.insertBefore( th, this.childNodes[0] );
});
$table
.find( 'tbody tr' ).each(function() {
this.insertBefore( td.cloneNode( true ), this.childNodes[0] );
});
// initialize
var datatable = $table.dataTable({
dom: '<"row"<"col-lg-6"l><"col-lg-6"f>><"table-responsive"t>p',
aoColumnDefs: [{
bSortable: false,
aTargets: [ 0 ]
}],
aaSorting: [
[1, 'asc']
]
});
// add a listener
$table.on('click', 'i[data-toggle]', function() {
var $this = $(this),
tr = $(this).closest( 'tr' ).get(0);
if ( datatable.fnIsOpen(tr) ) {
$this.removeClass( 'fa-minus-square' ).addClass( 'fa-plus-square' );
datatable.fnClose( tr );
} else {
$this.removeClass( 'fa-plus-square' ).addClass( 'fa-minus-square' );
datatable.fnOpen( tr, fnFormatDetails( datatable, tr), 'details' );
}
});
};
$(function() {
datatableInit();
});
}).apply(this, [jQuery]);