//== Class definition var DatatableJsonRemoteDemo = function () { //== Private functions // basic demo var demo = function () { var datatable = $('.m_datatable').mDatatable({ // datasource definition data: { type: 'remote', source: 'http://keenthemes.com/metronic/preview/inc/api/datatables/datasource/default.json', pageSize: 10, }, // layout definition layout: { theme: 'default', // datatable theme class: '', // custom wrapper class 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: $('#generalSearch') }, // columns definition columns: [{ field: "RecordID", title: "#", width: 50, sortable: false, selector: false, textAlign: 'center' }, { field: "OrderID", title: "Order ID" }, { field: "ShipCountry", title: "Ship Country", template: function (row) { // callback function support for column rendering return row.ShipCountry + ' - ' + row.ShipCity; } }, { field: "ShipCity", title: "Ship City", width: 110 }, { field: "ShipName", title: "Ship Name", responsive: {visible: 'lg'} }, { field: "ShipAddress", title: "Ship Address", responsive: {visible: 'lg'} }, { 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': 'm-badge--brand'}, 2: {'title': 'Delivered', 'class': ' m-badge--metal'}, 3: {'title': 'Canceled', 'class': ' m-badge--primary'}, 4: {'title': 'Success', 'class': ' m-badge--success'}, 5: {'title': 'Info', 'class': ' m-badge--info'}, 6: {'title': 'Danger', 'class': ' m-badge--danger'}, 7: {'title': 'Warning', 'class': ' m-badge--warning'} }; return '' + status[row.Status].title + ''; } }, { field: "Type", title: "Type", // 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': 'accent'} }; return ' ' + status[row.Type].title + ''; } }, { field: "Actions", width: 110, title: "Actions", sortable: false, overflow: 'visible', template: function (row, index, datatable) { var dropup = (datatable.getPageSize() - index) <= 4 ? 'dropup' : ''; return '\ \ \ \ \ \ \ \ '; } }] }); var query = datatable.getDataSourceQuery(); $('#m_form_status').on('change', function () { datatable.search($(this).val(), 'Status'); }).val(typeof query.Status !== 'undefined' ? query.Status : ''); $('#m_form_type').on('change', function () { datatable.search($(this).val(), 'Type'); }).val(typeof query.Type !== 'undefined' ? query.Type : ''); $('#m_form_status, #m_form_type').selectpicker(); }; return { // public functions init: function () { demo(); } }; }(); jQuery(document).ready(function () { DatatableJsonRemoteDemo.init(); });