From 3dd9e84de7c306dd6c543bd4e69432ff3935cbb4 Mon Sep 17 00:00:00 2001 From: brantje Date: Sat, 18 Feb 2017 00:14:51 +0100 Subject: Fix credential counting (Fixes #253) --- js/app/directives/credentialcounter.js | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'js/app/directives') diff --git a/js/app/directives/credentialcounter.js b/js/app/directives/credentialcounter.js index 1ecb9e94..3a7a0169 100644 --- a/js/app/directives/credentialcounter.js +++ b/js/app/directives/credentialcounter.js @@ -35,7 +35,7 @@ replace: false, restrict: 'A', scope: { - credentials: '=credentialCounter', + filteredCredentials: '=credentialCounter', deleteTime: '=', vault: '=', filters: '=' @@ -45,16 +45,24 @@ function countCredentials() { var countedCredentials = 0; var total = 0; - angular.forEach(scope.credentials, function (credential) { - total = (credential.hidden !== 1) ? total + 1 : total; - if(credential.delete_time >= scope.deleteTime && credential.hidden === 0){ - countedCredentials = countedCredentials+1; + angular.forEach(scope.vault.credentials, function (credential) { + var pos = scope.filteredCredentials.map(function(c) { return c.guid; }).indexOf(credential.guid); + + if (scope.deleteTime === 0 && credential.hidden === 0 && credential.delete_time === 0) { + total = total + 1; + countedCredentials = (pos !== -1) ? countedCredentials + 1 : countedCredentials; + } + + if (scope.deleteTime > 0 && credential.hidden === 0 && credential.delete_time > 0) { + total = total + 1; + countedCredentials = (pos !== -1) ? countedCredentials + 1 : countedCredentials; } + }); scope.counter = countedCredentials; scope.total = total; } - scope.$watch('[credentials, deleteTime, filters]', function () { + scope.$watch('[filteredCredentials, deleteTime, filters]', function () { countCredentials(); }, true); } -- cgit v1.2.3