var EcommerceOrdersView = function () { var handleInvoices = function () { var grid = new Datatable(); grid.init({ src: $("#datatable_invoices"), onSuccess: function (grid) { // execute some code after table records loaded }, onError: function (grid) { // execute some code on network or other general error }, loadingMessage: 'Loading...', dataTable: { // here you can define a typical datatable settings from http://datatables.net/usage/options // Uncomment below line("dom" parameter) to fix the dropdown overflow issue in the datatable cells. The default datatable layout // setup uses scrollable div(table-scrollable) with overflow:auto to enable vertical scroll(see: assets/global/scripts/datatable.js). // So when dropdowns used the scrollable div should be removed. //"dom": "<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'<'table-group-actions pull-right'>>r>t<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'>>", "lengthMenu": [ [10, 20, 50, 100, 150, -1], [19, 20, 50, 100, 150, "All"] // change per page values here ], "pageLength": 10, // default record count per page "ajax": { "url": "demo/ecommerce_order_invoices.php", // ajax source }, "order": [ [1, "asc"] ] // set first column as a default sort by asc } }); // handle group actionsubmit button click grid.getTableWrapper().on('click', '.table-group-action-submit', function (e) { e.preventDefault(); var action = $(".table-group-action-input", grid.getTableWrapper()); if (action.val() != "" && grid.getSelectedRowsCount() > 0) { grid.setAjaxParam("customActionType", "group_action"); grid.setAjaxParam("customActionName", action.val()); grid.setAjaxParam("id", grid.getSelectedRows()); grid.getDataTable().ajax.reload(); grid.clearAjaxParams(); } else if (action.val() == "") { Metronic.alert({ type: 'danger', icon: 'warning', message: 'Please select an action', container: grid.getTableWrapper(), place: 'prepend' }); } else if (grid.getSelectedRowsCount() === 0) { Metronic.alert({ type: 'danger', icon: 'warning', message: 'No record selected', container: grid.getTableWrapper(), place: 'prepend' }); } }); } var handleCreditMemos = function () { var grid = new Datatable(); grid.init({ src: $("#datatable_credit_memos"), onSuccess: function (grid) { // execute some code after table records loaded }, onError: function (grid) { // execute some code on network or other general error }, loadingMessage: 'Loading...', dataTable: { // here you can define a typical datatable settings from http://datatables.net/usage/options // Uncomment below line("dom" parameter) to fix the dropdown overflow issue in the datatable cells. The default datatable layout // setup uses scrollable div(table-scrollable) with overflow:auto to enable vertical scroll(see: assets/global/scripts/datatable.js). // So when dropdowns used the scrollable div should be removed. //"dom": "<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'<'table-group-actions pull-right'>>r>t<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'>>", "lengthMenu": [ [10, 20, 50, 100, 150, -1], [10, 20, 50, 100, 150, "All"] // change per page values here ], "pageLength": 10, // default record count per page "ajax": { "url": "demo/ecommerce_order_credit_memos.php", // ajax source }, "columnDefs": [{ // define columns sorting options(by default all columns are sortable extept the first checkbox column) 'orderable': true, 'targets': [0] }], "order": [ [0, "asc"] ] // set first column as a default sort by asc } }); } var handleShipment = function () { var grid = new Datatable(); grid.init({ src: $("#datatable_shipment"), onSuccess: function (grid) { // execute some code after table records loaded }, onError: function (grid) { // execute some code on network or other general error }, loadingMessage: 'Loading...', dataTable: { // here you can define a typical datatable settings from http://datatables.net/usage/options "lengthMenu": [ [10, 20, 50, 100, 150, -1], [10, 20, 50, 100, 150, "All"] // change per page values here ], "pageLength": 10, // default record count per page "ajax": { "url": "demo/ecommerce_order_shipment.php", // ajax source }, "columnDefs": [{ // define columns sorting options(by default all columns are sortable extept the first checkbox column) 'orderable': true, 'targets': [0] }], "order": [ [0, "asc"] ] // set first column as a default sort by asc } }); } var handleHistory = function () { var grid = new Datatable(); grid.init({ src: $("#datatable_history"), onSuccess: function (grid) { // execute some code after table records loaded }, onError: function (grid) { // execute some code on network or other general error }, loadingMessage: 'Loading...', dataTable: { // here you can define a typical datatable settings from http://datatables.net/usage/options "lengthMenu": [ [10, 20, 50, 100, 150, -1], [10, 20, 50, 100, 150, "All"] // change per page values here ], "pageLength": 10, // default record count per page "ajax": { "url": "demo/ecommerce_order_history.php", // ajax source }, "columnDefs": [{ // define columns sorting options(by default all columns are sortable extept the first checkbox column) 'orderable': true, 'targets': [0] }], "order": [ [0, "asc"] ] // set first column as a default sort by asc } }); // handle group actionsubmit button click grid.getTableWrapper().on('click', '.table-group-action-submit', function (e) { e.preventDefault(); var action = $(".table-group-action-input", grid.getTableWrapper()); if (action.val() != "" && grid.getSelectedRowsCount() > 0) { grid.setAjaxParam("customActionType", "group_action"); grid.setAjaxParam("customActionName", action.val()); grid.setAjaxParam("id", grid.getSelectedRows()); grid.getDataTable().ajax.reload(); grid.clearAjaxParams(); } else if (action.val() == "") { Metronic.alert({ type: 'danger', icon: 'warning', message: 'Please select an action', container: grid.getTableWrapper(), place: 'prepend' }); } else if (grid.getSelectedRowsCount() === 0) { Metronic.alert({ type: 'danger', icon: 'warning', message: 'No record selected', container: grid.getTableWrapper(), place: 'prepend' }); } }); } var initPickers = function () { //init date pickers $('.date-picker').datepicker({ rtl: Metronic.isRTL(), autoclose: true }); $(".datetime-picker").datetimepicker({ isRTL: Metronic.isRTL(), autoclose: true, todayBtn: true, pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left"), minuteStep: 10 }); } return { //main function to initiate the module init: function () { initPickers(); handleInvoices(); handleCreditMemos(); handleShipment(); handleHistory(); } }; }();