//Global setting and initializer
$.extend( $.fn.dataTable.defaults, {
responsive: true, pagingType: 'full', //dom: // "<'row'<'col-sm-4 text-left'f><'right-action col-sm-8 text-right'<'buttons'B> <'select-info'> >>" + // "<'row'<'dttb col-12 px-0'tr>>" + // "<'row'<'col-sm-12 table-footer'lip>>"
});
$(document).on('preInit.dt', function(e, settings) {
var api, table_id, url; api = new $.fn.dataTable.Api(settings); table_id = "#" + api.table().node().id; url = $(table_id).data('source'); if (url) { return api.ajax.url(url); }
});
// init on turbolinks load $(document).on('turbolinks:load', function() {
if (!$.fn.DataTable.isDataTable("table[id^=dttb-]")) { $("table[id^=dttb-]").DataTable(); }
});
// turbolinks cache fix $(document).on('turbolinks:before-cache', function() {
var dataTable = $($.fn.dataTable.tables(true)).DataTable(); if (dataTable !== null) { dataTable.clear(); dataTable.destroy(); return dataTable = null; }
});