]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/analytics/plugins/idle.js
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / analytics / plugins / idle.js
diff --git a/static/dojo-release-1.1.1/dojox/analytics/plugins/idle.js b/static/dojo-release-1.1.1/dojox/analytics/plugins/idle.js
new file mode 100644 (file)
index 0000000..d1e71b7
--- /dev/null
@@ -0,0 +1,34 @@
+if(!dojo._hasResource["dojox.analytics.plugins.idle"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.idle"] = true;
+dojo.provide("dojox.analytics.plugins.idle");
+
+// window startup data
+dojox.analytics.plugins.idle = new (function(){
+       this.addData = dojo.hitch(dojox.analytics, "addData", "idle");
+       this.idleTime=dojo.config["idleTime"] || 60000;
+       this.idle=true;
+
+       this.setIdle = function(){
+               this.addData("isIdle");
+               this.idle=true;
+
+       }
+       
+       dojo.addOnLoad(dojo.hitch(this, function(){
+               var idleResets=["onmousemove","onkeydown","onclick","onscroll"];
+               for (var i=0;i<idleResets.length;i++){
+                       dojo.connect(dojo.doc,idleResets[i],this, function(e){ 
+                               if (this.idle){
+                                       this.idle=false;
+                                       this.addData("isActive");
+                                       this.idleTimer=setTimeout(dojo.hitch(this,"setIdle"), this.idleTime);
+                               }else{
+                                       clearTimeout(this.idleTimer);
+                                       this.idleTimer=setTimeout(dojo.hitch(this,"setIdle"), this.idleTime);
+                               }
+                       });
+               }
+       }));
+})();
+
+}