olap/tpldata/jqplot.highlighter.min.js

1 line
7.0 KiB
JavaScript

(function(d){d.jqplot.eventListenerHooks.push(["jqplotMouseMove",g]);d.jqplot.Highlighter=function(h){this.show=d.jqplot.config.enablePlugins;this.markerRenderer=new d.jqplot.MarkerRenderer({shadow:false});this.showMarker=true;this.lineWidthAdjust=2.5;this.sizeAdjust=5;this.showTooltip=true;this.tooltipLocation="nw";this.fadeTooltip=true;this.tooltipFadeSpeed="fast";this.tooltipOffset=2;this.tooltipAxes="both";this.tooltipSeparator=", ";this.tooltipContentEditor=null;this.useAxesFormatters=true;this.tooltipFormatString="%.5P";this.formatString=null;this.yvalues=1;this.bringSeriesToFront=false;this._tooltipElem;this.isHighlighting=false;this.currentNeighbor=null;d.extend(true,this,h)};var c=["nw","n","ne","e","se","s","sw","w"];var f={nw:0,n:1,ne:2,e:3,se:4,s:5,sw:6,w:7};var b=["se","s","sw","w","nw","n","ne","e"];d.jqplot.Highlighter.init=function(k,j,i){var h=i||{};this.plugins.highlighter=new d.jqplot.Highlighter(h.highlighter)};d.jqplot.Highlighter.parseOptions=function(i,h){this.showHighlight=true};d.jqplot.Highlighter.postPlotDraw=function(){if(this.plugins.highlighter&&this.plugins.highlighter.highlightCanvas){this.plugins.highlighter.highlightCanvas.resetCanvas();this.plugins.highlighter.highlightCanvas=null}if(this.plugins.highlighter&&this.plugins.highlighter._tooltipElem){this.plugins.highlighter._tooltipElem.emptyForce();this.plugins.highlighter._tooltipElem=null}this.plugins.highlighter.highlightCanvas=new d.jqplot.GenericCanvas();this.eventCanvas._elem.before(this.plugins.highlighter.highlightCanvas.createElement(this._gridPadding,"jqplot-highlight-canvas",this._plotDimensions,this));this.plugins.highlighter.highlightCanvas.setContext();var h=document.createElement("div");this.plugins.highlighter._tooltipElem=d(h);h=null;this.plugins.highlighter._tooltipElem.addClass("jqplot-highlighter-tooltip");this.plugins.highlighter._tooltipElem.css({position:"absolute",display:"none"});this.eventCanvas._elem.before(this.plugins.highlighter._tooltipElem)};d.jqplot.preInitHooks.push(d.jqplot.Highlighter.init);d.jqplot.preParseSeriesOptionsHooks.push(d.jqplot.Highlighter.parseOptions);d.jqplot.postDrawHooks.push(d.jqplot.Highlighter.postPlotDraw);function a(n,o){var h=n.plugins.highlighter;var p=n.series[o.seriesIndex];var k=p.markerRenderer;var i=h.markerRenderer;i.style=k.style;i.lineWidth=k.lineWidth+h.lineWidthAdjust;i.size=k.size+h.sizeAdjust;var m=d.jqplot.getColorComponents(k.color);var j=[m[0],m[1],m[2]];var l=(m[3]>=0.6)?m[3]*0.6:m[3]*(2-m[3]);i.color="rgba("+j[0]+","+j[1]+","+j[2]+","+l+")";i.init();i.draw(p.gridData[o.pointIndex][0],p.gridData[o.pointIndex][1],h.highlightCanvas._ctx)}function e(A,l,n){var k=A.plugins.highlighter;var D=k._tooltipElem;var r=l.highlighter||{};var s=d.extend(true,{},k,r);if(s.useAxesFormatters){var z=l._xaxis._ticks[0].formatter;var h=l._yaxis._ticks[0].formatter;var E=l._xaxis._ticks[0].formatString;var t=l._yaxis._ticks[0].formatString;var w;var u=z(E,n.data[0]);var m=[];for(var B=1;B<s.yvalues+1;B++){m.push(h(t,n.data[B]))}if(typeof s.formatString==="string"){switch(s.tooltipAxes){case"both":case"xy":m.unshift(u);m.unshift(s.formatString);w=d.jqplot.sprintf.apply(d.jqplot.sprintf,m);break;case"yx":m.push(u);m.unshift(s.formatString);w=d.jqplot.sprintf.apply(d.jqplot.sprintf,m);break;case"x":w=d.jqplot.sprintf.apply(d.jqplot.sprintf,[s.formatString,u]);break;case"y":m.unshift(s.formatString);w=d.jqplot.sprintf.apply(d.jqplot.sprintf,m);break;default:m.unshift(u);m.unshift(s.formatString);w=d.jqplot.sprintf.apply(d.jqplot.sprintf,m);break}}else{switch(s.tooltipAxes){case"both":case"xy":w=u;for(var B=0;B<m.length;B++){w+=s.tooltipSeparator+m[B]}break;case"yx":w="";for(var B=0;B<m.length;B++){w+=m[B]+s.tooltipSeparator}w+=u;break;case"x":w=u;break;case"y":w=m.join(s.tooltipSeparator);break;default:w=u;for(var B=0;B<m.length;B++){w+=s.tooltipSeparator+m[B]}break}}}else{var w;if(typeof s.formatString==="string"){w=d.jqplot.sprintf.apply(d.jqplot.sprintf,[s.formatString].concat(n.data))}else{if(s.tooltipAxes=="both"||s.tooltipAxes=="xy"){w=d.jqplot.sprintf(s.tooltipFormatString,n.data[0])+s.tooltipSeparator+d.jqplot.sprintf(s.tooltipFormatString,n.data[1])}else{if(s.tooltipAxes=="yx"){w=d.jqplot.sprintf(s.tooltipFormatString,n.data[1])+s.tooltipSeparator+d.jqplot.sprintf(s.tooltipFormatString,n.data[0])}else{if(s.tooltipAxes=="x"){w=d.jqplot.sprintf(s.tooltipFormatString,n.data[0])}else{if(s.tooltipAxes=="y"){w=d.jqplot.sprintf(s.tooltipFormatString,n.data[1])}}}}}}if(d.isFunction(s.tooltipContentEditor)){w=s.tooltipContentEditor(w,n.seriesIndex,n.pointIndex,A)}D.html(w);var C={x:n.gridData[0],y:n.gridData[1]};var v=0;var j=0.707;if(l.markerRenderer.show==true){v=(l.markerRenderer.size+s.sizeAdjust)/2}var p=c;if(l.fillToZero&&l.fill&&n.data[1]<0){p=b}switch(p[f[s.tooltipLocation]]){case"nw":var q=C.x+A._gridPadding.left-D.outerWidth(true)-s.tooltipOffset-j*v;var o=C.y+A._gridPadding.top-s.tooltipOffset-D.outerHeight(true)-j*v;break;case"n":var q=C.x+A._gridPadding.left-D.outerWidth(true)/2;var o=C.y+A._gridPadding.top-s.tooltipOffset-D.outerHeight(true)-v;break;case"ne":var q=C.x+A._gridPadding.left+s.tooltipOffset+j*v;var o=C.y+A._gridPadding.top-s.tooltipOffset-D.outerHeight(true)-j*v;break;case"e":var q=C.x+A._gridPadding.left+s.tooltipOffset+v;var o=C.y+A._gridPadding.top-D.outerHeight(true)/2;break;case"se":var q=C.x+A._gridPadding.left+s.tooltipOffset+j*v;var o=C.y+A._gridPadding.top+s.tooltipOffset+j*v;break;case"s":var q=C.x+A._gridPadding.left-D.outerWidth(true)/2;var o=C.y+A._gridPadding.top+s.tooltipOffset+v;break;case"sw":var q=C.x+A._gridPadding.left-D.outerWidth(true)-s.tooltipOffset-j*v;var o=C.y+A._gridPadding.top+s.tooltipOffset+j*v;break;case"w":var q=C.x+A._gridPadding.left-D.outerWidth(true)-s.tooltipOffset-v;var o=C.y+A._gridPadding.top-D.outerHeight(true)/2;break;default:var q=C.x+A._gridPadding.left-D.outerWidth(true)-s.tooltipOffset-j*v;var o=C.y+A._gridPadding.top-s.tooltipOffset-D.outerHeight(true)-j*v;break}D.css("left",q);D.css("top",o);if(s.fadeTooltip){D.stop(true,true).fadeIn(s.tooltipFadeSpeed)}else{D.show()}D=null}function g(k,j,n,m,l){var h=l.plugins.highlighter;var o=l.plugins.cursor;if(h.show){if(m==null&&h.isHighlighting){var i=h.highlightCanvas._ctx;i.clearRect(0,0,i.canvas.width,i.canvas.height);if(h.fadeTooltip){h._tooltipElem.fadeOut(h.tooltipFadeSpeed)}else{h._tooltipElem.hide()}if(h.bringSeriesToFront){l.restorePreviousSeriesOrder()}h.isHighlighting=false;h.currentNeighbor=null;i=null}else{if(m!=null&&l.series[m.seriesIndex].showHighlight&&!h.isHighlighting){h.isHighlighting=true;h.currentNeighbor=m;if(h.showMarker){a(l,m)}if(h.showTooltip&&(!o||!o._zoom.started)){e(l,l.series[m.seriesIndex],m)}if(h.bringSeriesToFront){l.moveSeriesToFront(m.seriesIndex)}}else{if(m!=null&&h.isHighlighting&&h.currentNeighbor!=m){if(l.series[m.seriesIndex].showHighlight){var i=h.highlightCanvas._ctx;i.clearRect(0,0,i.canvas.width,i.canvas.height);h.isHighlighting=true;h.currentNeighbor=m;if(h.showMarker){a(l,m)}if(h.showTooltip&&(!o||!o._zoom.started)){e(l,l.series[m.seriesIndex],m)}if(h.bringSeriesToFront){l.moveSeriesToFront(m.seriesIndex)}}}}}}}})(jQuery);