summaryrefslogtreecommitdiff
path: root/js/dojo/dojox/analytics/plugins/mouseClick.js
blob: 915a3a4dddc96142105e03706e6be6839aa8efc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//>>built
define("dojox/analytics/plugins/mouseClick", ["dojo/_base/lang","../_base", "dojo/_base/window", "dojo/on"
], function(lang, dxa, window, on){
	/*=====
		dxa = dojox.analytics;
		on = dojo.on;
	=====*/	

	// window startup data
	return (dxa.plugins.mouseClick = new (function(){
		this.addData = lang.hitch(dxa, "addData", "mouseClick");

		this.onClick=function(e){
			this.addData(this.trimEvent(e));
		}
		on(window.doc, "click", lang.hitch(this, "onClick"));

		this.trimEvent=function(e){
			var t = {};
			for (var i in e){
				switch(i){
					case "target":
					case "originalTarget":
					case "explicitOriginalTarget":
						var props=["id","className","nodeName", "localName","href", "spellcheck", "lang"];
						t[i]={};
						for(var j=0;j<props.length;j++){
							if(e[i][props[j]]){
								if (props[j]=="text" || props[j]=="textContent"){
									if ((e[i]["localName"]!="HTML")&&(e[i]["localName"]!="BODY")){
										t[i][props[j]]=e[i][props[j]].substr(0,50);
									}
								}else{
									t[i][props[j]]=e[i][props[j]];
								}
							}
						}
						break;
					case "clientX":
					case "clientY":
					case "pageX":
					case "pageY":
					case "screenX":
					case "screenY":
						t[i]=e[i];
						break;
				}
			}
			return t;
		}
	})());
});