egroupware/phpgwapi/js/dynapi/fx/timerx.js

45 lines
1.0 KiB
JavaScript

/*
DynAPI Distribution
TimerX Class by Raymond Irving (http://dyntools.shorturl.com)
The DynAPI Distribution is distributed under the terms of the GNU LGPL license.
requires: Dynlayer
*/
TimerX = {}; // used by dynapi.library
p = DynLayer.prototype;
p.startTimer=function(interval) {
if (this.tickTimer>0) this.stopTimer();
this._timerInterval=interval||5;
this._timerTickCount=0;
this._timerStoped=false;
this._tickTimer=setTimeout(this+'.tickLoop()',this._timerInterval);
};
p.tickLoop=function() {
if (this._timerStoped==true||this._timerStoped==null) return;
this._timerTickCount++;
this.invokeEvent("timer");
this._tickTimer=window.setTimeout(this+'.tickLoop()',this._timerInterval);
};
p.stopTimer=function() {
this._timerStoped=true;
clearTimeout(this._tickTimer);
};
p.setTimerInterval=function(interval) {
this._timerInterval=interval||this._timerInterval;
};
p.getTimerInterval=function() {
return this._timerInterval;
};
p.getTickCount=function() {
return this._timerTickCount;
};
p.resetTickCount=function() {
this._timerTickCount=0;
};