var table ; function showLoaderScreen() { $(".starter-loader-container").css("display", "flex").hide().fadeIn(); } function hideLoaderScreen() { $(".starter-loader-container").fadeOut(); } $(document).ready(function () { console.log("start") showLoaderScreen() $.ajax({ url: '/public/cmms-download', type: 'GET', success: function(data) { JSZipUtils.getBinaryContent('/storage/cmms.zip', function(err, data) { if(err) { throw err; // or handle err } JSZip.loadAsync(data).then(function (zip) { // console.log(zip.files) // zip.forEach(function (relativePath, zipEntry) { // console.log(zipEntry.name) // }); var x = []; zip.file("cmms.json").async("text").then(function (qqq) { hideLoaderScreen() var z = JSON.parse(qqq) console.log('qqq', z.data) ///// start data table // fail; console.log('yes') table = $("#example").DataTable({ dom: "lBfrtip", pagingType: "full_numbers", language: { sEmptyTable: "هیچ داده‌ای در جدول وجود ندارد", sInfo: "نمایش _START_ تا _END_ از _TOTAL_ ردیف", sInfoEmpty: "نمایش 0 تا 0 از 0 ردیف", sInfoFiltered: "(فیلتر شده از _MAX_ ردیف)", sInfoPostFix: "", sInfoThousands: ",", sLengthMenu: "نمایش _MENU_ ردیف", sLoadingRecords: "در حال بارگزاری...", sProcessing: "در حال پردازش...", sSearch: "جستجو / فیلتر: ", sZeroRecords: "رکوردی با این مشخصات پیدا نشد", oPaginate: { sFirst: "برگه‌ی نخست", sLast: "برگه‌ی آخر", sNext: "بعدی", sPrevious: "قبلی", }, oAria: { sSortAscending: ": فعال سازی نمایش به صورت صعودی", sSortDescending: ": فعال سازی نمایش به صورت نزولی", }, }, scrollX: true, orderCellsTop: true, fixedHeader: true, order: [[0, "asc"][(1, "asc")], [2, "desc"], [3, "desc"], [4, "desc"]], order: [[0, "desc"]], processing: true, select: true, destroy: true, data: z.data, // ajax: { // url: "/public/cmms-down", // type: "GET", // dataSrc: function (json) { // // console.log("ttt" , json.data) // console.log("hi") // console.log(json) // var new_zip = new JSZip(); // // more files ! // new_zip.loadAsync(json) // .then(function(zip) { // // you now have every files contained in the loaded zip // // zip.file("hello.txt").async("string"); // a promise of "Hello World\n" // console.log("zip", zip) // }); // // return json.data; // }, // }, buttons: [ { extend: "excelHtml5", title: "Excel", text: "خروجی به اکسل", messageTop: "بانک ماشین آلات", }, ], initComplete: function () { this.api().columns([2]).every(function () { $('.mythead .showfilter th:eq(2)').empty(); var column = this; var select = $('') .appendTo('.mythead .showfilter th:eq(2)') .on('change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search(val ? '^' + val + '$' : '', true, false) .draw(); }); column.data().unique().sort().each(function (d, j) { select.append('') }); }); this.api().columns([3]).every(function () { $('.mythead .showfilter th:eq(3)').empty(); var column = this; var select = $('') .appendTo('.mythead .showfilter th:eq(3)') .on('change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search(val ? '^' + val + '$' : '', true, false) .draw(); }); column.data().unique().sort().each(function (d, j) { select.append('') }); }); this.api().columns([4]).every(function () { $('.mythead .showfilter th:eq(4)').empty(); var column = this; var select = $('') .appendTo('.mythead .showfilter th:eq(4)') .on('change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search(val ? '^' + val + '$' : '', true, false) .draw(); }); column.data().unique().sort().each(function (d, j) { select.append('') }); }); this.api().columns([8]).every(function () { $('.mythead .showfilter th:eq(8)').empty(); var column = this; var select = $('') .appendTo('.mythead .showfilter th:eq(8)') .on('change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search(val ? '^' + val + '$' : '', true, false) .draw(); }); column.data().unique().sort().each(function (d, j) { select.append('') }); }); this.api().columns([14]).every(function () { $('.mythead .showfilter th:eq(14)').empty(); var column = this; var select = $('') .appendTo('.mythead .showfilter th:eq(14)') .on('change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search(val ? '^' + val + '$' : '', true, false) .draw(); }); column.data().unique().sort().each(function (d, j) { select.append('') }); }); this.api().columns([18]).every(function () { $('.mythead .showfilter th:eq(18)').empty(); var column = this; var select = $('') .appendTo('.mythead .showfilter th:eq(18)') .on('change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search(val ? '^' + val + '$' : '', true, false) .draw(); }); column.data().unique().sort().each(function (d, j) { select.append('') }); }); this.api().columns([19]).every(function () { $('.mythead .showfilter th:eq(19)').empty(); var column = this; var select = $('') .appendTo('.mythead .showfilter th:eq(19)') .on('change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search(val ? '^' + val + '$' : '', true, false) .draw(); }); column.data().unique().sort().each(function (d, j) { select.append('') }); }); this.api().columns([23]).every(function () { $('.mythead .showfilter th:eq(23)').empty(); var column = this; var select = $('') .appendTo('.mythead .showfilter th:eq(23)') .on('change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search(val ? '^' + val + '$' : '', true, false) .draw(); }); column.data().unique().sort().each(function (d, j) { select.append('') }); }); $("#kalakrashti").click(); // $("#example thead tr:eq(0) th:eq(0)").on("load" , function( // $("#example thead tr:eq(0) th:eq(0)").click(); // )) } // } }); ///// end data table }); }); }); } }); console.log("end") }) // $('.mythead tr').clone(true).appendTo( '.mythead' ); $('.mythead .showfilter th').each( function (i) { if (i!=2 && i!=3 && i!=4 && i!=8 && i!=14 && i!=18 && i!=19 && i!=23) { var title = $(this).text(); $(this).html( '' ); $( 'input', this ).on( 'keyup change', function () { if ( table.column(i).search() !== this.value ) { table .column(i) .search( this.value ) .draw(); } } ); } } );