blob: 1b187ccf690078f653f7cff6d807d8ded51e719e [file] [log] [blame]
/*
Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if(!dojo._hasResource["dojox.analytics.plugins.mouseOver"]){
dojo._hasResource["dojox.analytics.plugins.mouseOver"]=true;
dojo.require("dojox.analytics._base");
dojo.provide("dojox.analytics.plugins.mouseOver");
dojox.analytics.plugins.mouseOver=new (function(){
this.watchMouse=dojo.config["watchMouseOver"]||true;
this.mouseSampleDelay=dojo.config["sampleDelay"]||2500;
this.addData=dojo.hitch(dojox.analytics,"addData","mouseOver");
this.targetProps=dojo.config["targetProps"]||["id","className","localName","href","spellcheck","lang","textContent","value"];
this.toggleWatchMouse=function(){
if(this._watchingMouse){
dojo.disconnect(this._watchingMouse);
delete this._watchingMouse;
return;
}
dojo.connect(dojo.doc,"onmousemove",this,"sampleMouse");
};
if(this.watchMouse){
dojo.connect(dojo.doc,"onmouseover",this,"toggleWatchMouse");
dojo.connect(dojo.doc,"onmouseout",this,"toggleWatchMouse");
}
this.sampleMouse=function(e){
if(!this._rateLimited){
this.addData("sample",this.trimMouseEvent(e));
this._rateLimited=true;
setTimeout(dojo.hitch(this,function(){
if(this._rateLimited){
this.trimMouseEvent(this._lastMouseEvent);
delete this._lastMouseEvent;
delete this._rateLimited;
}
}),this.mouseSampleDelay);
}
this._lastMouseEvent=e;
return e;
};
this.trimMouseEvent=function(e){
var t={};
for(var i in e){
switch(i){
case "target":
var _1=this.targetProps;
t[i]={};
for(var j=0;j<_1.length;j++){
if(dojo.isObject(e[i])&&_1[j] in e[i]){
if(_1[j]=="text"||_1[j]=="textContent"){
if(e[i]["localName"]&&(e[i]["localName"]!="HTML")&&(e[i]["localName"]!="BODY")){
t[i][_1[j]]=e[i][_1[j]].substr(0,50);
}
}else{
t[i][_1[j]]=e[i][_1[j]];
}
}
}
break;
case "x":
case "y":
if(e[i]){
var _2=e[i];
t[i]=_2+"";
}
break;
default:
break;
}
}
return t;
};
})();
}