Files
InventoryTracker/InventoryTraker.Web/js/transaction/TransactionController.js
T
2016-08-31 12:08:22 -04:00

75 lines
2.6 KiB
JavaScript

(function() {
'use strict';
window.app.controller('TransactionController', TransactionController);
TransactionController.$inject = ['$scope', '$uibModal', 'transactionSvc', 'uiGridConstants'];
function TransactionController($scope, $uibModal, transactionSvc, uiGridConstants) {
var vm = this;
var paginationOptions = {
pageNumber: 1,
pageSize: 20,
sort: null
};
vm.gridOptions = {
enablePaginationControls: true,
paginationPageSize: paginationOptions.pageSize,
paginationPageSizes: [20,50,100],
useExternalPagination: true,
enableSorting: false,
columnDefs: [
{
field: 'name',
cellTooltip: function(row) {
return row.entity.name + "\r" + row.entity.unitsPerCase + " / " + row.entity.containerType;
},
cellTemplate: '<div class="ui-grid-cell-contents" ' +
'title="{{row.entity.name}}' +
'\r{{row.entity.unitsPerCase}} / {{row.entity.containerType}}' +
'\rExp Date: {{row.entity.expirationDate | date:\'shortDate\'}}' +
'\rAdd Date: {{row.entity.addedDate | date:\'shortDate\'}}">' +
'<a href="" ng-click="vm.edit()"><i class="fa fa-edit"></i></a> ' +
'{{row.entity.name}}</div>'
},
{ field: 'transactionType', name: 'Type', width: "10%" },
{ field: 'memo', cellTooltip: true },
{ field: 'transactionDate', name: 'Transaction Date', cellFilter: "date:'shortDate'", width: "15%" },
{ 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: "15%", enableSorting: false }
],
onRegisterApi: function(gridApi) {
vm.gridApi = gridApi;
//vm.gridApi.core.on.sortChanged($scope,
// function(grid, sortColumns) {
// if (sortColumns.length == 0) {
// paginationOptions.sort = null;
// } else {
// paginationOptions.sort = sortColumns[0].sort.direction;
// }
// getPage();
// });
vm.gridApi.pagination.on.paginationChanged($scope,
function(newPage, pageSize) {
paginationOptions.pageNumber = newPage;
paginationOptions.pageSize = pageSize;
updateData();
});
}
};
var updateData = function () {
transactionSvc
.getTransactions(paginationOptions.pageNumber, paginationOptions.pageSize)
.success(function(data) {
vm.gridOptions.totalItems = data.totalItems;
vm.gridOptions.data = data.transactions;
});
};
updateData();
}
})();