diff --git a/index.html b/index.html index e62cab0c0..11a7c7966 100644 --- a/index.html +++ b/index.html @@ -388,7 +388,7 @@
  • -
    +
    @@ -477,6 +477,7 @@
    +

    Last transactions

    diff --git a/js/controllers/transactions.js b/js/controllers/transactions.js index 2094c2d4c..b97659d89 100644 --- a/js/controllers/transactions.js +++ b/js/controllers/transactions.js @@ -8,9 +8,17 @@ angular.module('copay.transactions').controller('TransactionsController', $scope.onlyPending = true; $scope.lastShowed = false; + $scope.txpCurrentPage = 1; + $scope.txpItemsPerPage = 4; + $scope.update = function () { $scope.loading = false; - controllerUtils.updateTxs({onlyPending:$scope.onlyPending}); + var from = ($scope.txpCurrentPage-1) * $scope.txpItemsPerPage; + var opts = { + onlyPending: $scope.onlyPending, + skip: !$scope.onlyPending ? [from, from + $scope.txpItemsPerPage] : null + }; + controllerUtils.updateTxs(opts); $rootScope.$digest(); }; diff --git a/js/filters.js b/js/filters.js index e726e280b..5c685f61c 100644 --- a/js/filters.js +++ b/js/filters.js @@ -19,4 +19,9 @@ angular.module('copay.filters', []) return { addr: key, value: dic[key] }; }); }; - }); \ No newline at end of file + }) + .filter('paged', function() { + return function(elements) { + return elements.filter(Boolean); + }; + }); diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index d0298f0d7..f9a1bbc67 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -132,11 +132,15 @@ angular.module('copay.controllerUtils') console.log('## updating tx proposals', opts); //TODO var myCopayerId = w.getMyCopayerId(); var pendingForUs = 0; - var inT = w.getTxProposals(); + var inT = w.getTxProposals().sort(function(t1, t2) { return t1.createdTs < t2.createdTs }); var txs = []; console.log('[START LOOP]'); //TODO - inT.forEach(function(i){ + inT.forEach(function(i, index){ + if (opts.skip && (index < opts.skip[0] || index >= opts.skip[1])) { + return txs.push(null); + } + if (myCopayerId != i.creator && !i.finallyRejected && !i.sentTs && !i.rejectedByUs && !i.signedByUs) { pendingForUs++; }