aboutsummaryrefslogtreecommitdiff
path: root/includes/js/dojox/analytics/plugins/idle.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojox/analytics/plugins/idle.js')
-rw-r--r--includes/js/dojox/analytics/plugins/idle.js34
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);
+ }
+ });
+ }
+ }));
+})();
+
+}