diff options
author | Robin <robin@Amaya.(none)> | 2010-04-04 16:50:04 +0200 |
---|---|---|
committer | Robin <robin@Amaya.(none)> | 2010-04-04 16:50:04 +0200 |
commit | 7657926a602a524cf651e7e2b95a3369261fbde1 (patch) | |
tree | 1462f20e771e417a17421b1f9d2f8b36ca1742d7 /js/lib_timer.js | |
parent | e658a0025895d5aecc2c067234c5120cc21a63a2 (diff) | |
download | nextcloud-server-7657926a602a524cf651e7e2b95a3369261fbde1.tar.gz nextcloud-server-7657926a602a524cf651e7e2b95a3369261fbde1.zip |
some cleanup in ajax fronted, give error message before starting an upload that is to big
Diffstat (limited to 'js/lib_timer.js')
-rwxr-xr-x | js/lib_timer.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/js/lib_timer.js b/js/lib_timer.js new file mode 100755 index 00000000000..aadea90ba27 --- /dev/null +++ b/js/lib_timer.js @@ -0,0 +1,52 @@ +/** + * StarLight - A client side webpage framework + * + * @package StarLight + * @author Icewind <icewind (at) derideal (dot) com> + * @copyright 2009 + * @license http://www.gnu.org/licenses/gpl.html GNU Public License + * @url http://blacklight.metalwarp.com/starlight + * @version 0.1 + */ +OCTimer=function(callback,time,repeat,object){ + this.object=(object)?object:false; + this.repeat=(!(repeat===undefined))?repeat:true; + this.callback=callback; + this.time=time; + this.timer=0; + this.number=OCTimer.count; + OCTimer.count++; + OCTimer.timers[this.number]=this; + if(this.time){ + this.start(); + } +} + +OCTimer.count=0; +OCTimer.timers=Array(); + +OCTimer.prototype={ + start:function(){ + this.running=true; + eval('var func=function(){OCTimer.timers['+this.number+'].run();};'); + if(this.repeat){ + this.timer = setInterval(func, this.time); + }else{ + this.timer = setTimeout(func, this.time); + } + }, + run:function(){ + if (!this.repeat){ + this.stop(); + } + if (this.object){ + this.callback.call(this.object); + }else{ + this.callback.call(); + } + }, + stop:function(){ + clearInterval(this.timer); + this.running=false; + } +}
\ No newline at end of file |