Commit 446c3c09 authored by Дмитрий Никулин's avatar Дмитрий Никулин Committed by Vitaly Lipatov

Auto-reset timer after reaching 12h limit

parent e6e8a043
......@@ -5,6 +5,9 @@
// Свойства, имена которых начинаются с подчеркивания, являются служебными и
// не должны использоваться как API.
// Лимит таймера - 12 часов
var MAX_ALLOWED_VALUE = 60 * 60 * 12;
// Получаем GET-параметр id из адресной строки.
// Если параметра нет, или он не является числом, то возвращаем undefined.
function getIdFromUrl(){
......@@ -20,7 +23,8 @@ function getIdFromUrl(){
// Конструктор таймера
// id - некий уникальный идентификатор, например, номер баги или тикета
// onUpdate - функция, вызываемая при обновлении таймера. Опциональна.
function Timer(id, onUpdate){
function Timer(id, onUpdate, limit){
this.limit = limit || MAX_ALLOWED_VALUE;
this._storageKey = id;
this.onUpdate = onUpdate;
......@@ -167,6 +171,10 @@ Timer.prototype.togglePause = function(){
// Вызывает onUpdate, если определена.
// Используется при автообнолении и при изменении состояния таймера
Timer.prototype.update = function(){
if(this.getElapsedSeconds() > this.limit){
this.reset();
return;
}
if(typeof this.onUpdate === 'function'){
this.onUpdate();
}
......
......@@ -42,6 +42,6 @@
</div>
</div>
<script language="javascript" type="text/javascript" src="js/etersoft/timer_common.js"></script>
<script language="javascript" type="text/javascript" src="js/etersoft/timer.js"></script>
<script language="javascript" type="text/javascript" src="js/etersoft/timer_common.js?20171013"></script>
<script language="javascript" type="text/javascript" src="js/etersoft/timer.js?20161212"></script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment