1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| $(function() {
// Table setup
// ------------------------------
// Setting datatable defaults
$.extend( $.fn.dataTable.defaults, {
autoWidth: false,
columnDefs: [{
orderable: false,
width: '100px',
targets: [ 5 ]
}],
dom: '<"datatable-header"fl><"datatable-scroll"t><"datatable-footer"ip>',
language: {
search: '<span>Filtre:</span> _INPUT_',
lengthMenu: '<span>Nombre de lignes:</span> _MENU_',
paginate: { 'first': 'First', 'last': 'Last', 'next': '→', 'previous': '←' }
},
drawCallback: function () {
$(this).find('tbody tr').slice(-3).find('.dropdown, .btn-group').addClass('dropup');
},
preDrawCallback: function() {
$(this).find('tbody tr').slice(-3).find('.dropdown, .btn-group').removeClass('dropup');
}
});
// Datatable 'length' options
$('.datatable-show-all').DataTable({
lengthMenu: [[10, 25, 50, -1], [10, 25, 50, "All"]]
});
// DOM positioning
$('.datatable-dom-position').DataTable({
dom: '<"datatable-header length-left"lp><"datatable-scroll"t><"datatable-footer info-right"fi>',
});
// Highlighting rows and columns on mouseover
var lastIdx = null;
var table = $('.datatable-highlight').DataTable();
$('.datatable-highlight tbody').on('mouseover', 'td', function() {
var colIdx = table.cell(this).index().column;
if (colIdx !== lastIdx) {
$(table.cells().nodes()).removeClass('active');
$(table.column(colIdx).nodes()).addClass('active');
}
}).on('mouseleave', function() {
$(table.cells().nodes()).removeClass('active');
});
// Columns rendering
$('.datatable-columns').dataTable({
columnDefs: [
{
// The `data` parameter refers to the data for the cell (defined by the
// `data` option, which defaults to the column being worked with, in
// this case `data: 0`.
render: function (data, type, row) {
return data +' ('+ row[3]+')';
},
targets: 0
},
{ visible: false, targets: [ 3 ] }
]
});
// External table additions
// ------------------------------
// Add placeholder to the datatable filter option
$('.dataTables_filter input[type=search]').attr('placeholder','Rechercher...');
// Enable Select2 select for the length option
$('.dataTables_length select').select2({
minimumResultsForSearch: "-1"
});
}); |
Partager