# HG changeset patch # User veltr # Date 1330965288 -3600 # Node ID 1dc2f85c3b89fda236182992cc7adf848a57d7e8 # Parent c7ae4f126e5185bada9c533f6c44d94a99d2a8bd BUGFIX: Tooltips are now positioned relative to their parent widget. diff -r c7ae4f126e51 -r 1dc2f85c3b89 src/js/init.js --- a/src/js/init.js Mon Mar 05 10:55:08 2012 +0100 +++ b/src/js/init.js Mon Mar 05 17:34:48 2012 +0100 @@ -225,8 +225,15 @@ var i = 0; for(i = 0; i < widgetConfig.requires.length; i++) { - var widgetName = widgetConfig.requires[i]["type"]; - widget[widgetName] = IriSP.instantiateWidget(popcornInstance, serialFactory, layoutManager, widgetConfig.requires[i], defaultOptions); + var widgetName = widgetConfig.requires[i]["type"], + _configobj = IriSP.jQuery.extend({}, widgetConfig.requires[i]), + _div = document.createElement('div'), + _container = IriSP.guid(arr.container + '_' + widgetName + '_'); + _configobj.container = _container; + _div.id = _container; + widget.selector.append(_div); + console.log(_configobj); + widget[widgetName] = IriSP.instantiateWidget(popcornInstance, serialFactory, layoutManager, _configobj, defaultOptions); } } diff -r c7ae4f126e51 -r 1dc2f85c3b89 src/js/widgets/polemicWidget.js --- a/src/js/widgets/polemicWidget.js Mon Mar 05 10:55:08 2012 +0100 +++ b/src/js/widgets/polemicWidget.js Mon Mar 05 17:34:48 2012 +0100 @@ -320,14 +320,10 @@ e.time = frames[i].mytweetsID[k].timeframe; e.title = frames[i].mytweetsID[k].title; e.id = frames[i].mytweetsID[k].cinecast_id; - var pos = IriSP.jQuery(e.node).offset(); - e.x = pos.left; - e.y = pos.top; this.svgElements[e.id] = e; - IriSP.jQuery(e.node).mouseenter(function(element) { return function (event) { - // event.clientX and event.clientY are to raphael what event.pageX and pageY are to jquery. - self.TooltipWidget.show.call(self.TooltipWidget, element.title, element.attr("fill"), event.pageX - 106, event.pageY - 160); + IriSP.jQuery(e.node).mouseenter(function(element) { return function () { + self.TooltipWidget.show.call(self.TooltipWidget, element.title, element.attr("fill"), element.attrs.x + element.attrs.width / 2, element.attrs.y - 2); element.displayed = true; }}(e)).mousedown(function(element) { return function () { self._Popcorn.currentTime(element.time/1000); diff -r c7ae4f126e51 -r 1dc2f85c3b89 src/js/widgets/segmentsWidget.js --- a/src/js/widgets/segmentsWidget.js Mon Mar 05 10:55:08 2012 +0100 +++ b/src/js/widgets/segmentsWidget.js Mon Mar 05 17:34:48 2012 +0100 @@ -133,16 +133,9 @@ (function(divTitle) { return function(event) { IriSP.jQuery(this).animate({opacity: 0.6}, 5); - var offset = IriSP.jQuery(this).offset(); - var correction = IriSP.jQuery(this).outerWidth() / 2; + var offset_x = IriSP.jQuery(this).position().left + IriSP.jQuery(this).outerWidth() / 2; - var offset_x = offset.left + correction - 106; - if (offset_x < 0) - offset_x = 0; - - var offset_y = offset.top; - - self.TooltipWidget.show(divTitle, color, offset_x, offset_y - 160); + self.TooltipWidget.show(divTitle, color, offset_x, 0); } })(divTitle)).mouseout(function(){ IriSP.jQuery(this).animate({opacity: 0.3}, 5); self.TooltipWidget.hide(); diff -r c7ae4f126e51 -r 1dc2f85c3b89 src/js/widgets/stackGraphWidget.js --- a/src/js/widgets/stackGraphWidget.js Mon Mar 05 10:55:08 2012 +0100 +++ b/src/js/widgets/stackGraphWidget.js Mon Mar 05 17:34:48 2012 +0100 @@ -198,7 +198,7 @@ }; IriSP.StackGraphWidget.prototype.updateTooltip = function(event) { - var _segment = ~~(this.sliceCount * (event.pageX - this.selector.offset().left)/this.width), + var _segment = Math.floor(this.sliceCount * (event.pageX - this.selector.offset().left)/this.width), _valeurs = this.groups[_segment], _width = this.width / this.sliceCount, _html = '