Browse Source

Fix resize bug

pull/1/head
Masayuki Tanaka 11 years ago
parent
commit
5a0eb77f87
  1. 12
      c3.js
  2. 38
      c3.min.js

12
c3.js

@ -1246,10 +1246,6 @@
var withY, withSubchart, withTransition, withUpdateXDomain;
var duration;
// Hide tooltip and grid
main.select('line.xgrid-focus').style("visibility", "hidden");
tooltip.style("visibility", "hidden");
options = isDefined(options) ? options : {};
withY = isDefined(options.withY) ? options.withY : true;
withSubchart = isDefined(options.withSubchart) ? options.withSubchart : true;
@ -1274,7 +1270,13 @@
subY.domain(y.domain());
subY2.domain(y2.domain());
// tooltip
tooltip.style("visibility", "hidden");
// grid
main.select('line.xgrid-focus')
.style("visibility", "hidden")
.attr('y2', height);
if (__grid_x_show) {
if (__grid_x_type === 'year') {
xgridData = [];
@ -1477,7 +1479,7 @@
d3.select('svg').attr('width', currentWidth).attr('height', currentHeight);
d3.select('#'+clipId).select('rect').attr('width', width).attr('height', height);
d3.select('#xaxis-clip').select('rect').attr('width', width + 2);
d3.select('.zoom-rect').attr('width', width);
d3.select('.zoom-rect').attr('width', width).attr('height', height);
// Update main positions
main.select('.x.axis').attr("transform", translate.x);
main.select('.y2.axis').attr("transform", translate.y2);

38
c3.min.js vendored

@ -3,7 +3,7 @@
K(0))/2;q=b?0:R;switch(v){case "bottom":B=l;la.attr("y2",C);va.attr("y",Math.max(C,0)+H);ua.attr("x1",q).attr("x2",q).attr("y2",C);wa.attr("x",0).attr("y",Math.max(C,0)+H);ba.attr("dy",".71em").style("text-anchor","middle");ba.text(function(b){return z.length<N||0==b%Math.ceil(z.length/N)?b<L.length?L[b]:b:""});h.attr("d","M"+S[0]+","+T+"V0H"+S[1]+"V"+T);break;case "left":B=s,la.attr("x2",-C),va.attr("x",-(Math.max(C,0)+H)),ua.attr("x2",-C).attr("y2",0),wa.attr("x",-(Math.max(C,0)+H)).attr("y",R),
ba.attr("dy",".32em").style("text-anchor","end"),ba.text(function(b){return z.length<N||0==b%Math.ceil(z.length/N)?b<L.length?L[b]:b:""}),h.attr("d","M"+-T+","+S[0]+"H0V"+S[1]+"H"+-T)}if(G.ticks)A.call(B,bb),ka.call(B,K),ja.call(B,K);else{var ca=K.rangeBand()/2,ja=function(b){return K(b)+ca};A.call(B,ja);ka.call(B,ja)}})}var G=d3.scale.linear(),v="bottom",C=6,T=6,H=3,b=!1,N=10,R=0,L=[];q.scale=function(b){if(!arguments.length)return G;G=b;return q};q.orient=function(b){if(!arguments.length)return v;
v=b in{top:1,right:1,bottom:1,left:1}?b+"":"bottom";return q};q.categories=function(b){if(!arguments.length)return L;L=b;return q};q.tickCentered=function(l){if(!arguments.length)return b;b=l;return q};q.tickTextNum=function(b){if(!arguments.length)return N;N=b;return q};q.tickOffset=function(){return R};q.ticks=function(){};return q}function s(l){return"undefined"===typeof l}function l(l){return"undefined"!==typeof l}xb.c3={};c3.generate=function(Q){var yb,Oa,ta,q,G,v,C,T,H;function b(a,c){for(var d=
Q,m=0;m<a.length;m++){if(!(a[m]in d))return c;d=d[a[m]]}return d}function N(){cb=null===Bb?+d3.select(xa).style("width").replace("px",""):Bb;var a=null===Cb?+d3.select(xa).style("height").replace("px",""):Cb;ma=0<a?a:320;Db=20+Eb+da;Fb=!Gb||e||db?1:50;Pa=eb?0:40;Hb=ma-Eb-da;Ib=20+da;Jb=ma-da;v=0;C=Fb;T=Db;H=Pa;ta=Hb;q=Ib;G=Pa;yb=Jb;Oa=Pa;n=cb-H-C;u=ma-v-T;ea=ma-ta-q}function R(){Kb=e?10:0;Lb=e?u:n;fb=e?0:u;gb=e?n:1;r=L(Kb,Lb,l(r)?r.domain():void 0,function(a){return M.tickOffset()});y=z(fb,gb,l(y)?
Q,m=0;m<a.length;m++){if(!(a[m]in d))return c;d=d[a[m]]}return d}function N(){cb=null===Bb?+d3.select(xa).style("width").replace("px",""):Bb;var a=null===Cb?+d3.select(xa).style("height").replace("px",""):Cb;ma=0<a?a:320;Db=20+Eb+da;Fb=!Gb||e||db?1:50;Pa=eb?0:40;Hb=ma-Eb-da;Ib=20+da;Jb=ma-da;v=0;C=Fb;T=Db;H=Pa;ta=Hb;q=Ib;G=Pa;yb=Jb;Oa=Pa;n=cb-H-C;t=ma-v-T;ea=ma-ta-q}function R(){Kb=e?10:0;Lb=e?t:n;fb=e?0:t;gb=e?n:1;r=L(Kb,Lb,l(r)?r.domain():void 0,function(a){return M.tickOffset()});y=z(fb,gb,l(y)?
y.domain():void 0);O=z(fb,gb,l(O)?O.domain():void 0);U=L(0,n,l(ya)?ya:void 0,function(a){return 0===a%1?za.tickOffset():0});Qa=z(ea,10);Ra=z(ea,10);M=zb(r,kc);fa=d3.svg.axis().scale(y).orient(lc);Sa=d3.svg.axis().scale(O).orient(mc);za=zb(U,nc)}function L(a,c,d,m){var f=(D?d3.time.scale():d3.scale.linear()).range([a,c]);f.orgDomain=function(){return f.domain()};l(d)&&f.domain(d);s(m)&&(m=function(a){return 0});if(na){var b=f,p,f=function(a){return b(a)+m(a)};for(p in b)f[p]=b[p];f.orgDomain=function(){return b.domain()};
f.domain=function(a){if(!arguments.length)return a=b.domain(),[a[0],a[1]+1];b.domain(a);return f}}return f}function z(a,c){return d3.scale.linear().range([a,c])}function h(a){return"y2"===A(a)?O:y}function Na(a){return"y2"===A(a)?Ra:Qa}function zb(a,c){var d=(na?jc():d3.svg.axis()).scale(a).orient(c);D&&d.tickFormat(oc);na?d.categories(hb).tickCentered(pc):d.tickOffset=function(){return 0};return d}function A(a){return a in Mb?Mb[a]:"y"}function ja(a){return d3.min(a,function(a){return d3.min(a.values,
function(a){return a.value})})}function ka(a){var c={},d,m;a.forEach(function(a){c[a.id]=[];a.values.forEach(function(d){c[a.id].push(d.value)})});for(d=0;d<w.length;d++)for(m=1;m<w[d].length;m++)Aa(w[d][m])&&(s(c[w[d][m]])||c[w[d][m]].forEach(function(a,b){A(w[d][m])===A(w[d][0])&&(c[w[d][0]][b]+=1*a)}));return d3.max(Object.keys(c).map(function(a){return d3.max(c[a])}))}function B(a,c){var d=Ta(function(a){return A(a.id)===c}),m="y2"===c?qc:rc,f="y2"===c?sc:tc,m=null!==m?m:ja(d),f=null!==f?f:ka(d),
@ -16,28 +16,28 @@ function Bc(){var a={},c=0,d,b;Ta(Aa).forEach(function(f){for(d=0;d<w.length;d++
(g+=a(d.values[p]))});return d?g:k(e.value)-g}}function Tb(a,c){var d=null===a?function(a){return a}:function(c){return a-c};return function(a){var b=c?Na(a.id):h(a.id);return d(b(a.value))}}function mb(a,c){var d=s(a)?jb():a;"string"===typeof d&&(d=[d]);for(var b=0;b<d.length;b++)X[d[b]]=c}function wc(a,c){var d=!1;a.forEach(function(a){X[a.id]===c&&(d=!0);a.id in X||"line"!==c||(d=!0)});return d}function nb(a){a="string"===typeof a?a:a.id;return!(a in X)||"line"===X[a]||"spline"===X[a]}function Aa(a){return"bar"===
X["string"===typeof a?a:a.id]}function Cc(a){return nb(a)?a.values:[]}function Ub(a){return Aa(a)?a.values:[]}function Vb(a,c){var d=d3.mouse(a),b=d3.select(a),f=1*b.attr("cx"),b=1*b.attr("cy");return Math.sqrt(Math.pow(f-d[0],2)+Math.pow(b-d[1],2))<c}function Wb(a){var c=d3.mouse(a),d=d3.select(a);a=1*d.attr("x");var b=1*d.attr("y"),d=1*d.attr("width");return a-10<c[0]&&c[0]<a+d+10&&b-10<c[1]}function Dc(a,c){var d;for(d=0;d<c.length;d++)if(c[d].start<a&&a<=c[d].end)return!0;return!1}function Xb(a,
c,d){Ec(a,c);g.select(".selected-circles-"+c.id).selectAll(".selected-circle-"+d).data([c]).enter().append("circle").attr("class",function(a){return"selected-circle selected-circle-"+d}).attr("cx",e?W:V).attr("cy",e?V:W).attr("stroke",function(){return P(c.id)}).attr("r",1.4*Fa).transition().duration(100).attr("r",Fa)}function ob(a,c,d){Fc(a,c);g.select(".selected-circles-"+c.id).selectAll(".selected-circle-"+d).transition().duration(100).attr("r",0).remove()}function Yb(a,c,d,b){a?Xb(c,d,b):ob(c,
d,b)}function Gc(a,c,d){}function Zb(a,c,d){}function $b(a,c,d,b){}function Hc(a,c,d,b){var f,g,p="M",k,h,t,r,q,n=[];if(l(b))for(f=0;f<b.length;f++)n[f]={},s(b[f].start)?n[f].start=a[0].x:D&&(n[f].start=ga(b[f].start)),s(b[f].end)?n[f].end=a[a.length-1].x:D&&(n[f].end=ga(b[f].end));r=e?function(a){return d(a.value)}:function(a){return c(a.x)};q=e?function(a){return c(a.x)}:function(a){return d(a.value)};b=D?function(a,b,f,e){var p=a.x.getTime();a=b.x-a.x;b=new Date(p+a*(f+e));return"M"+c(new Date(p+
a*f))+" "+d(h(f))+" "+c(b)+" "+d(h(f+e))}:function(a,b,f,e){return"M"+c(k(f))+" "+d(h(f))+" "+c(k(f+e))+" "+d(h(f+e))};for(f=0;f<a.length;f++)if(s(n)||!Dc(a[f].x,n))p+=" "+r(a[f])+" "+q(a[f]);else for(k=L(a[f-1].x,a[f].x),h=z(a[f-1].value,a[f].value),g=c(a[f].x)-c(a[f-1].x),t=d(a[f].value)-d(a[f-1].value),g=Math.sqrt(Math.pow(g,2)+Math.pow(t,2)),t=2/g,diffx2=2*t,g=t;1>=g;g+=diffx2)p+=b(a[f-1],a[f],g,t);return p}function pb(a){var c=k.data.targets=ca(a),d,b;N();R();r.domain(d3.extent(a.map(function(a){return a.x})));
y.domain(B(c,"y"));O.domain(B(c,"y2"));U.domain(r.domain());Qa.domain(y.domain());Ra.domain(O.domain());M.ticks(10>a.length?a.length:10);fa.ticks(Ic).outerTickSize(0).tickFormat(Jc);Sa.ticks(Kc).outerTickSize(0).tickFormat(Lc);ya=r.domain();E.x(U);oa&&Ga.x(r);Ha=d3.select(xa).append("svg").attr("width",n+H+C).attr("height",u+v+T);Za=Ha.append("defs");Za.append("clipPath").attr("id",qb).append("rect").attr("y",v).attr("width",n).attr("height",u-v);Za.append("clipPath").attr("id","xaxis-clip").append("rect").attr("x",
-1).attr("y",-1).attr("width",n+2).attr("height",40);Za.append("clipPath").attr("id","yaxis-clip").append("rect").attr("x",-H+1).attr("y",v-1).attr("width",H).attr("height",u-v+2);g=Ha.append("g").attr("transform",I.main);x=pa?Ha.append("g").attr("transform",I.context):null;qa=ra?Ha.append("g").attr("transform",I.legend):null;Y=d3.select(xa).style("position","relative").append("div").style("position","absolute").style("width","30%").style("z-index","10").style("visibility","hidden");g.append("g").attr("class",
"x axis").attr("clip-path",e?"":"url(#xaxis-clip)").attr("transform",I.x).call(e?fa:M);g.append("g").attr("class","y axis").attr("clip-path",e?"url(#yaxis-clip)":"").call(e?M:fa).append("text").attr("transform","rotate(-90)").attr("dy","1.4em").attr("dx","-.8em").style("text-anchor","end").text(Mc);Gb&&g.append("g").attr("class","y2 axis").attr("transform",I.y2).call(Sa);if(oa)g.append("rect").attr("class","zoom-rect").attr("width",n).attr("height",u).style("opacity",0).call(Ga).on("dblclick.zoom",
d,b)}function Gc(a,c,d){}function Zb(a,c,d){}function $b(a,c,d,b){}function Hc(a,c,d,b){var f,g,p="M",k,h,u,r,q,n=[];if(l(b))for(f=0;f<b.length;f++)n[f]={},s(b[f].start)?n[f].start=a[0].x:D&&(n[f].start=ga(b[f].start)),s(b[f].end)?n[f].end=a[a.length-1].x:D&&(n[f].end=ga(b[f].end));r=e?function(a){return d(a.value)}:function(a){return c(a.x)};q=e?function(a){return c(a.x)}:function(a){return d(a.value)};b=D?function(a,b,f,e){var p=a.x.getTime();a=b.x-a.x;b=new Date(p+a*(f+e));return"M"+c(new Date(p+
a*f))+" "+d(h(f))+" "+c(b)+" "+d(h(f+e))}:function(a,b,f,e){return"M"+c(k(f))+" "+d(h(f))+" "+c(k(f+e))+" "+d(h(f+e))};for(f=0;f<a.length;f++)if(s(n)||!Dc(a[f].x,n))p+=" "+r(a[f])+" "+q(a[f]);else for(k=L(a[f-1].x,a[f].x),h=z(a[f-1].value,a[f].value),g=c(a[f].x)-c(a[f-1].x),u=d(a[f].value)-d(a[f-1].value),g=Math.sqrt(Math.pow(g,2)+Math.pow(u,2)),u=2/g,diffx2=2*u,g=u;1>=g;g+=diffx2)p+=b(a[f-1],a[f],g,u);return p}function pb(a){var c=k.data.targets=ca(a),d,b;N();R();r.domain(d3.extent(a.map(function(a){return a.x})));
y.domain(B(c,"y"));O.domain(B(c,"y2"));U.domain(r.domain());Qa.domain(y.domain());Ra.domain(O.domain());M.ticks(10>a.length?a.length:10);fa.ticks(Ic).outerTickSize(0).tickFormat(Jc);Sa.ticks(Kc).outerTickSize(0).tickFormat(Lc);ya=r.domain();E.x(U);oa&&Ga.x(r);Ha=d3.select(xa).append("svg").attr("width",n+H+C).attr("height",t+v+T);Za=Ha.append("defs");Za.append("clipPath").attr("id",qb).append("rect").attr("y",v).attr("width",n).attr("height",t-v);Za.append("clipPath").attr("id","xaxis-clip").append("rect").attr("x",
-1).attr("y",-1).attr("width",n+2).attr("height",40);Za.append("clipPath").attr("id","yaxis-clip").append("rect").attr("x",-H+1).attr("y",v-1).attr("width",H).attr("height",t-v+2);g=Ha.append("g").attr("transform",I.main);x=pa?Ha.append("g").attr("transform",I.context):null;qa=ra?Ha.append("g").attr("transform",I.legend):null;Y=d3.select(xa).style("position","relative").append("div").style("position","absolute").style("width","30%").style("z-index","10").style("visibility","hidden");g.append("g").attr("class",
"x axis").attr("clip-path",e?"":"url(#xaxis-clip)").attr("transform",I.x).call(e?fa:M);g.append("g").attr("class","y axis").attr("clip-path",e?"url(#yaxis-clip)":"").call(e?M:fa).append("text").attr("transform","rotate(-90)").attr("dy","1.4em").attr("dx","-.8em").style("text-anchor","end").text(Mc);Gb&&g.append("g").attr("class","y2 axis").attr("transform",I.y2).call(Sa);if(oa)g.append("rect").attr("class","zoom-rect").attr("width",n).attr("height",t).style("opacity",0).call(Ga).on("dblclick.zoom",
null);d=g.append("g").attr("clip-path",Ia).attr("class","grid");ac&&d.append("g").attr("class","xgrids");rb&&(b=d.append("g").attr("class","xgrid-lines").selectAll(".xgrid-line").data(rb).enter().append("g").attr("class","xgrid-line"),b.append("line").attr("class",function(a){return""+a["class"]}),b.append("text").attr("class",function(a){return""+a["class"]}).attr("text-anchor","end").attr("transform",e?"":"rotate(-90)").attr("dx",e?0:-v).attr("dy",-6).text(function(a){return a.text}));Nc&&d.append("g").attr("class",
"xgrid-focus").append("line").attr("class","xgrid-focus").attr("x1",e?0:-10).attr("x2",e?n:-10).attr("y1",e?-10:v).attr("y2",e?-10:u);bc&&d.append("g").attr("class","ygrids");sb&&d.append("g").attr("class","ygrid-lines").selectAll("ygrid-line").data(sb).enter().append("line").attr("class",function(a){return"ygrid-line "+a["class"]});g.append("g").attr("clip-path",Ia).attr("class","regions");g.append("g").attr("clip-path",Ia).attr("class","chart");g.select(".chart").append("g").attr("class","event-rects").style("fill-opacity",
"xgrid-focus").append("line").attr("class","xgrid-focus").attr("x1",e?0:-10).attr("x2",e?n:-10).attr("y1",e?-10:v).attr("y2",e?-10:t);bc&&d.append("g").attr("class","ygrids");sb&&d.append("g").attr("class","ygrid-lines").selectAll("ygrid-line").data(sb).enter().append("line").attr("class",function(a){return"ygrid-line "+a["class"]});g.append("g").attr("clip-path",Ia).attr("class","regions");g.append("g").attr("clip-path",Ia).attr("class","chart");g.select(".chart").append("g").attr("class","event-rects").style("fill-opacity",
0).selectAll(".event-rects").data(a).enter().append("rect").attr("class",function(a,c){return"event-rect event-rect-"+c}).style("cursor",function(a){return Z&&ha?"pointer":null}).on("mouseover",function(a,c){if(!$a){var d=k.data.targets.map(function(a){return ba(a.values[c])}),b,m;if(0<Object.keys(Da).length){m=[];for(var l in Da)for(b=0;b<d.length;b++)if(d[b].id===l){m.push(d[b]);d.shift(b);break}d=m.concat(d)}cc&&g.selectAll(".-circle-"+c).classed($,!0).attr("r",dc);g.selectAll(".-bar-"+c).classed($,
!0);g.selectAll("line.xgrid-focus").style("visibility","visible").data([d[0]]).attr(e?"y1":"x1",Ya).attr(e?"y2":"x2",Ya);Y.style("top",d3.mouse(this)[1]+30+"px").style("left",(e?d3.mouse(this)[0]:r(d[0].x))+60+"px");Y.html(ec(d));Y.style("visibility","visible")}}).on("mouseout",function(a,c){g.select("line.xgrid-focus").style("visibility","hidden");Y.style("visibility","hidden");g.selectAll(".-circle-"+c).filter(function(){return d3.select(this).classed($)}).classed($,!1).attr("r",tb);g.selectAll(".-bar-"+
c).classed($,!1)}).on("mousemove",function(a,c){Z&&!$a&&(ha||g.selectAll(".-shape-"+c).filter(function(a){return ia(a)}).each(function(a){a=d3.select(this).classed($,!0);"circle"===this.nodeName&&a.attr("r",dc);d3.select(".event-rect-"+c).style("cursor",null)}).filter(function(a){a=d3.select(this);if("circle"===this.nodeName)return Vb(this,Fa);if("rect"===this.nodeName)return Wb(this,a.attr("x"),a.attr("y"))}).each(function(a){a=d3.select(this);a.classed($)||(a.classed($,!0),"circle"===this.nodeName&&
a.attr("r",Fa));d3.select(".event-rect-"+c).style("cursor","pointer")}))}).on("click",function(a,c){ub?ub=!1:g.selectAll(".-shape-"+c).each(function(a){var d=d3.select(this),b=d.classed(aa),f=!1,e;"circle"===this.nodeName?(f=Vb(this,1.5*Fa),e=Yb):"rect"===this.nodeName&&(f=Wb(this),e=$b);if(ha||f)Z&&ia(a)&&(d.classed(aa,!b),e(!b,d,a,c)),Oc(a,d)})}).call(d3.behavior.drag().origin(Object).on("drag",function(a){if(Z&&!oa){a=vb[0];var c=vb[1],d=d3.mouse(this),b=d[0],d=d[1],e=Math.min(a,b),m=Math.max(a,
b),k=ha?v:Math.min(c,d),l=ha?u:Math.max(c,d);g.select(".dragarea").attr("x",e).attr("y",k).attr("width",m-e).attr("height",l-k);g.selectAll(".-shapes").selectAll(".-shape").filter(function(a){return ia(a)}).each(function(a,c){var d=d3.select(this),b=d.classed(aa),f=d.classed(wb),g,p,h,n;g=!1;"circle"===this.nodeName?(g=1*d.attr("cx"),p=1*d.attr("cy"),n=Yb,g=e<g&&g<m&&k<p&&p<l):"rect"===this.nodeName&&(g=1*d.attr("x"),p=1*d.attr("y"),h=1*d.attr("width"),n=$b,g=e<g+h&&g<m&&p<l);g^f&&(d.classed(wb,!f),
b),k=ha?v:Math.min(c,d),l=ha?t:Math.max(c,d);g.select(".dragarea").attr("x",e).attr("y",k).attr("width",m-e).attr("height",l-k);g.selectAll(".-shapes").selectAll(".-shape").filter(function(a){return ia(a)}).each(function(a,c){var d=d3.select(this),b=d.classed(aa),f=d.classed(wb),g,p,h,n;g=!1;"circle"===this.nodeName?(g=1*d.attr("cx"),p=1*d.attr("cy"),n=Yb,g=e<g&&g<m&&k<p&&p<l):"rect"===this.nodeName&&(g=1*d.attr("x"),p=1*d.attr("y"),h=1*d.attr("width"),n=$b,g=e<g+h&&g<m&&p<l);g^f&&(d.classed(wb,!f),
d.classed(aa,!b),n(!b,d,a,c))})}}).on("dragstart",function(){Z&&(vb=d3.mouse(this),g.select(".chart").append("rect").attr("class","dragarea").style("opacity",0.1),$a=!0)}).on("dragend",function(){Z&&(g.select(".dragarea").transition().duration(100).style("opacity",0).remove(),g.selectAll(".-shape").classed(wb,!1),$a=!1)})).call(Ga).on("dblclick.zoom",null);g.select(".chart").append("g").attr("class","chart-bars");g.select(".chart").append("g").attr("class","chart-lines");null!==Ja&&E.extent("function"!==
typeof Ja?Ja:D?Ja(Wa,ib):Ja(0,Xa()-1));pa&&(x.append("g").attr("clip-path",Ia).attr("class","chart"),x.select(".chart").append("g").attr("class","chart-bars"),x.select(".chart").append("g").attr("class","chart-lines"),x.append("g").attr("clip-path",Ia).attr("class","x brush").call(E).selectAll("rect").attr("height",ea),x.append("g").attr("class","x axis").attr("transform",I.subx).call(za));ra&&ab(c);fc(c);F({withTransition:!1});if(Pc){if(D&&"string"==typeof sa){sa=ga(sa);for(a=0;a<c[0].values.length&&
0!=c[0].values[a].x-sa;a++);sa=a}Y.html(ec(c.map(function(a){return ba(a.values[sa])})));Y.style("top",gc.top).style("left",gc.left).style("visibility","visible")}}function F(a){var c,d=Bc(),b=d.__max__+1,f,h,p,q,s,t;g.select("line.xgrid-focus").style("visibility","hidden");Y.style("visibility","hidden");a=l(a)?a:{};c=l(a.withY)?a.withY:!0;s=l(a.withSubchart)?a.withSubchart:!0;t=l(a.withTransition)?a.withTransition:!0;a=l(a.withUpdateXDomain)?a.withUpdateXDomain:!0;t=t?250:0;a&&(r.domain(E.empty()?
ya:E.extent()),oa&&Ga.x(r));y.domain(B(k.data.targets,"y"));O.domain(B(k.data.targets,"y2"));g.select(".x.axis").transition().duration(e?t:0).call(e?fa:M);g.select(".y.axis").transition().duration(e?0:t).call(e?M:fa);g.select(".y2.axis").transition().call(Sa);Qa.domain(y.domain());Ra.domain(O.domain());if(ac){if("year"===Qc)for(a=[],firstYear=Wa.getFullYear(),lastYear=ib.getFullYear(),f=firstYear;f<=lastYear;f++)a.push(new Date(f+"-01-01 00:00:00"));else a=r.ticks(10);a=g.select(".xgrids").selectAll(".xgrid").data(a);
a.enter().append("line").attr("class","xgrid");a.exit().remove();g.selectAll(".xgrid").attr("x1",function(a){return r(a)-M.tickOffset()}).attr("x2",function(a){return r(a)-M.tickOffset()}).attr("y1",v).attr("y2",u)}rb&&(a=g.selectAll(".xgrid-lines"),a.selectAll("line").attr("x1",e?0:Ea).attr("x2",e?n:Ea).attr("y1",e?Ea:v).attr("y2",e?Ea:u),a.selectAll("text").attr("x",e?n:0).attr("y",Ea));c&&bc&&(ygrid=g.select(".ygrids").selectAll(".ygrid").data(y.ticks(10)),ygrid.enter().append("line").attr("class",
"ygrid"),ygrid.attr("x1",e?y:0).attr("x2",e?y:n).attr("y1",e?0:y).attr("y2",e?u:y).attr("opacity",0).transition().attr("opacity",1),ygrid.exit().remove());c&&sb&&g.select(".ygrid-lines").selectAll(".ygrid-line").attr("y1",Qb).attr("y2",Qb);h=na?1.2*M.tickOffset()/b:0.6*((e?u:n)*S(!1)/(Xa()-1));p=Tb(e?null:u);a=Rb(h,b,d);f=Sb(p,d,e);c=g.selectAll(".-bars").selectAll(".-bar").data(Ub);c.transition().duration(t).attr("x",e?f:a).attr("y",e?a:f).attr("width",e?p:h).attr("height",e?h:p);c.enter().append("rect").attr("class",
Pb).attr("x",e?f:a).attr("y",e?a:f).attr("width",e?p:h).attr("height",e?h:p).style("opacity",0).transition().duration(t).style("opacity",1);c.exit().transition().duration(t).style("opacity",0).remove();g.selectAll(".-line").transition().duration(t).attr("d",Rc);c=g.selectAll(".-circles").selectAll(".-circle").data(Cc);c.transition().duration(t).attr("cx",e?W:V).attr("cy",e?V:W);c.enter().append("circle").attr("class",zc).attr("cx",e?W:V).attr("cy",e?V:W).attr("r",tb);c.exit().remove();pa&&(null!==
d3.event&&"zoom"===d3.event.type&&(E.extent(r.orgDomain()),x.select(".x.brush").call(E)),s&&(x.select(".x.axis").transition().duration(e?t:0).call(e?fa:za),E.empty()||(E.extent(r.orgDomain()),x.select(".x.brush").call(E)),h=na?1.2*za.tickOffset()/b:0.6*((e?u:n)*S(!0)/(Xa()-1)),p=Tb(ea,!0),a=Rb(h,b,d,!0),f=Sb(p,d,!1,!0),contextBar=x.selectAll(".-bars").selectAll(".-bar").data(Ub),contextBar.transition().duration(t).attr("x",a).attr("y",f).attr("width",h).attr("height",p),contextBar.enter().append("rect").attr("class",
Pb).attr("x",a).attr("y",f).attr("width",h).attr("height",p).style("opacity",0).transition().style("opacity",1),contextBar.exit().transition().style("opacity",0).remove(),x.selectAll(".-line").transition().duration(t).attr("d",Sc)));g.selectAll(".selected-circles").filter(function(a){return Aa(a)}).selectAll("circle").remove();g.selectAll(".selected-circle").transition().duration(t).attr("cx",e?W:V).attr("cy",e?V:W);q=(e?u:n)*S()/(Xa()-1);d=function(a){return r(a.x)-q/2};g.selectAll(".event-rect").attr("x",
e?0:d).attr("y",e?d:0).attr("width",e?n:q).attr("height",e?q:u);mainRegion=g.select(".regions").selectAll("rect.region").data(J);mainRegion.enter().append("rect");mainRegion.attr("class",Ac).attr("x",e?0:la).attr("y",e?la:v).attr("width",e?n:ua).attr("height",e?ua:u).style("fill-opacity",function(a){return l(a.opacity)?a.opacity:0.1});mainRegion.exit().transition().duration(t).style("fill-opacity",0).remove()}function Tc(){F({withTransition:!1,withY:!1,withSubchart:!1,withUpdateXDomain:!1});"mousemove"===
0!=c[0].values[a].x-sa;a++);sa=a}Y.html(ec(c.map(function(a){return ba(a.values[sa])})));Y.style("top",gc.top).style("left",gc.left).style("visibility","visible")}}function F(a){var c,d=Bc(),b=d.__max__+1,f,h,p,q,s,u;a=l(a)?a:{};c=l(a.withY)?a.withY:!0;s=l(a.withSubchart)?a.withSubchart:!0;u=l(a.withTransition)?a.withTransition:!0;a=l(a.withUpdateXDomain)?a.withUpdateXDomain:!0;u=u?250:0;a&&(r.domain(E.empty()?ya:E.extent()),oa&&Ga.x(r));y.domain(B(k.data.targets,"y"));O.domain(B(k.data.targets,"y2"));
g.select(".x.axis").transition().duration(e?u:0).call(e?fa:M);g.select(".y.axis").transition().duration(e?0:u).call(e?M:fa);g.select(".y2.axis").transition().call(Sa);Qa.domain(y.domain());Ra.domain(O.domain());Y.style("visibility","hidden");g.select("line.xgrid-focus").style("visibility","hidden").attr("y2",t);if(ac){if("year"===Qc)for(a=[],firstYear=Wa.getFullYear(),lastYear=ib.getFullYear(),f=firstYear;f<=lastYear;f++)a.push(new Date(f+"-01-01 00:00:00"));else a=r.ticks(10);a=g.select(".xgrids").selectAll(".xgrid").data(a);
a.enter().append("line").attr("class","xgrid");a.exit().remove();g.selectAll(".xgrid").attr("x1",function(a){return r(a)-M.tickOffset()}).attr("x2",function(a){return r(a)-M.tickOffset()}).attr("y1",v).attr("y2",t)}rb&&(a=g.selectAll(".xgrid-lines"),a.selectAll("line").attr("x1",e?0:Ea).attr("x2",e?n:Ea).attr("y1",e?Ea:v).attr("y2",e?Ea:t),a.selectAll("text").attr("x",e?n:0).attr("y",Ea));c&&bc&&(ygrid=g.select(".ygrids").selectAll(".ygrid").data(y.ticks(10)),ygrid.enter().append("line").attr("class",
"ygrid"),ygrid.attr("x1",e?y:0).attr("x2",e?y:n).attr("y1",e?0:y).attr("y2",e?t:y).attr("opacity",0).transition().attr("opacity",1),ygrid.exit().remove());c&&sb&&g.select(".ygrid-lines").selectAll(".ygrid-line").attr("y1",Qb).attr("y2",Qb);h=na?1.2*M.tickOffset()/b:0.6*((e?t:n)*S(!1)/(Xa()-1));p=Tb(e?null:t);a=Rb(h,b,d);f=Sb(p,d,e);c=g.selectAll(".-bars").selectAll(".-bar").data(Ub);c.transition().duration(u).attr("x",e?f:a).attr("y",e?a:f).attr("width",e?p:h).attr("height",e?h:p);c.enter().append("rect").attr("class",
Pb).attr("x",e?f:a).attr("y",e?a:f).attr("width",e?p:h).attr("height",e?h:p).style("opacity",0).transition().duration(u).style("opacity",1);c.exit().transition().duration(u).style("opacity",0).remove();g.selectAll(".-line").transition().duration(u).attr("d",Rc);c=g.selectAll(".-circles").selectAll(".-circle").data(Cc);c.transition().duration(u).attr("cx",e?W:V).attr("cy",e?V:W);c.enter().append("circle").attr("class",zc).attr("cx",e?W:V).attr("cy",e?V:W).attr("r",tb);c.exit().remove();pa&&(null!==
d3.event&&"zoom"===d3.event.type&&(E.extent(r.orgDomain()),x.select(".x.brush").call(E)),s&&(x.select(".x.axis").transition().duration(e?u:0).call(e?fa:za),E.empty()||(E.extent(r.orgDomain()),x.select(".x.brush").call(E)),h=na?1.2*za.tickOffset()/b:0.6*((e?t:n)*S(!0)/(Xa()-1)),p=Tb(ea,!0),a=Rb(h,b,d,!0),f=Sb(p,d,!1,!0),contextBar=x.selectAll(".-bars").selectAll(".-bar").data(Ub),contextBar.transition().duration(u).attr("x",a).attr("y",f).attr("width",h).attr("height",p),contextBar.enter().append("rect").attr("class",
Pb).attr("x",a).attr("y",f).attr("width",h).attr("height",p).style("opacity",0).transition().style("opacity",1),contextBar.exit().transition().style("opacity",0).remove(),x.selectAll(".-line").transition().duration(u).attr("d",Sc)));g.selectAll(".selected-circles").filter(function(a){return Aa(a)}).selectAll("circle").remove();g.selectAll(".selected-circle").transition().duration(u).attr("cx",e?W:V).attr("cy",e?V:W);q=(e?t:n)*S()/(Xa()-1);d=function(a){return r(a.x)-q/2};g.selectAll(".event-rect").attr("x",
e?0:d).attr("y",e?d:0).attr("width",e?n:q).attr("height",e?q:t);mainRegion=g.select(".regions").selectAll("rect.region").data(J);mainRegion.enter().append("rect");mainRegion.attr("class",Ac).attr("x",e?0:la).attr("y",e?la:v).attr("width",e?n:ua).attr("height",e?ua:t).style("fill-opacity",function(a){return l(a.opacity)?a.opacity:0.1});mainRegion.exit().transition().duration(u).style("fill-opacity",0).remove()}function Tc(){F({withTransition:!1,withY:!1,withSubchart:!1,withUpdateXDomain:!1});"mousemove"===
d3.event.sourceEvent.type&&(ub=!0)}function fc(a){var c;g.select(".chart-bars").selectAll(".chart-bar").data(a).enter().append("g").attr("class",function(a){return"chart-bar target target-"+a.id}).style("pointer-events","none").style("opacity",0).append("g").attr("class",Ob).style("fill",function(a){return P(a.id)}).style("stroke",function(a){return P(a.id)}).style("stroke-width",0).style("cursor",function(a){return ia(a)?"pointer":null});c=g.select(".chart-lines").selectAll(".chart-line").data(a).enter().append("g").attr("class",
function(a){return"chart-line target target-"+a.id}).style("pointer-events","none").style("opacity",0);c.append("path").attr("class",Nb).style("stroke",function(a){return P(a.id)});c.append("g").attr("class",function(a){return"selected-circles selected-circles-"+a.id});c.append("g").attr("class",yc).style("fill",function(a){return P(a.id)}).style("cursor",function(a){return ia(a)?"pointer":null});a.forEach(function(a){g.selectAll(".selected-circles-"+a.id).selectAll(".selected-circle").each(function(c){c.value=
a.values[c.x].value})});pa&&(c=x.select(".chart-bars").selectAll(".chart-bar").data(a),c=c.enter().append("g").attr("class",function(a){return"chart-bar target target-"+a.id}).style("opacity",0),c.append("g").attr("class",Ob).style("fill",function(a){return P(a.id)}),c=x.select(".chart-lines").selectAll(".chart-line").data(a),c=c.enter().append("g").attr("class",function(a){return"chart-line target target-"+a.id}).style("opacity",0),c.append("path").attr("class",Nb).style("stroke",function(a){return P(a.id)}));
@ -51,8 +51,8 @@ b(["axis","y2","center"],null);b(["axis","y2","text"],null);b(["axis","y2","resc
0,Nc=b(["point","focus","line","enabled"],!0),cc=b(["point","focus","expand","enabled"],!0),dc=b(["point","focus","expand","r"],cc?4:tb),Fa=b(["point","focus","select","r"],8),Oc=b(["point","onclick"],function(){}),Ec=b(["point","onselected"],function(){}),Fc=b(["point","onunselected"],function(){}),J=b(["regions"],[]),ec=b(["tooltip","contents"],function(a){var c="<table class='-tooltip'><tr><th colspan='2'>"+(D?a[0].x.getFullYear()+"."+(a[0].x.getMonth()+1)+"."+a[0].x.getDate():na?a[0].x<hb.length?
hb[a[0].x]:a[0].x:a[0].x)+"</th></tr>",b,e,f;for(b=0;b<a.length;b++)l(a[b])?(e=l(a[b].value)?(Math.round(100*a[b].value)/100).toFixed(2):"-",f=a[b].name):f=e="-",c+="<tr><td><span style='background-color:"+P(a[b].id)+"'></span>"+f+"</td><td class='value'>"+e+"</td></tr>";return c+"</table>"}),Pc=b(["tooltip","init","show"],!1),sa=b(["tooltip","init","x"],0),gc=b(["tooltip","init","position"],{top:"0px",left:"50px"}),qb=xa.replace("#","")+"-clip",Ia="url(#"+qb+")",D="timeseries"===ic,na="categorized"===
ic,vb=null,$a=!1,ub=!1,da=ra?40:0,ga=d3.time.format(Vc).parse,P=function(a,c){var b=[],e=null!==c?c:"#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf".split(" ");return function(c){if(c in a)return a[c];0<=b.indexOf(c)||b.push(c);return e[b.indexOf(c)%e.length]}}(Wc,Xc),oc=function(){var a=[[d3.time.format("%Y/%-m/%-d"),function(){return!0}],[d3.time.format("%-m/%-d"),function(a){return a.getMonth()}],[d3.time.format("%-m/%-d"),function(a){return 1!=a.getDate()}],[d3.time.format("%-m/%-d"),
function(a){return a.getDay()&&1!=a.getDate()}],[d3.time.format("%I %p"),function(a){return a.getHours()}],[d3.time.format("%I:%M"),function(a){return a.getMinutes()}],[d3.time.format(":%S"),function(a){return a.getSeconds()}],[d3.time.format(".%L"),function(a){return a.getMilliseconds()}]];return function(c){for(var b=a.length-1,e=a[b];!e[1](c);)e=a[--b];return e[0](c)}}(),Db,Ib,Fb,Pa,Hb,Jb,n,u,ea,cb,ma,Kb,Lb,fb,gb,r,y,O,U,Qa,Ra,M,fa,Sa,za,kc=e?"left":"bottom",lc=e?eb?"top":"bottom":eb?"right":"left",
mc=e?db?"bottom":"top":db?"left":"right",nc="bottom",I={main:function(){return"translate("+H+","+v+")"},context:function(){return"translate("+G+","+ta+")"},legend:function(){return"translate("+Oa+","+yb+")"},y2:function(){return"translate("+(e?0:n)+","+(e?10:0)+")"},x:function(){return"translate(0,"+u+")"},subx:function(){return"translate(0,"+ea+")"}},Rc=function(){var a=d3.svg.line().x(e?function(a){return h(a.id)(a.value)}:Ya).y(e?Ya:function(a){return h(a.id)(a.value)});return function(c){var b;
function(a){return a.getDay()&&1!=a.getDate()}],[d3.time.format("%I %p"),function(a){return a.getHours()}],[d3.time.format("%I:%M"),function(a){return a.getMinutes()}],[d3.time.format(":%S"),function(a){return a.getSeconds()}],[d3.time.format(".%L"),function(a){return a.getMilliseconds()}]];return function(c){for(var b=a.length-1,e=a[b];!e[1](c);)e=a[--b];return e[0](c)}}(),Db,Ib,Fb,Pa,Hb,Jb,n,t,ea,cb,ma,Kb,Lb,fb,gb,r,y,O,U,Qa,Ra,M,fa,Sa,za,kc=e?"left":"bottom",lc=e?eb?"top":"bottom":eb?"right":"left",
mc=e?db?"bottom":"top":db?"left":"right",nc="bottom",I={main:function(){return"translate("+H+","+v+")"},context:function(){return"translate("+G+","+ta+")"},legend:function(){return"translate("+Oa+","+yb+")"},y2:function(){return"translate("+(e?0:n)+","+(e?10:0)+")"},x:function(){return"translate(0,"+t+")"},subx:function(){return"translate(0,"+ea+")"}},Rc=function(){var a=d3.svg.line().x(e?function(a){return h(a.id)(a.value)}:Ya).y(e?Ya:function(a){return h(a.id)(a.value)});return function(c){var b;
if(nb(c))return"spline"===X["string"===typeof c?c:c.id]?a.interpolate("cardinal"):a.interpolate("linear"),0<Object.keys(hc).length?Hc(c.values,r,h(c.id),hc[c.id]):a(c.values);b=r(c.values[0].x);c=h(c.id)(c.values[0].value);return e?"M "+c+" "+b:"M "+b+" "+c}}(),Sc=function(){var a=d3.svg.line().x(function(a){return U(a.x)}).y(function(a){return Na(a.id)(a.value)});return function(c){return nb(c)?a(c.values):"M "+U(c.values[0].x)+" "+Na(c.id)(c.values[0].value)}}(),E=d3.svg.brush().on("brush",function(){F({withTransition:!1,
withY:!1,withSubchart:!1})}),Ga=d3.behavior.zoom().on("zoom",oa?Tc:null),Ha,Za,g,x,qa,Y,Wa=null,ib=null,ya;k.focus=function(a){k.defocus();d3.selectAll(Ma(a)).filter(function(a){return kb(a.id)}).classed("focused",!0).transition().duration(100).style("opacity",1)};k.defocus=function(a){d3.selectAll(Ma(a)).filter(function(a){return kb(a.id)}).classed("focused",!1).transition().duration(100).style("opacity",0.3)};k.revert=function(a){d3.selectAll(Ma(a)).filter(function(a){return kb(a.id)}).classed("focused",
!1).transition().duration(100).style("opacity",1)};k.show=function(a){d3.selectAll(Ma(a)).transition().style("opacity",1)};k.hide=function(a){d3.selectAll(Ma(a)).transition().style("opacity",0)};k.load=function(a){s(a.done)&&(a.done=function(){});if("cacheIds"in a&&K(a.cacheIds))Ka(bb(a.cacheIds),a.done);else if("data"in a)Ka(ca(data),a.done);else if("url"in a)d3.csv(a.url,function(c,b){Ka(ca(b),a.done)});else if("rows"in a)Ka(ca(va(a.rows)),a.done);else if("columns"in a)Ka(ca(wa(a.columns)),a.done);
@ -60,5 +60,5 @@ else throw Error("url or rows or columns is required.");};k.unload=function(a){k
k.select=function(a,c,b){Z&&g.selectAll(".-shapes").selectAll(".-shape").each(function(e,f){var g="circle"===this.nodeName?Xb:Gc,h="circle"===this.nodeName?ob:Zb;0<=c.indexOf(f)?ia(e)&&(ha||s(a)||0<=a.indexOf(e.id))&&g(d3.select(this).classed(aa,!0),e,f):l(b)&&b&&h(d3.select(this).classed(aa,!1),e,f)})};k.unselect=function(a,b){Z&&g.selectAll(".-shapes").selectAll(".-shape").each(function(d,e){var f="circle"===this.nodeName?ob:Zb;(s(b)||0<=b.indexOf(e))&&ia(d)&&(ha||s(a)||0<=a.indexOf(d.id))&&f(d3.select(this).classed(aa,
!1),d,e)})};k.toLine=function(a){mb(a,"line");F()};k.toSpline=function(a){mb(a,"spline");F()};k.toBar=function(a){mb(a,"bar");F()};k.groups=function(a){if(s(a))return w;w=a;F();return w};k.regions=function(a){if(s(a))return J;J=a;F();return J};k.regions.add=function(a){if(s(a))return J;J=J.concat(a);F();return J};k.regions.remove=function(a,b){var d=[].concat(a);b=l(b)?b:{};d.forEach(function(a){var d=d3.selectAll("."+a);l(b.duration)&&(d=d.transition().duration(b.duration).style("fill-opacity",0));
d.remove();J=J.filter(function(b){return 0>b.classes.indexOf(a)})});return J};k.data.get=function(a){a=k.data.getAsTarget(a);return l(a)?a.values.map(function(a){return a.value}):void 0};k.data.getAsTarget=function(a){var b=Ta(function(b){return b.id==a});return 0<b.length?b[0]:void 0};if("url"in Q.data)d3.csv(Q.data.url,function(a,b){pb(b)});else if("rows"in Q.data)pb(va(Q.data.rows));else if("columns"in Q.data)pb(wa(Q.data.columns));else throw Error("url or rows or columns is required.");xb.onresize=
function(){N();R();E.x(U);oa&&Ga.x(r);d3.select("svg").attr("width",cb).attr("height",ma);d3.select("#"+qb).select("rect").attr("width",n).attr("height",u);d3.select("#xaxis-clip").select("rect").attr("width",n+2);d3.select(".zoom-rect").attr("width",n);g.select(".x.axis").attr("transform",I.x);g.select(".y2.axis").attr("transform",I.y2);pa&&(x.select(".x.brush").selectAll("rect").attr("height",ea),x.attr("transform",I.context),x.select(".x.axis").attr("transform",I.subx));ra&&(qa.attr("transform",
function(){N();R();E.x(U);oa&&Ga.x(r);d3.select("svg").attr("width",cb).attr("height",ma);d3.select("#"+qb).select("rect").attr("width",n).attr("height",t);d3.select("#xaxis-clip").select("rect").attr("width",n+2);d3.select(".zoom-rect").attr("width",n).attr("height",t);g.select(".x.axis").attr("transform",I.x);g.select(".y2.axis").attr("transform",I.y2);pa&&(x.select(".x.brush").selectAll("rect").attr("height",ea),x.attr("transform",I.context),x.select(".x.axis").attr("transform",I.subx));ra&&(qa.attr("transform",
I.legend),ab(k.data.targets,{withTransition:!1}));F({withTransition:!1})};return k}})(window);

Loading…
Cancel
Save