document.addEventListener 'turbolinks:load', ->
$('.filter-datatable-tabs').on 'click', -> filter = $(this).data('id') table = $(this).closest('.datatable-container').find('.datatable_table') if table.find('.status_cell').length > 0 position = table.find('.status_cell').prop('cellIndex') #table.DataTable().ajax.reload table.DataTable().column( position ).search( filter ).draw() if table.find('.fee_status').length > 0 #table.DataTable().ajax.reload table.DataTable().column(0).search( filter ).draw() if $('.datatable_table').length > 0 $('.datatable_table').each () -> if !$.fn.DataTable.isDataTable( "#"+$(this).prop("id") ) set_datatable($(this))
set_datatable = (data)->
if !$.fn.DataTable.isDataTable( "#"+data.prop("id") ) table = $("#"+data.prop("id")) datatable_table = table.DataTable({ pagingType: "full_numbers" processing: true stateSave: true serverSide: true responsive: true ajax: url: table.data('source') type: 'GET' language: 'sProcessing': 'Procesando...' 'sLengthMenu': 'Mostrar _MENU_ registros' 'sZeroRecords': 'No se encontraron resultados' 'sEmptyTable': 'Ningún dato disponible en esta tabla' 'sInfo': 'Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros' 'sInfoEmpty': 'Mostrando registros del 0 al 0 de un total de 0 registros' 'sInfoFiltered': '' 'sInfoPostFix': '' 'sSearch': 'Buscar:' 'sUrl': '' 'sInfoThousands': ',' 'sLoadingRecords': 'Cargando...' 'oPaginate': 'sFirst': 'Primero' 'sLast': 'Último' 'sNext': 'Siguiente' 'sPrevious': 'Anterior' 'oAria': 'sSortAscending': ': Activar para ordenar la columna de manera ascendente' 'sSortDescending': ': Activar para ordenar la columna de manera descendente' }) switch(data.prop("id")) when "customer_datatable" yadcf.init(datatable_table, [ { column_number: 0 filter_type: "text" filter_default_label: "Escribir Nombre" filter_container_id: "filter_1" } { column_number: 1 filter_type: "text" filter_default_label: "Escribir RUT" filter_container_id: "filter_2" } { column_number: 2 filter_type: "none" filter_container_id: "filter_3" } ]) filter = table.closest('.datatable-container').find('.filter-datatable-tabs').first().data('id') position = table.find('.status_cell').prop('cellIndex') if filter datatable_table.column( position ).search( filter ).draw()
document.addEventListener “turbolinks:before-cache”, ->
if $('.datatable_table').length > 0 $('.datatable_table').each () -> datatable = $("#"+$(this).prop("id")).DataTable() datatable.destroy()