-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathharry.timeline.min.js
5 lines (5 loc) · 2.45 KB
/
harry.timeline.min.js
1
2
3
4
5
harry.timeline=function(){var g=function(a){if(/^(\d{4})\D(\d{2})\D(\d{2})(?:\D(\d{2}))?(?:\D(\d{2}))?(?:\D(\d{2}))?/.test(a))return new Date(Date.UTC(RegExp.$1,RegExp.$2-1,RegExp.$3,RegExp.$4||0,RegExp.$5||0,RegExp.$6||0));console.error("unable to parse date ",a," please setup a parser");return null},w=function(a){return a.getFullYear()},x=function(a){return a.toISOString().substr(0,7)},y=function(a){return a.getDate()},z=function(a){return a.getHours()+"h"},A=function(a){return a.toTimeString().substr(0,
5)},B=function(a){return a.toTimeString().substr(0,8)},C={eval:function(a){return a.getFullYear()},next:function(a){return a+1},date:function(a){return new Date(a+"-01-01T00:00:00Z")}},D={eval:function(a){return(new Date(Date.UTC(a.getFullYear(),a.getMonth(),1))).toISOString()},next:function(a){var c=parseInt(a.substr(0,4),10);a=parseInt(a.substr(5,2),10)+1;12<a&&(c++,a=1);return(new Date(Date.UTC(c,a-1,1))).toISOString()},date:function(a){var c=parseInt(a.substr(0,4),10);a=parseInt(a.substr(5,2),
10);return new Date(Date.UTC(c,a-1,1))}},E={eval:function(a){return Math.floor(a.getTime()/864E5)},next:function(a){return a+1},date:function(a){return new Date(864E5*a)}},F={eval:function(a){return Math.floor(a.getTime()/36E5)},next:function(a){return a+1},date:function(a){return new Date(36E5*a)}},G={eval:function(a){return Math.floor(a.getTime()/6E4)},next:function(a){return a+1},date:function(a){return new Date(6E4*a)}},H={eval:function(a){return Math.floor(a.getTime()/1E3)},next:function(a){return a+
1},date:function(a){return new Date(1E3*a)}},e=function(a,c,d,g){var e=null,k=null,q=[],l=[],m=[],t=[],u={},f,h,b,r;a instanceof Array||(a=[a]);for(f in a){var p={},n=a[f];n.datas&&(n=n.datas);for(r in n){b=d(r);b=c.eval(b);if(null===e||b<e)e=b;if(null===k||b>k)k=b;var v=parseFloat(n[r]);p[b]=p[b]?p[b]+v:v}l.push(p);m.push(a[f].datas?{title:a[f].title,color:a[f].color}:{title:!1,color:!1})}for(h in l){d={values:[]};m[h].title&&(d.title=m[h].title);m[h].color&&(d.color=m[h].color);if(0==h)for(b=e,
a=0;b<=k;b=c.next(b),a++)t.push(g(c.date(b))),u[b]=a;for(b=e;b<=k;b=c.next(b))d.values.push(null);d.labels=t;q.push(d)}for(f in l)for(b in l[f])h=u[b],q[f].values[h]=l[f][b];return q};return{year:function(a,c,d){return e(a,C,c||g,d||w)},month:function(a,c,d){return e(a,D,c||g,d||x)},day:function(a,c,d){return e(a,E,c||g,d||y)},hour:function(a,c,d){return e(a,F,c||g,d||z)},minute:function(a,c,d){return e(a,G,c||g,d||A)},second:function(a,c,d){return e(a,H,c||g,d||B)}}}();