14 tracer: null, |
14 tracer: null, |
15 extend: false |
15 extend: false |
16 } |
16 } |
17 |
17 |
18 IriSP.Widgets.Trace.prototype.draw = function() { |
18 IriSP.Widgets.Trace.prototype.draw = function() { |
19 this.lastEvent = ""; |
|
20 if (typeof window.tracemanager === "undefined") { |
19 if (typeof window.tracemanager === "undefined") { |
21 console.log("Tracemanager not found"); |
20 console.log("Tracemanager not found"); |
22 return; |
21 return; |
23 } |
22 } |
24 var _this = this, |
23 var _this = this, |
25 _mdplisteners = { |
|
26 "search.open" : 0, |
|
27 "search.closed" : 0, |
|
28 "search" : 0, |
|
29 "search.cleared" : 0, |
|
30 "search.matchFound" : 0, |
|
31 "search.noMatchFound" : 0, |
|
32 "search.triggeredSearch" : 0, |
|
33 "TraceWidget.MouseEvents" : 0 |
|
34 } |
|
35 _medialisteners = { |
24 _medialisteners = { |
36 "play" : 0, |
25 "play" : 0, |
37 "pause" : 0, |
26 "pause" : 0, |
38 "volumechange" : 0, |
27 "volumechange" : 0, |
39 "seeked" : 0, |
28 "seeked" : 0, |
40 "play" : 0, |
29 "play" : 0, |
41 "pause" : 0, |
30 "pause" : 0, |
42 "timeupdate" : 2000 |
31 "timeupdate" : 10000 |
43 }; |
32 }; |
44 IriSP._(_mdplisteners).each(function(_ms, _listener) { |
|
45 var _f = function(_arg) { |
|
46 _this.eventHandler(_listener, _arg); |
|
47 } |
|
48 if (_ms) { |
|
49 _f = IriSP._.throttle(_f, _ms); |
|
50 } |
|
51 _this.onMdpEvent(_listener, _f); |
|
52 }); |
|
53 IriSP._(_medialisteners).each(function(_ms, _listener) { |
33 IriSP._(_medialisteners).each(function(_ms, _listener) { |
54 var _f = function(_arg) { |
34 var _f = function(_arg) { |
55 _this.eventHandler(_listener, _arg); |
35 _this.eventHandler(_listener, _arg); |
56 } |
36 } |
57 if (_ms) { |
37 if (_ms) { |
72 } |
52 } |
73 |
53 |
74 this.tracer.trace("TraceWidgetInit", {}); |
54 this.tracer.trace("TraceWidgetInit", {}); |
75 |
55 |
76 this.mouseLocation = ''; |
56 this.mouseLocation = ''; |
77 IriSP.jQuery(".Ldt-Widget").on("click mouseover mouseout", ".Ldt-TraceMe", function(_e) { |
57 IriSP.jQuery(".Ldt-Widget").on("click mouseenter mouseleave", ".Ldt-TraceMe", function(_e) { |
78 var _target = IriSP.jQuery(this); |
58 var _target = IriSP.jQuery(this); |
79 |
59 |
80 var _widget = IriSP.jQuery(this).attr("widget-type"), |
60 var _widget = _target.attr("widget-type") || _target.parents(".Ldt-Widget").attr("widget-type"), |
81 _data = { |
61 _data = { |
82 "type": _e.type, |
62 "type": _e.type, |
83 "x": _e.clientX, |
63 "x": _e.clientX, |
84 "y": _e.clientY, |
64 "y": _e.clientY, |
85 "widget": _widget |
65 "widget": _widget |
86 }, |
66 }, |
87 _targetEl = _target[0], |
67 _targetEl = _target[0], |
88 _class = _targetEl.className, |
68 _class = _targetEl.className, |
89 _name = _targetEl.localName, |
69 _name = _targetEl.localName, |
90 _id = _targetEl.id, |
70 _id = _targetEl.id, |
91 _value = _targetEl.value, |
71 _value = _target.val(), |
92 _traceInfo = _target.attr("trace-info"), |
72 _traceInfo = _target.attr("trace-info"); |
93 _lastTarget = _name + (_id && _id.length ? '#' + IriSP.jqEscape(_id) : '') + (_class && _class.length ? ('.' + IriSP.jqEscape(_class).replace(/\s/g,'.')).replace(/\.Ldt-(Widget|TraceMe)/g,'') : ''); |
73 _data.target = _name + (_id && _id.length ? '#' + IriSP.jqEscape(_id) : '') + (_class && _class.length ? ('.' + IriSP.jqEscape(_class).replace(/\s/g,'.')).replace(/\.Ldt-(Widget|TraceMe)/g,'') : ''); |
94 _data.target = _lastTarget |
74 if (typeof _traceInfo == "string" && _traceInfo) { |
95 if (typeof _traceInfo == "string" && _traceInfo.length) { |
|
96 _data.traceInfo = _traceInfo; |
75 _data.traceInfo = _traceInfo; |
97 _lastTarget += ( ";" + _traceInfo ); |
|
98 } |
76 } |
99 if (typeof _value == "string" && _value.length) { |
77 if (typeof _value == "string" && _value.length) { |
100 _data.value = _value; |
78 _data.value = _value; |
101 } |
79 } |
102 switch(_e.type) { |
80 _this.eventHandler('UIEvent', _data); |
103 case "mouseover": |
|
104 if (_this.lastTarget != _lastTarget) { |
|
105 _this.player.trigger('TraceWidget.MouseEvents', _data); |
|
106 } else { |
|
107 if (typeof _this.moTimeout != "undefined") { |
|
108 clearTimeout(_this.moTimeout); |
|
109 _this.moTimeout = undefined; |
|
110 } |
|
111 } |
|
112 break; |
|
113 case "mouseout": |
|
114 if (typeof _this.moTimeout != "undefined") { |
|
115 clearTimeout(_this.moTimeout); |
|
116 } |
|
117 _this.moTimeout = setTimeout(function() { |
|
118 if (_lastTarget != _this.lastTarget) { |
|
119 _this.player.trigger('TraceWidget.MouseEvents', _data); |
|
120 } |
|
121 },100); |
|
122 break; |
|
123 default: |
|
124 _this.player.trigger('TraceWidget.MouseEvents', _data); |
|
125 } |
|
126 _this.lastTarget = _lastTarget; |
|
127 }); |
81 }); |
128 } |
82 } |
129 |
83 |
130 IriSP.Widgets.Trace.prototype.eventHandler = function(_listener, _arg) { |
84 IriSP.Widgets.Trace.prototype.eventHandler = function(_listener, _arg) { |
131 var _traceName = 'Mdp_'; |
85 var _traceName = 'Mdp_'; |
150 _traceName += 'media_' + _listener; |
104 _traceName += 'media_' + _listener; |
151 break; |
105 break; |
152 default: |
106 default: |
153 _traceName += _listener.replace('.','_'); |
107 _traceName += _listener.replace('.','_'); |
154 } |
108 } |
155 this.lastEvent = _traceName; |
|
156 if (typeof this.extend === "object" && this.extend) { |
109 if (typeof this.extend === "object" && this.extend) { |
157 IriSP._(_arg).extend(this.extend); |
110 IriSP._(_arg).extend(this.extend); |
158 } |
111 } |
159 this.tracer.trace(_traceName, _arg); |
112 this.tracer.trace(_traceName, _arg); |
160 if (this.js_console && typeof window.console !== "undefined" && typeof console.log !== "undefined") { |
113 if (this.js_console && typeof window.console !== "undefined" && typeof console.log !== "undefined") { |