"use strict"; // Class definition var KTDatatableJsonRemoteDemo = function() { // Private functions // basic demo var demo = function() { var datatable = $('#kt_datatable').KTDatatable({ // datasource definition data: { type: 'remote', source: HOST_URL + '/api/?file=datatables/datasource/default.json', pageSize: 10, }, // layout definition layout: { scroll: false, // enable/disable datatable scroll both horizontal and vertical when needed. footer: false // display/hide footer }, // column sorting sortable: true, pagination: true, search: { input: $('#kt_datatable_search_query'), key: 'generalSearch' }, // columns definition columns: [{ field: 'RecordID', title: '#', sortable: false, width: 20, type: 'number', selector: { class: '' }, textAlign: 'center', }, { field: 'OrderID', title: 'Order ID', }, { field: 'Country', title: 'Country', template: function(row) { return row.Country + ' ' + row.ShipCountry; }, }, { field: 'ShipAddress', title: 'Ship Address', }, { field: 'ShipDate', title: 'Ship Date', type: 'date', format: 'MM/DD/YYYY', }, { field: 'Status', title: 'Status', // callback function support for column rendering template: function(row) { var status = { 1: { 'title': 'Pending', 'class': ' label-light-success' }, 2: { 'title': 'Delivered', 'class': ' label-light-primary' }, 3: { 'title': 'Canceled', 'class': ' label-light-primary' }, 4: { 'title': 'Success', 'class': ' label-light-success' }, 5: { 'title': 'Info', 'class': ' label-light-info' }, 6: { 'title': 'Danger', 'class': ' label-light-danger' }, 7: { 'title': 'Warning', 'class': ' label-light-warning' }, }; return '' + status[row.Status].title + ''; }, }, { field: 'Type', title: 'Type', autoHide: false, // callback function support for column rendering template: function(row) { var status = { 1: { 'title': 'Online', 'state': 'danger' }, 2: { 'title': 'Retail', 'state': 'primary' }, 3: { 'title': 'Direct', 'state': 'success' }, }; return '' + status[row.Type].title + ''; }, }, { field: 'Actions', title: 'Actions', sortable: false, width: 125, autoHide: false, overflow: 'visible', template: function() { return '\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ '; }, }], }); $('#kt_datatable_search_status').on('change', function() { datatable.search($(this).val().toLowerCase(), 'Status'); }); $('#kt_datatable_search_type').on('change', function() { datatable.search($(this).val().toLowerCase(), 'Type'); }); $('#kt_datatable_search_status, #kt_datatable_search_type').selectpicker(); }; return { // public functions init: function() { demo(); } }; }(); jQuery(document).ready(function() { KTDatatableJsonRemoteDemo.init(); });