Skip to content

Commit 1f1a6f9

Browse files
aanandbfirsh
authored andcommitted
Fix percentage recalculation when both votes are zero
1 parent 34acff5 commit 1f1a6f9

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

result-app/views/app.js

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,6 @@ var bg1 = document.getElementById('background-stats-1');
55
var bg2 = document.getElementById('background-stats-2');
66

77
app.controller('statsCtrl', function($scope){
8-
var animateStats = function(a,b){
9-
if(a+b>0){
10-
var percentA = a/(a+b)*100;
11-
var percentB = 100-percentA;
12-
bg1.style.width= percentA+"%";
13-
bg2.style.width = percentB+"%";
14-
}
15-
};
16-
178
$scope.aPercent = 50;
189
$scope.bPercent = 50;
1910

@@ -23,15 +14,16 @@ app.controller('statsCtrl', function($scope){
2314
var a = parseInt(data.a || 0);
2415
var b = parseInt(data.b || 0);
2516

26-
animateStats(a, b);
17+
var percentages = getPercentages(a, b);
18+
19+
bg1.style.width = percentages.a + "%";
20+
bg2.style.width = percentages.b + "%";
2721

28-
$scope.$apply(function() {
29-
if(a + b > 0){
30-
$scope.aPercent = a/(a+b) * 100;
31-
$scope.bPercent = b/(a+b) * 100;
32-
$scope.total = a + b
33-
}
34-
});
22+
$scope.$apply(function () {
23+
$scope.aPercent = percentages.a;
24+
$scope.bPercent = percentages.b;
25+
$scope.total = a + b;
26+
});
3527
});
3628
};
3729

@@ -43,3 +35,16 @@ app.controller('statsCtrl', function($scope){
4335
init();
4436
});
4537
});
38+
39+
function getPercentages(a, b) {
40+
var result = {};
41+
42+
if (a + b > 0) {
43+
result.a = Math.round(a / (a + b) * 100);
44+
result.b = 100 - result.a;
45+
} else {
46+
result.a = result.b = 50;
47+
}
48+
49+
return result;
50+
}

0 commit comments

Comments
 (0)