/angular/content/assets/pages/scripts/ecommerce-orders-view.js
https://gitlab.com/worksmit/demo · JavaScript · 237 lines · 189 code · 28 blank · 20 comment · 16 complexity · e3ddc0389c86607f8ccbf3feb2c86dbf MD5 · raw file
- 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() == "") {
- App.alert({
- type: 'danger',
- icon: 'warning',
- message: 'Please select an action',
- container: grid.getTableWrapper(),
- place: 'prepend'
- });
- } else if (grid.getSelectedRowsCount() === 0) {
- App.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() == "") {
- App.alert({
- type: 'danger',
- icon: 'warning',
- message: 'Please select an action',
- container: grid.getTableWrapper(),
- place: 'prepend'
- });
- } else if (grid.getSelectedRowsCount() === 0) {
- App.alert({
- type: 'danger',
- icon: 'warning',
- message: 'No record selected',
- container: grid.getTableWrapper(),
- place: 'prepend'
- });
- }
- });
- }
-
- var initPickers = function () {
- //init date pickers
- $('.date-picker').datepicker({
- rtl: App.isRTL(),
- autoclose: true
- });
-
- $(".datetime-picker").datetimepicker({
- isRTL: App.isRTL(),
- autoclose: true,
- todayBtn: true,
- pickerPosition: (App.isRTL() ? "bottom-right" : "bottom-left"),
- minuteStep: 10
- });
- }
-
- return {
-
- //main function to initiate the module
- init: function () {
- initPickers();
-
- handleInvoices();
- handleCreditMemos();
- handleShipment();
- handleHistory();
- }
-
- };
-
- }();
-
- jQuery(document).ready(function() {
- EcommerceOrdersView.init();
- });