|
var app = angular.module('PomodoroClock',[]); |
|
|
|
app.controller('MainController', function($scope,$interval){ |
|
var go = true; |
|
var breaker = false; |
|
var digits = 60; |
|
$scope.break = 5; |
|
$scope.work = 25; |
|
$scope.message = "Work"; |
|
var primes = $scope.work - 1; |
|
$scope.session = $scope.work; |
|
$scope.breakPlus = function() { |
|
$scope.break++; |
|
} |
|
$scope.breakMinus = function() { |
|
if ($scope.break>1) { |
|
$scope.break--; |
|
} |
|
} |
|
$scope.workPlus = function() { |
|
$scope.work++; |
|
primes = $scope.work - 1; |
|
digits = 60; |
|
$scope.session = $scope.work; |
|
} |
|
$scope.workMinus = function() { |
|
if ($scope.work > 1) { |
|
$scope.work--; |
|
primes = $scope.work - 1; |
|
digits = 60; |
|
$scope.session = $scope.work; |
|
} |
|
} |
|
|
|
var timer; |
|
var breakTimer; |
|
$scope.startStop = function() { |
|
if (!breaker) { |
|
document.getElementById("sessionPlus").disabled = false; |
|
document.getElementById("sessionMinus").disabled = false; |
|
} |
|
document.getElementById("breakPlus").disabled = false; |
|
document.getElementById("breakMinus").disabled = false; |
|
if (go) { |
|
go = false; |
|
if (breaker) { |
|
breakTimer = setTimeout(startBreakTimer,1000); |
|
breaker = false; |
|
} else { |
|
timer = setTimeout(startTimer,1000); |
|
} |
|
} else { |
|
go = true; |
|
clearTimeout(timer); |
|
clearTimeout(breakTimer); |
|
} |
|
}; |
|
|
|
function startTimer(){ |
|
breaker = false; |
|
if (primes >= 0) { |
|
subtractDate(); |
|
if (primes == 0 && digits == 0) { |
|
$scope.message = "Break"; |
|
$scope.$apply(); |
|
var audio = new Audio('http://www.oringz.com/oringz-uploads/sounds-729-i-demand-attention.mp3'); |
|
audio.play(); |
|
primes = $scope.break - 1; |
|
digits = 60; |
|
breakTimer = setTimeout(startBreakTimer,1000); |
|
} else { |
|
$scope.session = formatDate(primes); |
|
$scope.$apply(); |
|
console.log($scope.session); |
|
timer = setTimeout(startTimer,1000); |
|
}; |
|
}; |
|
}; |
|
|
|
function startBreakTimer() { |
|
breaker = true; |
|
if (primes >= 0) { |
|
subtractDate(); |
|
if (primes == 0 && digits == 0) { |
|
$scope.message = "Work"; |
|
$scope.$apply(); |
|
var audio = new Audio('http://www.oringz.com/oringz-uploads/sounds-729-i-demand-attention.mp3'); |
|
audio.play(); |
|
primes = $scope.work - 1; |
|
digits = 60; |
|
timer = setTimeout(startTimer, 1000); |
|
} else { |
|
$scope.session = formatDate(primes); |
|
$scope.$apply(); |
|
console.log($scope.break); |
|
breakTimer = setTimeout(startBreakTimer,1000); |
|
}; |
|
}; |
|
}; |
|
|
|
function subtractDate(someFunction){ |
|
document.getElementById("breakPlus").disabled = true; |
|
document.getElementById("breakMinus").disabled = true; |
|
document.getElementById("sessionPlus").disabled = true; |
|
document.getElementById("sessionMinus").disabled = true; |
|
if (digits > 0){ |
|
digits -= 1; |
|
$scope.session = formatDate(primes); |
|
$scope.$apply(); |
|
} else { |
|
primes -= 1; |
|
digits = 59; |
|
$scope.session = formatDate(primes); |
|
$scope.$apply(); |
|
}; |
|
}; |
|
|
|
|
|
|
|
function formatDate(value){ |
|
if (digits > 0) { |
|
if (digits < 10) { |
|
return value.toString() + ":0" + digits.toString(); |
|
} else { |
|
return value.toString() + ":" + digits.toString(); |
|
} |
|
} else { |
|
return value.toString() + ":00"; |
|
} |
|
}; |
|
|
|
}); |
|
|
|
|