-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcharted.min.js
More file actions
executable file
·2 lines (1 loc) · 14.5 KB
/
Copy pathcharted.min.js
File metadata and controls
executable file
·2 lines (1 loc) · 14.5 KB
1
"use strict";!function(){let t=null,e=document;let i;let n=2,o=["#EAEAEA","#2C3A4A"],s=["#E2E6E8","#313D4D"],r=["150,162,170","84,103,120"],a=["white","#242F3E"],c=["black","white"],h=["#E4E4E4","#3B4A5A"],l=["240,240,240","40,40,40"],d=[.6,.35,.2,.1],w=["rgba(196,220,232,.6)","#40566b"],u=["rgba(234,241,246,.8)","rgba(29,38,51,.65)"],f=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],g=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];function m(e,i){return this.ag=e,this.Z=t,this._=t,this.f=t,this.g=t,this.aT=0,this.aU=t,this.i=[],this.j={},this.k={},this.aa={},this.aH={},this.ab=[],this.ac={},this.aG=[],this.aO=0,this.aW=t,this.o(i),this.ad(),this.p(),this.c(),this}window.ChartView=m;let p=window.devicePixelRatio;function v(){return this.ay=[],this.az=[],this.aA=[],this.aB=[],this.aC={},this.aU=t,this}m.prototype={o:function(t){let e=this;Object.keys(t.types).forEach(function(i){let n=t.types[i];"x"===n?e.h=i:"line"===n&&e.i.push(i)}),this.j=t.names,this.aa=t.colors;for(let i=0;i<e.i.length;i++){let n=e.i[i];this.aH[n]=A(t.colors[n])}for(let i=0;i<t.columns.length;i++){let n=t.columns[i],o=n[0];o===e.h?e.ab=n:(e.ac[o]=n,e.k[o]=!0,e.aG.push(n))}},p:function(){this.al=this.t("canvas","charted-chart-main-panel",this.ag),this.an=this.t("canvas","charted-chart-axe-x",this.ag),this.aq=this.t("canvas","charted-chart-preview",this.ag),this.aj=this.t("div","charted-checkbox-list",this.ag),this.ak=this.aI(),this.am=this.aI(),this.r()},r:function(){let t=this;for(let i=0;i<t.i.length;i++){let n=t.i[i],o=t.aa[n],s=t.j[n],r=new L(!0);r.U(o);let a=r.ag,c=e.createElement("div");c.className="charted-checkbox-checkbox",W(c,a);let h=e.createElement("div");h.className="charted-checkbox-label",h.innerText=s;let l=e.createElement("div");l.className="charted-checkbox-elem",W(l,c),W(l,h),W(this.aj,l),l.addEventListener("click",function(e){r.X(),t.s(a,n)},!1)}},s:function(t,e){let i=this.k[e];this.k[e]=!i,this.a(1),this.z(1,null,e),this.preview.P()},t:function(t,i,n){let o=e.createElement(t);return i&&(o.className=i),W(n,o),o},aI:function(){let t=e.createElement("canvas");return t.style.display="none",W(this.ag,t),t},ad:function(){let e=this;let i=e.ab;for(let n=1;n<i.length;n++){let o=i[n];(e.f===t||o<e.f)&&(e.f=o,e.Z=new Date(o)),(e.g===t||o>e.g)&&(e.g=o,e._=new Date(o));let s=e.ae();for(let i=0;i<s.length;i++){let o=s[i][n];(e.aU===t||o>e.aU)&&(e.aU=o)}}},resized:function(){this.preview.u(),this.preview.P(),this.u(),this.z(t,t,t)},u:function(){let t=this.al;M(t),M(this.ak,t),M(this.am,t),M(this.an),this.a()},a:function(t,e){this.aE=this.aF,this.aF=new v,this.D(this.aF),this.b(this.aF,t)},c:function(){let e=this;e.al.addEventListener("mousemove",function(t){e.v(t)},!1),e.al.addEventListener("mouseout",function(i){e.v(t)},!1)},v:function(e){let i=this,n=i.al,o=$(n);if(S(o),o.drawImage(i.ak,0,0,o.canvas.clientWidth,o.canvas.clientHeight),e&&i.aF){let s=e.clientX-n.getBoundingClientRect().left,r=i.aF;let a=t,c=Math.floor(r.ay.length*s/n.width)-2,h=c=c>=0?c:0;for(;h<r.af();h++){let e=r.az[h],i=Math.abs(e-s);if(a!==t&&i>a)break;a=i}let l=h-1;i.w(o,r.aA[l],r.az[l],r.ay[l])}},w:function(t,e,i,o){let s=this,r=s.al,a=s.aF,c=r.clientHeight-n,l=s.ae();let d=function(t){for(;t;){let e=getComputedStyle(t).backgroundColor;if("rgba(0, 0, 0, 0)"!==e&&"transparent"!==e)return e;t=t.parentElement}return"rgb(255,255,255)"}(s.al);{let e=i-.5;e=e>=0?e:i+.5,t.strokeStyle=h[s.aO],R(t,e,0,e,r.height,1)}let w=[],u=[],f=[];for(let e=0;e<l.length;e++){let r=l[e][0],h=function(t){let e=t*c/a.aU;return c-e+n},g=a.H(o,r),m=h(g);t.strokeStyle=s.aa[r],t.fillStyle=d,t.lineWidth=3,t.beginPath(),t.arc(i,m,6,0,2*Math.PI,!1),t.fill(),t.stroke(),w.push(g),u.push(s.j[r]),f.push(s.aa[r])}s.x(t,e,i,d,w,u,f)},x:function(t,e,i,n,s,r,c){let h=this,w=$(h.am);let u;h.e===e?u=h.d:(S(w),u=this.y(w,e,i,n,s,r,c)),h.d=u,h.e=e;let f=u+28;let g=i-10;let m=g+f-t.canvas.clientWidth;m>0&&(g-=m,g-=1),g=g>=0?g:0,t.strokeStyle=o[h.aO],t.lineWidth=1,t.fillStyle=a[this.aO];let v=I(t,g,0,f,94,6);v.fill(),v.stroke();for(let e=0;e<d.length;e++)t.strokeStyle="rgba("+l[this.aO]+","+d[e]+")",I(t,g-e-1,-1,f+2*(e+1),94+e+2,6).stroke();t.drawImage(w.canvas,0,0,u*p,94*p,g+14,0,u,94)},y:function(t,e,i,n,o,s,r){let a=0;t.fillStyle=c[this.aO],t.font="18px sans-serif";let h=Y(new Date(e),!0);t.fillText(h,a,25);let l=t.measureText(h).width;for(let e=0;e<o.length;e++){e>0&&(a+=10);let i=o[e],n=s[e];t.fillStyle=r[e];let c=""+i;t.font="bold 24px sans-serif",t.fillText(c,a,60);let h=t.measureText(c).width;t.font="14px sans-serif",t.fillText(n,a,80);let l=t.measureText(n).width;a+=Math.max(h,l)}return a<l&&(a=l),a},z:function(e,i,n){let o=this,s=o.aF;let r=$(o.al),a=$(o.ak),c=2===e&&o.aE.aU!==o.aF.aU;if(1===e){let t=o.k[n],c=o.aF.aU-o.aE.aU,h=new Array(12),l=new Array(12),d=new Array(12);for(let t=0;t<12;t++)h[t]=o.aE.aU+c*(t+1)/12,l[t]=1-(t+1)/12,d[t]=(t+1)/12;let w=t?d:l;let u,f=0;let g=function(){if(f>=h.length)return void clearTimeout(u);let t=h[f];S(r),S(a),o.A(a,s,t),o.E(a,s,t,n,w[f],0),r.drawImage(o.ak,0,0,r.canvas.clientWidth,r.canvas.clientHeight),f++};u=setInterval(g,16),o.B(s,e,i),g()}else if(c){let n=o.aF.aU-o.aE.aU,c=o.aF.aM-o.aE.aM,h=4,l=12,d=new Array(h),w=new Array(h);for(let t=0;t<h;t++){t>=h-1?(d[t]=0,w[t]=o.aF.aU):(d[t]=c-(t+1)*c/h,w[t]=o.aE.aU+n*(t+1)/h)}let u,f=0;let g=function(){if(f>=w.length)return void clearTimeout(u);let e=w[f],i=d[f];S(r),S(a),o.A(a,s,s.aU),o.E(a,s,e,t,t,i),r.drawImage(o.ak,0,0,r.canvas.clientWidth,r.canvas.clientHeight),f++};u=setInterval(g,l),o.B(s,e,i),g()}else S(r),S(a),o.B(s,e,i),o.A(a,s,s.aU),o.E(a,s,t,t,t,0),r.drawImage(o.ak,0,0,r.canvas.clientWidth,r.canvas.clientHeight)},A:function(t,e,i){let a=this,c=a.al,h=c.clientWidth,l=c.clientHeight-n,d=function(t){let e=""+Math.round(t),i={0:[0,1],1:[5,2],2:[5,2],3:[1,1],4:[1,1],5:[1,1],6:[1,1],7:[1,1],8:[1,1],9:[1,1]}[parseInt(e[0])],n=i[0],o=i[1];return n*Math.pow(10,e.length-o)}(i);if(0===d);else{let e=i;t.lineWidth=1,t.font="14px sans-serif",t.strokeStyle=s[a.aO],t.fillStyle="rgb("+r[this.aO]+")";let c=function(t){return l-t*l/i+n},w=0,u=c(w),f=c(w+d),g=Math.round(f-u);let m=u-.5;for(let i=w;i<=e;i+=d,m+=g){let e=m;R(t,0,e,h,e,1),t.strokeStyle=o[a.aO];let n=e-10;n-16>=0&&t.fillText(""+i,0,n)}}},B:function(e,i,n){let o=this;this.aW&&(clearTimeout(o.aW),o.aW=t),this.aV(e,i,n,1),3===i&&(o.aW=setTimeout(function(){o.aW&&(clearTimeout(o.aW),o.aV(e,2,t,.5),setTimeout(function(){o.aW&&o.aV(e,2,t,0)},100))},1e3))},aV:function(e,i,n,o){let s=this,a=s.an,c=(this.q,this.aS),h=this.q/2,l=$(a);S(l),l.font="14px sans-serif";let d=3===i,w=(2===i||d||1===i)&&s.l!==t,u=e.getIndices();let f,g=1,m=u.b;w?4===n?(f=u.b-(u.b-s.l)%s.q,m=u.a,g=-1):(f=u.a-(u.a-s.l)%s.q,m=u.b):(f=u.a,m=u.b,s.l=t);let p=(c-this.q)/this.q;let v=(x=1-2.9*p,b=100,Math.round(x*b)/b*o);var x,b;let k=s.preview.aZ;d&&1===k&&(s.aX=!0),s.aX=s.aX&&v>0&&s.preview.aY>=0,s.aX?v=0:k>=1&&k<=6&&(v*=.15*k),w||function(){for(;f<=u.b;){let t=e.az[f-u.a],i=e.aA[f-u.a],n=new Date(i),o=Y(n),s=l.measureText(o).width,r=Math.ceil(t-s/2),a=r>=0;if(a)break;f++}}();let y=Math.min(f,m),C=Math.max(f,m);if((d||1!==o)&&h&&v>0){l.fillStyle="rgba("+r[this.aO]+","+v+")",l.font="14px sans-serif";for(let t=f;t>=y&&t<=C;){let i=e.az[t-u.a],n=e.aA[t-u.a],o=Y(new Date(n)),s=l.measureText(o).width,r=Math.ceil(i-s/2);0!==(t-f)%this.q&&(l.fillText(o,r,16),0),t+=h*g}}let L=t,D=t;l.font="14px sans-serif",l.fillStyle="rgb("+r[this.aO]+")";for(let i=f;i>=y&&i<=C;){let n=e.az[i-u.a],o=e.aA[i-u.a],s=Y(new Date(o)),r=l.measureText(s).width,a=Math.ceil(n-r/2);l.fillText(s,a,16),L===t&&(L=i),D=i,i+=this.q*g,0}s.l=L,s.m=D},b:function(t,e){if(2!==e&&1!==e){let e=this,i=$(this.al);i.font="14px sans-serif";let n=i.measureText("Nov 30").width;e.aN=2*n;let o=this.an.clientWidth/(n+e.aN),s=t.af()/o;let r=Math.floor(s);r=r>=1?r:1,r=Math.pow(2,Math.floor(Math.log2(r))),this.q=r,this.aS=s}},ae:function(){let t=this;return t.i.filter(function(e){return t.k[e]}).map(function(e){return t.ac[e]})},D:function(t){let e=this,i=e.g-e.f,n=Math.floor(e.f+i*e.preview.aK()),o=Math.floor(e.f+i*e.preview.aL()),s=o-n,r=e.al.clientWidth,a=e.ab;t.aD=e.aG;let c=0;for(let i=1;i<a.length;i++){let h=a[i],l=a[i+1],d=i+1<a.length&&n<=l;if(1===i&&(t.aM=(h-n)/s*r),n<=h||d){let o=(h-n)/s*r;t.F(i,o,h);let a=o>=0&&o<=r;for(let n=0;n<t.aD.length;n++){let s=t.aD[n],h=s[0],l=s[i],d=e.k[h];t.G(i,n,h,l,0,d,c,o,a,r)}c++}if(h>o)break}},E:function(e,i,o,s,r,a){o===t&&(o=i.aU);let c=i.aU/o,h=this,l=i.getIndices();let d=h.al.clientHeight-n;if(e.lineWidth=3,e.lineJoin="round",s!==t){let t=h.ac[s],e=h.aH[s];u(t,"rgba("+e[0]+","+e[1]+","+e[2]+","+r+")")}for(let e=0;e<i.aD.length;e++){let n=i.aD[e],o=n[0];if(s===t||s!==o){let t=h.aa[o];h.k[o]&&u(n,t)}}function w(t){let e=t*d/i.aU*c;return d-e+n}function u(t,n){let o=t[0];e.beginPath(),e.strokeStyle=n;for(let t=l.a;t<=l.b;t++){let n=i.az[t-l.a]-a,s=w(i.H(t,o));e.lineTo(n,s)}e.stroke()}},setColorMode:function(e){this.aO="night"===e?1:0,D(this.ag,"data-color-mode",e),this.preview.P(),this.z(t,t,t)},setZoom:function(t,e){this.preview.as=Math.round(t*this.aq.clientWidth),this.preview.at=Math.round(e*this.aq.clientWidth)}},m.createChart=function(t,e){let i=new m(t,e),n=new k(i);return n.I(),i.preview=n,i.setZoom(.6,1),i.resized(),i},v.prototype={F:function(t,e,i){this.ay.push(t),this.az.push(e),this.aA.push(i)},G:function(t,e,i,n,o,s,r,a,c,h){let l=i+":"+t;this.aC[l]=o,this.aB[l]=n,this.aP(r,n,s,a,i,t,c,h)},aP:function(e,i,n,o,s,r,a,c){let h=this;if(n&&(a&&l(i),e>=1)){let t=this.az[e-1],n=t<0,h=!a;if(n||h){let e=n?0:c,a=s+":"+(r-1),h=this.aB[a];l(h+(e-t)*(i-h)/(o-t))}}function l(e){e!==t&&(h.aU===t||e>h.aU)&&(h.aU=e)}},H:function(t,e){let i=e+":"+t;return this.aB[i]},getIndices:function(){return{a:this.ay[0],b:this.ay[this.ay.length-1]}},af:function(){return this.ay.length}};let x=function(){try{return document.createEvent("TouchEvent"),!0}catch(t){return!1}}()?11:7,b=2*x+2;function k(t){return this.aR=t,this}k.prototype={aK:function(){return this.as/this.aR.aq.clientWidth},aL:function(){return this.at/this.aR.aq.clientWidth},u:function(){let t=this.aR.aq.clientWidth;this.chartWidth&&(this.as=t*this.as/this.chartWidth,this.at=t*this.at/this.chartWidth),this.chartWidth=t,M(this.aR.aq)},I:function(){let t=this,e=this.aR.aq;e.addEventListener("mousedown",function(e){t.J(e)},!1),e.addEventListener("mouseup",function(e){t.K(e)},!1),e.addEventListener("mousemove",function(e){t.L(e)},!1),e.addEventListener("touchmove",T,!1),e.addEventListener("touchstart",T,!1),e.addEventListener("touchend",T,!1)},J:function(t){let e=this,i=e.O(t),n=i[0],o=i[1];o&&(e.au=o,e.av=n,e.aw=e.as,e.ax=e.at,this.aZ=0)},K:function(e){let i=this,n=i.O(e)[0];i.au&&i.M(n),i.au=t,i.av=t,this.aZ=0},L:function(t){let e=this,i=e.O(t),n=i[0],o=i[1];e.N(o),e.au&&e.M(n)},M:function(e){let i=this;let n=!1,o=t,s=t;let r=i.as,a=i.at,c=e-i.av,h=i.aR.aq;if(2===i.au){i.as=i.aw+c,i.at-i.as<b?i.as=i.at-b:i.as<0&&(i.as=0),n=!0,o=3,s=4}else if(3===i.au){i.at=i.ax+c,i.at-i.as<b?i.at=i.as+b:i.at>h.clientWidth&&(i.at=h.clientWidth),n=!0,o=3,s=5}else if(1===i.au){let t=h.clientWidth;if(i.as=i.aw+c,i.at=i.ax+c,i.as<0){let t=i.as;i.as-=t,i.at-=t}else if(i.at>t){let e=i.at-t;i.as-=e,i.at-=e}n=!0,o=2}let l=r!==i.as||a!==i.at;i.aY=i.at-i.as-(a-r),n&&l&&(this.aZ++,i.P(),i.aR.a(o,s),i.aR.z(o,s,null))},N:function(t){let e=this.aR.aq;e.style.cursor=2===t||3===t?"ew-resize":1===t?"move":"default"},O:function(e){let i=e.clientX-this.aR.aq.getBoundingClientRect().left,n=this.as,o=this.as+x,s=this.at-x,r=this.at;return i>=n&&i<o?[i,2]:i>=o&&i<s?[i,1]:i>=s&&i<r?[i,3]:[i,t]},P:function(){Date.now();let t=this.aR.aq;let e=$(t);S(e),this.R(e),this.Q(e,t),this.Y(e,t)},Q:function(t,e){let i=this.aR;t.lineWidth=1.3;let n=e.clientWidth,o=e.clientHeight,s=i.aU-i.aT,r=i.ab,a=E(i._,i.Z),c=i.ae();for(let e=0;e<c.length;e++){let h=c[e],l=h[0];t.beginPath(),t.strokeStyle=i.aa[l];for(let e=1;e<h.length;e++){let c=new Date(r[e]),l=h[e],d=E(c,i.Z),w=Math.floor(d/a*n),u=o-(l-i.aT)*o/s;t.lineTo(w,u)}t.stroke()}},R:function(t){let e=this.aR.aq.clientHeight;t.fillStyle=w[this.aR.aO],t.fillRect(this.as,0,x,e),t.fillRect(this.at-x,0,x,e),t.fillRect(this.as+x,0,this.at-this.as-x-x,2),t.fillRect(this.as+x,e-2,this.at-this.as-x-x,2)},Y:function(t,e){let i=this.aR.aq.clientHeight;t.fillStyle=u[this.aR.aO],t.fillRect(0,0,this.as,i),t.fillRect(this.at,0,e.width-this.at,i)}};let y=[0,5,10,15,20,25,32,37,42],C=[1,.7,.5,.4,.3,.2,.1,0,0];function L(t){let i="http://www.w3.org/2000/svg",n=e.createElementNS(i,"svg");D(n,"viewBox","0 0 100 100");let o=e.createElementNS(i,"circle");D(o,"cx","50"),D(o,"cy","50"),D(o,"r","50"),D(o,"fill","none"),D(o,"stroke","black"),D(o,"stroke-width","10");let s=e.createElementNS(i,"polyline");return D(s,"points","25,54 41,67 68,37"),D(s,"fill","none"),D(s,"stroke","white"),D(s,"stroke-width","12"),D(s,"stroke-linecap","round"),W(n,o),W(n,s),this.ag=n,this.ah=o,this.ai=s,this.U("#000"),this.T("#FFF"),this.S(t),this}function D(t,e,i){t.setAttribute(e,i)}function I(t,e,i,n,o,s){return n<2*s&&(s=n/2),o<2*s&&(s=o/2),e+=.5,i+=.5,t.beginPath(),t.moveTo(e+s,i),t.arcTo(e+n,i,e+n,i+o,s),t.arcTo(e+n,i+o,e,i+o,s),t.arcTo(e,i+o,e,i,s),t.arcTo(e,i,e+n,i,s),t.closePath(),t}function M(t,e){e===i&&(e=t),t.width=e.clientWidth*p,t.height=e.clientHeight*p,$(t).scale(p,p)}function S(t){t.clearRect(0,0,t.canvas.width,t.canvas.height)}function T(i){if(i.preventDefault(),i.touches.length>1||"touchend"===i.type&&i.touches.length>0)return;let n=e.createEvent("MouseEvents"),o=t,s=t;switch(i.type){case"touchstart":o="mousedown",s=i.changedTouches[0];break;case"touchmove":o="mousemove",s=i.changedTouches[0];break;case"touchend":o="mouseup",s=i.changedTouches[0]}n.initMouseEvent(o,!0,!0,i.target.ownerDocument.defaultView,0,s.screenX,s.screenY,s.clientX,s.clientY,i.ctrlKey,i.altKey,i.shiftKey,i.metaKey,0,t),i.target.dispatchEvent(n)}function E(t,e){let i=Math.abs(e.getTime()-t.getTime());return Math.ceil(i/864e5)}function $(t){return t.getContext("2d")}function R(t,e,i,n,o,s){t.lineWidth=s,t.beginPath(),t.moveTo(e,i),t.lineTo(n,o),t.stroke()}function W(t,e){t.appendChild(e)}function Y(t,e){e===i&&(e=!1);let n=t.getDate(),o=t.getMonth();let s="";return e&&(s+=g[t.getDay()]+", "),s+=f[o]+" "+n}function A(t){let e=t.match(/^#([0-9a-f]{6})$/i)[1];return[parseInt(e.substr(0,2),16),parseInt(e.substr(2,2),16),parseInt(e.substr(4,2),16)]}L.prototype={X:function(){this.aQ=!this.aQ,this.W(this.aQ)},W:function(t){let e=this,i=y.length;let n=t?i-1:0;let o=t?-1:1,s=function(){e.V(n),((n+=o)>=i||n<0)&&window.clearInterval(r)};s();let r=window.setInterval(s,30)},V:function(t){let e=y[t],i=e+(50-e)/2,n=50-e;D(this.ah,"r",""+i),D(this.ah,"stroke-width",""+n),D(this.ai,"opacity",""+C[t])},U:function(t){D(this.ah,"stroke",t)},T:function(t){D(this.ai,"stroke",t)},S:function(t){this.aQ=t;let e=t?0:this.length-1;this.V(e)}},Math.log2=Math.log2||function(t){return Math.log(t)*Math.LOG2E}}();