/* ------------------------------------------------------------------------------
*
* # Autofill extension for Datatables
*
* Specific JS code additions for datatable_extension_autofill.html page
*
* Version: 1.0
* Latest update: Nov 9, 2015
*
* ---------------------------------------------------------------------------- */
$(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-wrap"t><"datatable-footer"ip>',
language: {
search: 'Filter: _INPUT_',
lengthMenu: 'Show: _MENU_',
paginate: { 'first': 'First', 'last': 'Last', 'next': '→', 'previous': '←' }
}
});
// Basic initialization
$('.datatable-autofill-basic').DataTable({
autoFill: true
});
// Always confirm action
$('.datatable-autofill-confirm').DataTable({
autoFill: {
alwaysAsk: true
},
});
// Click focus
$('.datatable-autofill-click').DataTable({
autoFill: {
focus: 'click'
}
});
// Column selector
$('.datatable-autofill-column').DataTable( {
columnDefs: [
{
orderable: false,
className: 'select-checkbox',
targets: 0
},
{
orderable: false,
width: '100px',
targets: 6
}
],
select: {
style: 'os',
selector: 'td:first-child'
},
order: [[1, 'asc']],
autoFill: {
columns: ':not(:first-child)'
}
});
// External table additions
// ------------------------------
// Add placeholder to the datatable filter option
$('.dataTables_filter input[type=search]').attr('placeholder','Type to filter...');
// Enable Select2 select for the length option
$('.dataTables_length select').select2({
minimumResultsForSearch: Infinity,
width: 'auto'
});
});