From 1f1a6f97a2e2196f47d918e41e8194612bf489c9 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 9 Jun 2016 11:37:30 +0100 Subject: [PATCH] Fix percentage recalculation when both votes are zero --- result-app/views/app.js | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/result-app/views/app.js b/result-app/views/app.js index 78cd935..8b84cdd 100644 --- a/result-app/views/app.js +++ b/result-app/views/app.js @@ -5,15 +5,6 @@ var bg1 = document.getElementById('background-stats-1'); var bg2 = document.getElementById('background-stats-2'); app.controller('statsCtrl', function($scope){ - var animateStats = function(a,b){ - if(a+b>0){ - var percentA = a/(a+b)*100; - var percentB = 100-percentA; - bg1.style.width= percentA+"%"; - bg2.style.width = percentB+"%"; - } - }; - $scope.aPercent = 50; $scope.bPercent = 50; @@ -23,15 +14,16 @@ app.controller('statsCtrl', function($scope){ var a = parseInt(data.a || 0); var b = parseInt(data.b || 0); - animateStats(a, b); + var percentages = getPercentages(a, b); - $scope.$apply(function() { - if(a + b > 0){ - $scope.aPercent = a/(a+b) * 100; - $scope.bPercent = b/(a+b) * 100; - $scope.total = a + b - } - }); + bg1.style.width = percentages.a + "%"; + bg2.style.width = percentages.b + "%"; + + $scope.$apply(function () { + $scope.aPercent = percentages.a; + $scope.bPercent = percentages.b; + $scope.total = a + b; + }); }); }; @@ -43,3 +35,16 @@ app.controller('statsCtrl', function($scope){ init(); }); }); + +function getPercentages(a, b) { + var result = {}; + + if (a + b > 0) { + result.a = Math.round(a / (a + b) * 100); + result.b = 100 - result.a; + } else { + result.a = result.b = 50; + } + + return result; +} \ No newline at end of file