src/widgets/Trace.js
changeset 986 f9d51dd4a3fe
parent 960 9a278b9e3b05
child 990 6a90c96f0b4c
--- a/src/widgets/Trace.js	Fri Nov 30 10:49:26 2012 +0100
+++ b/src/widgets/Trace.js	Wed Dec 19 19:02:52 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