1 line
6.6 KiB
JavaScript
1 line
6.6 KiB
JavaScript
"use strict";var KTDatatablesSearchOptionsColumnSearch=function(){$.fn.dataTable.Api.register("column().title()",function(){return $(this.header()).text().trim()});return{init:function(){var t;t=$("#kt_table_1").DataTable({responsive:!0,dom:"<'row'<'col-sm-12'tr>>\n\t\t\t<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7 dataTables_pager'lp>>",lengthMenu:[5,10,25,50],pageLength:10,language:{lengthMenu:"Display _MENU_"},searchDelay:500,processing:!0,serverSide:!0,ajax:{url:"https://keenthemes.com/metronic/themes/themes/metronic/dist/preview/inc/api/datatables/demos/server.php",type:"POST",data:{columnsDef:["RecordID","OrderID","Country","ShipCity","CompanyAgent","ShipDate","Status","Type","Actions"]}},columns:[{data:"RecordID"},{data:"OrderID"},{data:"Country"},{data:"ShipCity"},{data:"CompanyAgent"},{data:"ShipDate"},{data:"Status"},{data:"Type"},{data:"Actions",responsivePriority:-1}],initComplete:function(){var e=this,a=$('<tr class="filter"></tr>').appendTo($(t.table().header()));this.api().columns().every(function(){var e;switch(this.title()){case"Record ID":case"Order ID":case"Ship City":case"Company Agent":e=$('<input type="text" class="form-control form-control-sm form-filter kt-input" data-col-index="'+this.index()+'"/>');break;case"Country":e=$('<select class="form-control form-control-sm form-filter kt-input" title="Select" data-col-index="'+this.index()+'">\n\t\t\t\t\t\t\t\t\t\t<option value="">Select</option></select>'),this.data().unique().sort().each(function(t,a){$(e).append('<option value="'+t+'">'+t+"</option>")});break;case"Status":var n={1:{title:"Pending",class:"kt-badge--brand"},2:{title:"Delivered",class:" kt-badge--danger"},3:{title:"Canceled",class:" kt-badge--primary"},4:{title:"Success",class:" kt-badge--success"},5:{title:"Info",class:" kt-badge--info"},6:{title:"Danger",class:" kt-badge--danger"},7:{title:"Warning",class:" kt-badge--warning"}};e=$('<select class="form-control form-control-sm form-filter kt-input" title="Select" data-col-index="'+this.index()+'">\n\t\t\t\t\t\t\t\t\t\t<option value="">Select</option></select>'),this.data().unique().sort().each(function(t,a){$(e).append('<option value="'+t+'">'+n[t].title+"</option>")});break;case"Type":n={1:{title:"Online",state:"danger"},2:{title:"Retail",state:"primary"},3:{title:"Direct",state:"success"}},e=$('<select class="form-control form-control-sm form-filter kt-input" title="Select" data-col-index="'+this.index()+'">\n\t\t\t\t\t\t\t\t\t\t<option value="">Select</option></select>'),this.data().unique().sort().each(function(t,a){$(e).append('<option value="'+t+'">'+n[t].title+"</option>")});break;case"Ship Date":e=$('\n\t\t\t\t\t\t\t<div class="input-group date">\n\t\t\t\t\t\t\t\t<input type="text" class="form-control form-control-sm kt-input" readonly placeholder="From" id="kt_datepicker_1"\n\t\t\t\t\t\t\t\t data-col-index="'+this.index()+'"/>\n\t\t\t\t\t\t\t\t<div class="input-group-append">\n\t\t\t\t\t\t\t\t\t<span class="input-group-text"><i class="la la-calendar-o glyphicon-th"></i></span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="input-group date">\n\t\t\t\t\t\t\t\t<input type="text" class="form-control form-control-sm kt-input" readonly placeholder="To" id="kt_datepicker_2"\n\t\t\t\t\t\t\t\t data-col-index="'+this.index()+'"/>\n\t\t\t\t\t\t\t\t<div class="input-group-append">\n\t\t\t\t\t\t\t\t\t<span class="input-group-text"><i class="la la-calendar-o glyphicon-th"></i></span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>');break;case"Actions":var i=$('<button class="btn btn-brand kt-btn btn-sm kt-btn--icon">\n\t\t\t\t\t\t\t <span>\n\t\t\t\t\t\t\t <i class="la la-search"></i>\n\t\t\t\t\t\t\t <span>Search</span>\n\t\t\t\t\t\t\t </span>\n\t\t\t\t\t\t\t</button>'),s=$('<button class="btn btn-secondary kt-btn btn-sm kt-btn--icon">\n\t\t\t\t\t\t\t <span>\n\t\t\t\t\t\t\t <i class="la la-close"></i>\n\t\t\t\t\t\t\t <span>Reset</span>\n\t\t\t\t\t\t\t </span>\n\t\t\t\t\t\t\t</button>');$("<th>").append(i).append(s).appendTo(a),$(i).on("click",function(e){e.preventDefault();var n={};$(a).find(".kt-input").each(function(){var t=$(this).data("col-index");n[t]?n[t]+="|"+$(this).val():n[t]=$(this).val()}),$.each(n,function(e,a){t.column(e).search(a||"",!1,!1)}),t.table().draw()}),$(s).on("click",function(e){e.preventDefault(),$(a).find(".kt-input").each(function(e){$(this).val(""),t.column($(this).data("col-index")).search("",!1,!1)}),t.table().draw()})}"Actions"!==this.title()&&$(e).appendTo($("<th>").appendTo(a))});var n=function(){e.api().columns().every(function(){this.responsiveHidden()?$(a).find("th").eq(this.index()).show():$(a).find("th").eq(this.index()).hide()})};n(),window.onresize=n,$("#kt_datepicker_1,#kt_datepicker_2").datepicker()},columnDefs:[{targets:-1,title:"Actions",orderable:!1,render:function(t,e,a,n){return'\n <span class="dropdown">\n <a href="#" class="btn btn-sm btn-clean btn-icon btn-icon-md" data-toggle="dropdown" aria-expanded="true">\n <i class="la la-ellipsis-h"></i>\n </a>\n <div class="dropdown-menu dropdown-menu-right">\n <a class="dropdown-item" href="#"><i class="la la-edit"></i> Edit Details</a>\n <a class="dropdown-item" href="#"><i class="la la-leaf"></i> Update Status</a>\n <a class="dropdown-item" href="#"><i class="la la-print"></i> Generate Report</a>\n </div>\n </span>\n <a href="#" class="btn btn-sm btn-clean btn-icon btn-icon-md" title="View">\n <i class="la la-edit"></i>\n </a>'}},{targets:5,width:"150px"},{targets:6,render:function(t,e,a,n){var i={1:{title:"Pending",class:"kt-badge--brand"},2:{title:"Delivered",class:" kt-badge--danger"},3:{title:"Canceled",class:" kt-badge--primary"},4:{title:"Success",class:" kt-badge--success"},5:{title:"Info",class:" kt-badge--info"},6:{title:"Danger",class:" kt-badge--danger"},7:{title:"Warning",class:" kt-badge--warning"}};return void 0===i[t]?t:'<span class="kt-badge '+i[t].class+' kt-badge--inline kt-badge--pill">'+i[t].title+"</span>"}},{targets:7,render:function(t,e,a,n){var i={1:{title:"Online",state:"danger"},2:{title:"Retail",state:"primary"},3:{title:"Direct",state:"success"}};return void 0===i[t]?t:'<span class="kt-badge kt-badge--'+i[t].state+' kt-badge--dot"></span> <span class="kt-font-bold kt-font-'+i[t].state+'">'+i[t].title+"</span>"}}]})}}}();jQuery(document).ready(function(){KTDatatablesSearchOptionsColumnSearch.init()}); |