(function() { "use strict"; window.app.controller("TransactionController", [ "$scope", "$uibModal", "transactionSvc", "inventorySvc", "uiGridConstants", function($scope, $uibModal, transactionSvc, inventorySvc, uiGridConstants) { var vm = this; var paginationOptions = { pageNumber: 1, pageSize: 20, pageSizes: [20, 50, 100], sort: null }; vm.gridOptions = { enablePaginationControls: true, paginationPageSize: paginationOptions.pageSize, paginationPageSizes: paginationOptions.pageSizes, useExternalPagination: true, enableSorting: false, columnDefs: [ { field: "name", cellTooltip: function(row) { return row.entity.name + "\r" + row.entity.unitsPerCase + " / " + row.entity.containerType; }, cellTemplate: '
' + ' ' + "{{row.entity.name}}
", width: "20%" }, { field: "transactionType", name: "Type", width: "10%" }, { field: "destination", cellTooltip: true, width: "10%" }, { field: "memo", cellTooltip: true, width: "15%" }, { field: "transactionDate", name: "Transaction Date", cellFilter: "date:'shortDate'", width: "10%" }, { field: "previousQuantity", name: "Prev Qty", width: "10%", enableSorting: false }, { field: "addedQuantity", name: "Add Qty", width: "10%", enableSorting: false, cellFilter: "hideZero" }, { field: "removedQuantity", name: "Remove Qty", width: "10%", enableSorting: false, cellFilter: "hideZero" }, { field: "currentQuantity", name: "Current Qty", width: "10%", enableSorting: false } ], onRegisterApi: function(gridApi) { vm.gridApi = gridApi; vm.gridApi.pagination .on.paginationChanged($scope, function(pageNumber, pageSize) { paginationOptions.pageNumber = pageNumber; paginationOptions.pageSize = pageSize; updateData(); }); } }; function updateData() { transactionSvc .filterByPage(paginationOptions.pageNumber, paginationOptions.pageSize) .success(function(data) { vm.gridOptions.data = data.transactions; vm.gridOptions.totalItems = data.totalItems; }); } updateData(); $scope.editInventory = function(inventoryId) { inventorySvc.find(inventoryId) .success(function(inventory) { $uibModal.open({ template: '', scope: angular.extend($scope.$new(true), { inventory: inventory }) }) .closed.then(function() { updateData(); }); }); }; } ]); })();