diff options
Diffstat (limited to 'includes/js/dojox/analytics/plugins/idle.js')
-rw-r--r-- | includes/js/dojox/analytics/plugins/idle.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/includes/js/dojox/analytics/plugins/idle.js b/includes/js/dojox/analytics/plugins/idle.js new file mode 100644 index 0000000..d1e71b7 --- /dev/null +++ b/includes/js/dojox/analytics/plugins/idle.js @@ -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); + } + }); + } + })); +})(); + +} |