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

Auto-reset timer after reaching 12h limit

parent e6e8a043
...@@ -5,6 +5,9 @@ ...@@ -5,6 +5,9 @@
// Свойства, имена которых начинаются с подчеркивания, являются служебными и // Свойства, имена которых начинаются с подчеркивания, являются служебными и
// не должны использоваться как API. // не должны использоваться как API.
// Лимит таймера - 12 часов
var MAX_ALLOWED_VALUE = 60 * 60 * 12;
// Получаем GET-параметр id из адресной строки. // Получаем GET-параметр id из адресной строки.
// Если параметра нет, или он не является числом, то возвращаем undefined. // Если параметра нет, или он не является числом, то возвращаем undefined.
function getIdFromUrl(){ function getIdFromUrl(){
...@@ -20,7 +23,8 @@ function getIdFromUrl(){ ...@@ -20,7 +23,8 @@ function getIdFromUrl(){
// Конструктор таймера // Конструктор таймера
// id - некий уникальный идентификатор, например, номер баги или тикета // id - некий уникальный идентификатор, например, номер баги или тикета
// onUpdate - функция, вызываемая при обновлении таймера. Опциональна. // onUpdate - функция, вызываемая при обновлении таймера. Опциональна.
function Timer(id, onUpdate){ function Timer(id, onUpdate, limit){
this.limit = limit || MAX_ALLOWED_VALUE;
this._storageKey = id; this._storageKey = id;
this.onUpdate = onUpdate; this.onUpdate = onUpdate;
...@@ -167,6 +171,10 @@ Timer.prototype.togglePause = function(){ ...@@ -167,6 +171,10 @@ Timer.prototype.togglePause = function(){
// Вызывает onUpdate, если определена. // Вызывает onUpdate, если определена.
// Используется при автообнолении и при изменении состояния таймера // Используется при автообнолении и при изменении состояния таймера
Timer.prototype.update = function(){ Timer.prototype.update = function(){
if(this.getElapsedSeconds() > this.limit){
this.reset();
return;
}
if(typeof this.onUpdate === 'function'){ if(typeof this.onUpdate === 'function'){
this.onUpdate(); this.onUpdate();
} }
......
...@@ -42,6 +42,6 @@ ...@@ -42,6 +42,6 @@
</div> </div>
</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_common.js?20171013"></script>
<script language="javascript" type="text/javascript" src="js/etersoft/timer.js"></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