From 9eadf77f881b8c47d77ccd3626fb7df605784bc1 Mon Sep 17 00:00:00 2001 From: canda Date: Tue, 13 Jan 2015 11:05:14 -0300 Subject: [PATCH] Fix start-time attribute It wasn't working correctly for me and fixed this way --- app/js/timer.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/js/timer.js b/app/js/timer.js index 2df20fa..3438732 100644 --- a/app/js/timer.js +++ b/app/js/timer.js @@ -76,7 +76,9 @@ var timerModule = angular.module('timer', []) }); $scope.start = $element[0].start = function () { - $scope.startTime = $scope.startTimeAttr ? new Date($scope.startTimeAttr) : new Date(); + $scope.startTime = new Date(); + if($scope.startTimeAttr) + $scope.startTime = new Date($scope.startTime.getTime() - $scope.startTimeAttr); $scope.endTime = $scope.endTimeAttr ? new Date($scope.endTimeAttr) : null; if (!$scope.countdown) { $scope.countdown = $scope.countdownattr && parseInt($scope.countdownattr, 10) > 0 ? parseInt($scope.countdownattr, 10) : undefined; @@ -111,7 +113,9 @@ var timerModule = angular.module('timer', []) }; $scope.reset = $element[0].reset = function () { - $scope.startTime = $scope.startTimeAttr ? new Date($scope.startTimeAttr) : new Date(); + $scope.startTime = new Date(); + if($scope.startTimeAttr) + $scope.startTime = new Date($scope.startTime.getTime() - $scope.startTimeAttr); $scope.endTime = $scope.endTimeAttr ? new Date($scope.endTimeAttr) : null; $scope.countdown = $scope.countdownattr && parseInt($scope.countdownattr, 10) > 0 ? parseInt($scope.countdownattr, 10) : undefined; resetTimeout(); @@ -127,7 +131,7 @@ var timerModule = angular.module('timer', []) function calculateTimeUnits() { if ($attrs.startTime !== undefined){ - $scope.millis = new Date() - new Date($scope.startTimeAttr); + $scope.millis = new Date() - $scope.startTime; } // compute time values based on maxTimeUnit specification if (!$scope.maxTimeUnit || $scope.maxTimeUnit === 'day') {