diff options
Diffstat (limited to 'includes/js/dojox/timing/_base.js')
-rw-r--r-- | includes/js/dojox/timing/_base.js | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/includes/js/dojox/timing/_base.js b/includes/js/dojox/timing/_base.js new file mode 100644 index 0000000..4dabebd --- /dev/null +++ b/includes/js/dojox/timing/_base.js @@ -0,0 +1,58 @@ +if(!dojo._hasResource["dojox.timing._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. +dojo._hasResource["dojox.timing._base"] = true; +dojo.provide("dojox.timing._base"); +dojo.experimental("dojox.timing"); + +dojox.timing.Timer = function(/*int*/ interval){ + // summary: Timer object executes an "onTick()" method repeatedly at a specified interval. + // repeatedly at a given interval. + // interval: Interval between function calls, in milliseconds. + this.timer = null; + this.isRunning = false; + this.interval = interval; + + this.onStart = null; + this.onStop = null; +}; + +dojo.extend(dojox.timing.Timer, { + onTick : function(){ + // summary: Method called every time the interval passes. Override to do something useful. + }, + + setInterval : function(interval){ + // summary: Reset the interval of a timer, whether running or not. + // interval: New interval, in milliseconds. + if (this.isRunning){ + window.clearInterval(this.timer); + } + this.interval = interval; + if (this.isRunning){ + this.timer = window.setInterval(dojo.hitch(this, "onTick"), this.interval); + } + }, + + start : function(){ + // summary: Start the timer ticking. + // description: Calls the "onStart()" handler, if defined. + // Note that the onTick() function is not called right away, + // only after first interval passes. + if (typeof this.onStart == "function"){ + this.onStart(); + } + this.isRunning = true; + this.timer = window.setInterval(dojo.hitch(this, "onTick"), this.interval); + }, + + stop : function(){ + // summary: Stop the timer. + // description: Calls the "onStop()" handler, if defined. + if (typeof this.onStop == "function"){ + this.onStop(); + } + this.isRunning = false; + window.clearInterval(this.timer); + } +}); + +} |