You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nvd3/nv.d3.min.js

3 lines
31 KiB
JavaScript

/*****
* A no frills tooltip implementation.
*****/(function(a){var b=window.nvtooltip={};b.show=function(b,c,d,e){var f=a('<div class="nvtooltip">');d=d||"s",e=e||20,f.html(c).css({left:-1e3,top:-1e3,opacity:0}).appendTo("body");var g=f.height()+parseInt(f.css("padding-top"))+parseInt(f.css("padding-bottom")),h=f.width()+parseInt(f.css("padding-left"))+parseInt(f.css("padding-right")),i=a(window).width(),j=a(window).height(),k=a("body").scrollTop(),l=a("body").scrollLeft(),m,n;switch(d){case"e":m=b[0]-h-e,n=b[1]-g/2,m<l&&(m=b[0]+e),n<k&&(n=k+5),n+g>k+j&&(n=k-g-5);break;case"w":m=b[0]+e,n=b[1]-g/2,m+h>i&&(m=b[0]-h-e),n<k&&(n=k+5),n+g>k+j&&(n=k-g-5);break;case"n":m=b[0]-h/2,n=b[1]+e,m<l&&(m=l+5),m+h>i&&(m=i-h-5),n+g>k+j&&(n=b[1]-g-e);break;case"s":m=b[0]-h/2,n=b[1]-g-e,m<l&&(m=l+5),m+h>i&&(m=i-h-5),k>n&&(n=b[1]+20)}f.css({left:m,top:n,opacity:1});return f},b.cleanup=function(){var b=a(".nvtooltip");b.css({"transition-delay":"0 !important","-moz-transition-delay":"0 !important","-webkit-transition-delay":"0 !important"}),b.css("opacity",0),setTimeout(function(){b.remove()},500)}})(jQuery),function(){function c(a,b,c){return function(d,e,f){var g=a(d),h=[];g<d&&b(g);if(f>1)while(g<e){var i=new Date(+g);c(i)%f||h.push(i),b(g)}else while(g<e)h.push(new Date(+g)),b(g);return h}}function b(a,b){var c=[31,28,31,30,31,30,31,31,30,31,30,31];if(a!=2)return c[a-1];if(b%4!=0)return c[1];if(b%100==0&&b%400!=0)return c[1];return c[1]+1}var a={version:"0.0.1"};window.nv=a,a.models={},a.graphs=[],a.log={},a.dispatch=d3.dispatch("render_start","render_end"),window.log=function(a){typeof window.console=="object"&&typeof window.console.log=="function"&&console.log.apply(console,arguments);return a},a.dispatch.on("render_start",function(b){a.log.startTime=+(new Date)}),a.dispatch.on("render_end",function(b){a.log.endTime=+(new Date),a.log.totalTime=a.log.endTime-a.log.startTime,log("total",a.log.totalTime)}),a.render=function b(c){var d=c||1;b.active=!0,a.dispatch.render_start(),setTimeout(function(){var c;for(var e=0;e<d&&(graph=b.queue[e]);e++)c=graph.generate(),typeof graph.callback=="function"&&graph.callback(c),a.graphs.push(c);b.queue.splice(0,e),b.queue.length>0?setTimeout(arguments.callee,0):(a.render.active=!1,a.dispatch.render_end())},0)},a.render.queue=[],a.addGraph=function(b){typeof arguments[0]=="function"&&(b={generate:arguments[0],callback:arguments[1]}),a.render.queue.push(b),a.render.active||a.render()},a.strip=function(a){return a.replace(/(\s|&)/g,"")},d3.time.monthEnd=function(a){return new Date(a.getFullYear(),a.getMonth(),0)},d3.time.monthEnds=c(d3.time.monthEnd,function(a){a.setUTCDate(a.getUTCDate()+1),a.setDate(b(a.getMonth()+1,a.getFullYear()))},function(a){return a.getMonth()}),a.models.legend=function(){function f(g){g.each(function(f){var g=d3.select(this).selectAll("g.legend").data([f]),h=g.enter().append("g").attr("class","legend").append("g"),i=g.select("g").attr("transform","translate("+a.left+","+a.top+")"),j=i.selectAll(".series").data(function(a){return a}),k=j.enter().append("g").attr("class","series").on("mouseover",function(a,b){e.legendMouseover(a,b)}).on("mouseout",function(a,b){e.legendMouseout(a,b)}).on("click",function(a,b){e.legendClick(a,b)});k.append("circle").style("fill",function(a,b){return a.color||d[b%20]}).style("stroke",function(a,b){return a.color||d[b%20]}).style("stroke-width",2).attr("r",5),k.append("text").text(function(a){return a.key}).attr("text-anchor","start").attr("dy",".32em").attr("dx","8"),j.classed("disabled",function(a){return a.disabled}),j.exit().remove();var l=5,m=5,n=0,o;j.attr("transform",function(c,d){var e=d3.select(this).select("text").node().getComputedTextLength()+28;o=m,b<a.left+a.right+o+e&&(m=o=5,l+=20),m+=e,m>n&&(n=m);return"translate("+o+","+l+")"}),i.attr("transform","translate("+(b-a.right-n)+","+a.top+")"),c=a.top+a.bottom+l+15});return f}var a={top:5,right:0,bottom:5,left:10},b=400,c=20,d=d3.scale.category10().range(),e=d3.dispatch("legendClick","legendMouseover","legendMouseout");f.dispatch=e,f.margin=function(b){if(!arguments.length)return a;a=b;return f},f.width=function(a){if(!arguments.leng