diff -r 6fd82508e33f -r d50aeed9a54b web/res/metadataplayer/Trace.js --- a/web/res/metadataplayer/Trace.js Tue Dec 18 17:16:26 2012 +0100 +++ b/web/res/metadataplayer/Trace.js Wed Dec 19 16:52:21 2012 +0100 @@ -16,22 +16,11 @@ } IriSP.Widgets.Trace.prototype.draw = function() { - this.lastEvent = ""; if (typeof window.tracemanager === "undefined") { console.log("Tracemanager not found"); return; } var _this = this, - _mdplisteners = { - "search.open" : 0, - "search.closed" : 0, - "search" : 0, - "search.cleared" : 0, - "search.matchFound" : 0, - "search.noMatchFound" : 0, - "search.triggeredSearch" : 0, - "TraceWidget.MouseEvents" : 0 - } _medialisteners = { "play" : 0, "pause" : 0, @@ -39,17 +28,8 @@ "seeked" : 0, "play" : 0, "pause" : 0, - "timeupdate" : 2000 + "timeupdate" : 10000 }; - IriSP._(_mdplisteners).each(function(_ms, _listener) { - var _f = function(_arg) { - _this.eventHandler(_listener, _arg); - } - if (_ms) { - _f = IriSP._.throttle(_f, _ms); - } - _this.onMdpEvent(_listener, _f); - }); IriSP._(_medialisteners).each(function(_ms, _listener) { var _f = function(_arg) { _this.eventHandler(_listener, _arg); @@ -74,10 +54,10 @@ this.tracer.trace("TraceWidgetInit", {}); this.mouseLocation = ''; - IriSP.jQuery(".Ldt-Widget").on("click mouseover mouseout", ".Ldt-TraceMe", function(_e) { + IriSP.jQuery(".Ldt-Widget").on("click mouseenter mouseleave", ".Ldt-TraceMe", function(_e) { var _target = IriSP.jQuery(this); - var _widget = IriSP.jQuery(this).attr("widget-type"), + var _widget = _target.attr("widget-type") || _target.parents(".Ldt-Widget").attr("widget-type"), _data = { "type": _e.type, "x": _e.clientX, @@ -88,42 +68,16 @@ _class = _targetEl.className, _name = _targetEl.localName, _id = _targetEl.id, - _value = _targetEl.value, - _traceInfo = _target.attr("trace-info"), - _lastTarget = _name + (_id && _id.length ? '#' + IriSP.jqEscape(_id) : '') + (_class && _class.length ? ('.' + IriSP.jqEscape(_class).replace(/\s/g,'.')).replace(/\.Ldt-(Widget|TraceMe)/g,'') : ''); - _data.target = _lastTarget - if (typeof _traceInfo == "string" && _traceInfo.length) { + _value = _target.val(), + _traceInfo = _target.attr("trace-info"); + _data.target = _name + (_id && _id.length ? '#' + IriSP.jqEscape(_id) : '') + (_class && _class.length ? ('.' + IriSP.jqEscape(_class).replace(/\s/g,'.')).replace(/\.Ldt-(Widget|TraceMe)/g,'') : ''); + if (typeof _traceInfo == "string" && _traceInfo) { _data.traceInfo = _traceInfo; - _lastTarget += ( ";" + _traceInfo ); } if (typeof _value == "string" && _value.length) { _data.value = _value; } - switch(_e.type) { - case "mouseover": - if (_this.lastTarget != _lastTarget) { - _this.player.trigger('TraceWidget.MouseEvents', _data); - } else { - if (typeof _this.moTimeout != "undefined") { - clearTimeout(_this.moTimeout); - _this.moTimeout = undefined; - } - } - break; - case "mouseout": - if (typeof _this.moTimeout != "undefined") { - clearTimeout(_this.moTimeout); - } - _this.moTimeout = setTimeout(function() { - if (_lastTarget != _this.lastTarget) { - _this.player.trigger('TraceWidget.MouseEvents', _data); - } - },100); - break; - default: - _this.player.trigger('TraceWidget.MouseEvents', _data); - } - _this.lastTarget = _lastTarget; + _this.eventHandler('UIEvent', _data); }); } @@ -136,7 +90,7 @@ _arg = {} } switch(_listener) { - case 'IriSP.TraceWidget.MouseEvents': + case 'UIEvent': _traceName += _arg.widget + '_' + _arg.type; delete _arg.widget; delete _arg.type; @@ -152,7 +106,6 @@ default: _traceName += _listener.replace('.','_'); } - this.lastEvent = _traceName; if (typeof this.extend === "object" && this.extend) { IriSP._(_arg).extend(this.extend); } @@ -160,4 +113,4 @@ if (this.js_console && typeof window.console !== "undefined" && typeof console.log !== "undefined") { console.log("tracer.trace('" + _traceName + "', " + JSON.stringify(_arg) + ");"); } -} +} \ No newline at end of file