iruby-chartkick 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ import "chartkick/chart.js";
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iruby-chartkick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
- - 'Robin Neumann
7
+ - 'Robin Stammer
8
8
 
9
9
  '
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2020-05-02 00:00:00.000000000 Z
13
+ date: 2021-10-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: iruby
@@ -30,16 +30,16 @@ dependencies:
30
30
  name: chartkick
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ">="
33
+ - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '0'
35
+ version: 4.0.5
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ">="
40
+ - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '0'
42
+ version: 4.0.5
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: bundler
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -82,17 +82,17 @@ dependencies:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
84
  version: '3.0'
85
- description:
85
+ description:
86
86
  email:
87
- - robin.neumann@posteo.de
87
+ - robin.stammer@posteo.de
88
88
  executables: []
89
89
  extensions: []
90
90
  extra_rdoc_files: []
91
91
  files:
92
+ - ".github/workflows/build.yml"
92
93
  - ".gitignore"
93
94
  - ".rspec"
94
95
  - ".ruby-version"
95
- - ".travis.yml"
96
96
  - CHANGELOG.md
97
97
  - Gemfile
98
98
  - Gemfile.lock
@@ -113,12 +113,14 @@ files:
113
113
  - lib/iruby/chartkick/scatter_chart.rb
114
114
  - lib/iruby/chartkick/timeline.rb
115
115
  - lib/iruby/chartkick/version.rb
116
- - vendor/assets/javascripts/chartkick.js
117
- - vendor/assets/javascripts/google_charts_loader.js
116
+ - package-lock.json
117
+ - package.json
118
+ - vendor/assets/javascripts/bundle.js
119
+ - vendor/assets/javascripts/main.js
118
120
  homepage: https://github.com/Absolventa/iruby-chartkick
119
121
  licenses: []
120
122
  metadata: {}
121
- post_install_message:
123
+ post_install_message:
122
124
  rdoc_options: []
123
125
  require_paths:
124
126
  - lib
@@ -133,8 +135,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
135
  - !ruby/object:Gem::Version
134
136
  version: '0'
135
137
  requirements: []
136
- rubygems_version: 3.0.3
137
- signing_key:
138
+ rubygems_version: 3.1.6
139
+ signing_key:
138
140
  specification_version: 4
139
141
  summary: Minimalistic wrapper around chartkick to use it within IRuby
140
142
  test_files: []
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.6.5
5
- before_install: gem install bundler -v 1.16.1
@@ -1 +0,0 @@
1
- !function(t){"use strict";var e,n,a,r,o,i,s=t.Chartkick||{},l=[],c=/^(\d\d\d\d)(\-)?(\d\d)(\-)?(\d\d)$/i,u=[],d=0,p=4;function f(t){return"[object Array]"===Object.prototype.toString.call(t)}function h(t){return t instanceof Function}function z(t){return!h(t)&&t instanceof Object}function m(t,e){var n;for(n in e)z(e[n])||f(e[n])?(z(e[n])&&!z(t[n])&&(t[n]={}),f(e[n])&&!f(t[n])&&(t[n]=[]),m(t[n],e[n])):void 0!==e[n]&&(t[n]=e[n])}function g(t,e){var n={};return m(n,t),m(n,e),n}function M(t,e,n,a,r,o,i,s){return function(l,c,u){var d=l.data,p=g({},t);return p=g(p,u||{}),(l.hideLegend||"legend"in c)&&e(p,c.legend,l.hideLegend),c.title&&n(p,c.title),"min"in c?a(p,c.min):function(t){var e,n,a;for(e=0;e<t.length;e++)for(a=t[e].data,n=0;n<a.length;n++)if(a[n][1]<0)return!0;return!1}(d)||a(p,0),c.max&&r(p,c.max),"stacked"in c&&o(p,c.stacked),c.colors&&(p.colors=c.colors),c.xtitle&&i(p,c.xtitle),c.ytitle&&s(p,c.ytitle),p=g(p,c.library||{})}}function v(t,e){document.body.innerText?t.innerText=e:t.textContent=e}function x(t,e){v(t,"Error Loading Chart: "+e),t.style.color="#ff0000"}function b(){if(d<p){var e=u.shift();e&&(d++,n=e[0],a=e[1],r=e[2],function(e,n,a){var r=t.jQuery||t.Zepto||t.$;if(r)r.ajax({dataType:"json",url:e,success:n,error:a,complete:A});else{var o=new XMLHttpRequest;o.open("GET",e,!0),o.setRequestHeader("Content-Type","application/json"),o.onload=function(){A(),200===o.status?n(JSON.parse(o.responseText),o.statusText,o):a(o,"error",o.statusText)},o.send()}}(a,r,function(t,e,a){var r="string"==typeof a?a:a.message;x(n,r)}),b())}var n,a,r}function A(){d--,b()}function y(t,e){try{e(t)}catch(e){throw x(t.element,e.message),e}}function C(t,e,n){var a,r,o;"string"==typeof n?(a=t.element,r=n,o=function(n,a,r){t.rawData=n,y(t,e)},u.push([a,r,o]),b()):(t.rawData=n,y(t,e))}function w(e,n,a){e.addEventListener?e.addEventListener(n,a,!1):e.attachEvent("on"+n,function(){return a.call(e,t.event)})}function S(t,e){if(t===e)return!1;for(;e&&e!==t;)e=e.parentNode;return e===t}function k(t){return""+t}function T(t){return parseFloat(t)}function D(t){var e,r,o,i,s,l,u,d,p,f,h,z,m,g,M,v;if("object"!=typeof t)if("number"==typeof t)t=new Date(1e3*t);else{if(e=(t=k(t)).match(c))return r=parseInt(e[1],10),o=parseInt(e[3],10)-1,i=parseInt(e[5],10),new Date(r,o,i);var x=t.replace(/ /,"T").replace(" ","").replace("UTC","Z");s=x,t=("[object Date]"===(M=Object.prototype.toString.call(s))?s:"[object String]"===M&&(d=s.match(n))?(v=parseInt(d[1],10),h=parseInt(d[3],10)-1,l=parseInt(d[5],10),u=parseInt(d[7],10),f=d[9]?parseInt(d[9],10):0,g=d[11]?parseInt(d[11],10):0,p=d[12]?1e3*parseFloat(a+d[12].slice(1)):0,m=Date.UTC(v,h,l,u,f,g,p),d[13]&&d[14]&&(z=60*d[15],d[17]&&(z+=parseInt(d[17],10)),m-=60*(z*="-"===d[14]?-1:1)*1e3),new Date(m)):void 0)||new Date(t)}return t}function L(t){if(!f(t)){var e,n=[];for(e in t)t.hasOwnProperty(e)&&n.push([e,t[e]]);t=n}return t}function E(t,e){return t[0].getTime()-e[0].getTime()}function B(t,e){return t[0]-e[0]}function I(t,e){return t-e}function O(){var e,n,a,c,u,d,p,h,z,m,v,x,b,A,y,C,w,S,D,L,O,j,H,U,N,V,J,G,K,X,Y,Z,q,$,_,tt,et,nt,at,rt,ot,it,st,lt;!i&&"Chart"in t&&(e=t.Chart,c=["#3366CC","#DC3912","#FF9900","#109618","#990099","#3B3EAC","#0099C6","#DD4477","#66AA00","#B82E2E","#316395","#994499","#22AA99","#AAAA11","#6633CC","#E67300","#8B0707","#329262","#5574A6","#651067"],u=function(t,e,n){void 0!==e?(t.legend.display=!!e,e&&!0!==e&&(t.legend.position=e)):n&&(t.legend.display=!1)},d=function(t,e){t.title.display=!0,t.title.text=e},p=function(t,e){null!==e&&(t.scales.xAxes[0].ticks.min=T(e))},h=function(t,e){t.scales.xAxes[0].ticks.max=T(e)},z=function(t,e){t.scales.xAxes[0].stacked=!!e,t.scales.yAxes[0].stacked=!!e},m=function(t,e){t.scales.xAxes[0].scaleLabel.display=!0,t.scales.xAxes[0].scaleLabel.labelString=e},v=function(t,e){t.scales.yAxes[0].scaleLabel.display=!0,t.scales.yAxes[0].scaleLabel.labelString=e},x=function(t,n,a,r){t.chart?t.chart.destroy():t.element.innerHTML="<canvas></canvas>";var o=t.element.getElementsByTagName("CANVAS")[0];t.chart=new e(o,{type:n,data:a,options:r})},b=function(t,e){var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return n?"rgba("+parseInt(n[1],16)+", "+parseInt(n[2],16)+", "+parseInt(n[3],16)+", "+e+")":t},A=function(t,e,n){var a={prefix:t.options.prefix,suffix:t.options.suffix,thousands:t.options.thousands,decimal:t.options.decimal};if(a.prefix||a.suffix||a.thousands||a.decimal){if("pie"!==n){var r=e.scales.yAxes;"bar"===n&&(r=e.scales.xAxes),r[0].ticks.callback||(r[0].ticks.callback=function(t,e,n){return Q("",t,a)})}if(!e.tooltips.callbacks.label)if("pie"!==n){var o="bar"===n?"xLabel":"yLabel";e.tooltips.callbacks.label=function(t,e){var n=e.datasets[t.datasetIndex].label||"";return n&&(n+=": "),Q(n,t[o],a)}}else e.tooltips.callbacks.label=function(t,e){var n=e.labels[t.index];return f(n)?(n=n.slice())[0]+=": ":n+=": ",Q(n,e.datasets[t.datasetIndex].data[t.index],a)}}},y=M(g(n={maintainAspectRatio:!1,animation:!1,tooltips:{displayColors:!1,callbacks:{}},legend:{},title:{fontSize:20,fontColor:"#333"}},a={scales:{yAxes:[{ticks:{maxTicksLimit:4},scaleLabel:{fontSize:16,fontColor:"#333"}}],xAxes:[{gridLines:{drawOnChartArea:!1},scaleLabel:{fontSize:16,fontColor:"#333"},time:{},ticks:{}}]}}),u,d,function(t,e){null!==e&&(t.scales.yAxes[0].ticks.min=T(e))},function(t,e){t.scales.yAxes[0].ticks.max=T(e)},z,m,v),C=function(t,e,n){var a,r,o,i,s,l,u=[],d=[],p=t.options.colors||c,f=!0,h=!0,z=!0,m=!0,M=!0,v=!0,x=("line"===n||"area"===n)&&!t.discrete,A=t.data,y=[],C=[];for(r=0;r<A.length;r++)for(i=A[r],o=0;o<i.data.length;o++)s=i.data[o],C[l=x?s[0].getTime():s[0]]||(C[l]=new Array(A.length)),C[l][r]=T(s[1]),-1===y.indexOf(l)&&y.push(l);(x||"number"===t.options.xtype)&&y.sort(I);var w,S,k,D,L,E=[];for(o=0;o<A.length;o++)E.push([]);for(S=0;S<y.length;S++)for(r=y[S],x?(w=new Date(T(r)),f=f&&W(w),a||(a=w.getDay()),h=h&&(L=a,W(D=w)&&D.getDay()===L),z=z&&F(w),m=m&&(F(k=w)&&0===k.getMonth()),M=M&&R(w),v=v&&P(w)):w=r,d.push(w),o=0;o<A.length;o++)E[o].push(void 0===C[r][o]?null:C[r][o]);for(r=0;r<A.length;r++){var B=(i=A[r]).color||p[r],O="line"!==n?b(B,.5):B,j={label:i.name,data:E[r],fill:"area"===n,borderColor:B,backgroundColor:O,pointBackgroundColor:B,borderWidth:2};i.stack&&(j.stack=i.stack),!1===t.options.curve&&(j.lineTension=0),!1===t.options.points&&(j.pointRadius=0,j.pointHitRadius=5),u.push(g(j,i.library||{}))}if(x&&d.length>0){var H=d[0].getTime(),Q=d[0].getTime();for(r=1;r<d.length;r++)(w=d[r].getTime())<H&&(H=w),w>Q&&(Q=w);var U,N=(Q-H)/864e5;if(!e.scales.xAxes[0].time.unit)if(m||N>3650?(e.scales.xAxes[0].time.unit="year",U=365):z||N>300?(e.scales.xAxes[0].time.unit="month",U=30):f||N>10?(e.scales.xAxes[0].time.unit="day",U=1):M||N>.5?(e.scales.xAxes[0].time.displayFormats={hour:"MMM D, h a"},e.scales.xAxes[0].time.unit="hour",U=1/24):v&&(e.scales.xAxes[0].time.displayFormats={minute:"h:mm a"},e.scales.xAxes[0].time.unit="minute",U=1/24/60),U&&N>0){var V=Math.ceil(N/U/(t.element.offsetWidth/100));h&&1===U&&(V=7*Math.ceil(V/7)),e.scales.xAxes[0].time.unitStepSize=V}e.scales.xAxes[0].time.tooltipFormat||(f?e.scales.xAxes[0].time.tooltipFormat="ll":M?e.scales.xAxes[0].time.tooltipFormat="MMM D, h a":v&&(e.scales.xAxes[0].time.tooltipFormat="h:mm a"))}return{labels:d,datasets:u}},i={name:"chartjs",renderLineChart:w=function(t,e){if("number"===t.options.xtype)return D(t,e,!0);var n={};!t.options.max&&function(t){var e,n,a;for(e=0;e<t.length;e++)for(a=t[e].data,n=0;n<a.length;n++)if(0!=a[n][1])return!1;return!0}(t.data)&&(n.max=1);var a=y(t,g(n,t.options));A(t,a,e);var r=C(t,a,e||"line");a.scales.xAxes[0].type=t.discrete?"category":"time",x(t,"line",r,a)},renderPieChart:function(t){var e=g({},n);t.options.donut&&(e.cutoutPercentage=50),"legend"in t.options&&u(e,t.options.legend),t.options.title&&d(e,t.options.title),e=g(e,t.options.library||{}),A(t,e,"pie");for(var a=[],r=[],o=0;o<t.data.length;o++){var i=t.data[o];a.push(i[0]),r.push(i[1])}var s={labels:a,datasets:[{data:r,backgroundColor:t.options.colors||c}]};x(t,"pie",s,e)},renderColumnChart:S=function(t,e){var r;r="bar"===e?M(g(n,a),u,d,p,h,z,m,v)(t,t.options):y(t,t.options),A(t,r,e);var o,i,s,l,c=C(t,r,"column");"bar"!==e&&(o=t,i=c,s=r,(l=Math.ceil(o.element.offsetWidth/4/i.labels.length))>25&&(l=25),s.scales.xAxes[0].ticks.callback=function(t){return(t=k(t)).length>l?t.substring(0,l-2)+"...":t}),x(t,"bar"===e?"horizontalBar":"bar",c,r)},renderBarChart:function(t){S(t,"bar")},renderAreaChart:function(t){w(t,"area")},renderScatterChart:D=function(t,e,n){e=e||"line";var a=y(t,t.options);n||A(t,a,e);for(var r=t.options.colors||c,o=[],i=t.data,s=0;s<i.length;s++){for(var l=i[s],u=[],d=0;d<l.data.length;d++){var p={x:T(l.data[d][0]),y:T(l.data[d][1])};"bubble"===e&&(p.r=T(l.data[d][2])),u.push(p)}var f=l.color||r[s],h="area"===e?b(f,.5):f;o.push({label:l.name,showLine:n||!1,data:u,borderColor:f,backgroundColor:h,pointBackgroundColor:f,fill:"area"===e})}"area"===e&&(e="line");var z={datasets:o};a.scales.xAxes[0].type="linear",a.scales.xAxes[0].position="bottom",x(t,e,z,a)},renderBubbleChart:function(t){D(t,"bubble")}},l.push(i)),!o&&"Highcharts"in t&&(L=t.Highcharts,U=M(O={chart:{},xAxis:{title:{text:null},labels:{style:{fontSize:"12px"}}},yAxis:{title:{text:null},labels:{style:{fontSize:"12px"}}},title:{text:null},credits:{enabled:!1},legend:{borderWidth:0},tooltip:{style:{fontSize:"12px"}},plotOptions:{areaspline:{},series:{marker:{}}}},j=function(t,e,n){void 0!==e?(t.legend.enabled=!!e,e&&!0!==e&&("top"===e||"bottom"===e?t.legend.verticalAlign=e:(t.legend.layout="vertical",t.legend.verticalAlign="middle",t.legend.align=e))):n&&(t.legend.enabled=!1)},H=function(t,e){t.title.text=e},function(t,e){t.yAxis.min=e},function(t,e){t.yAxis.max=e},function(t,e){t.plotOptions.series.stacking=e?"normal":null},function(t,e){t.xAxis.title.text=e},function(t,e){t.yAxis.title.text=e}),N=function(t,e,n){t.chart&&t.chart.destroy(),n.chart.renderTo=t.element.id,n.series=e,t.chart=new L.Chart(n)},V=function(t,e,n){var a={prefix:t.options.prefix,suffix:t.options.suffix,thousands:t.options.thousands,decimal:t.options.decimal};(a.prefix||a.suffix||a.thousands||a.decimal)&&("pie"===n||e.yAxis.labels.formatter||(e.yAxis.labels.formatter=function(){return Q("",this.value,a)}),e.tooltip.pointFormatter||(e.tooltip.pointFormatter=function(){return'<span style="color:'+this.color+">●</span> "+Q(this.series.name+": <b>",this.y,a)+"</b><br/>"}))},o={name:"highcharts",renderLineChart:J=function(t,e){var n={};"areaspline"===(e=e||"spline")&&(n={plotOptions:{areaspline:{stacking:"normal"},area:{stacking:"normal"},series:{marker:{enabled:!1}}}}),!1===t.options.curve&&("areaspline"===e?e="area":"spline"===e&&(e="line"));var a,r,o,i=U(t,t.options,n);i.xAxis.type=t.discrete?"category":"datetime",i.chart.type||(i.chart.type=e),V(t,i,e);var s=t.data;for(r=0;r<s.length;r++){if(a=s[r].data,!t.discrete)for(o=0;o<a.length;o++)a[o][0]=a[o][0].getTime();s[r].marker={symbol:"circle"},!1===t.options.points&&(s[r].marker.enabled=!1)}N(t,s,i)},renderPieChart:function(t){var e=g(O,{});t.options.colors&&(e.colors=t.options.colors),t.options.donut&&(e.plotOptions={pie:{innerSize:"50%"}}),"legend"in t.options&&j(e,t.options.legend),t.options.title&&H(e,t.options.title);var n=g(e,t.options.library||{});V(t,n,"pie");var a=[{type:"pie",name:t.options.label||"Value",data:t.data}];N(t,a,n)},renderColumnChart:G=function(t,e){e=e||"column";var n,a,r,o,i=t.data,s=U(t,t.options),l=[],c=[];for(s.chart.type=e,V(t,s,e),n=0;n<i.length;n++)for(r=i[n],a=0;a<r.data.length;a++)l[(o=r.data[a])[0]]||(l[o[0]]=new Array(i.length),c.push(o[0])),l[o[0]][n]=o[1];"number"===t.options.xtype&&c.sort(I),s.xAxis.categories=c;var u,d=[];for(n=0;n<i.length;n++){for(o=[],a=0;a<c.length;a++)o.push(l[c[a]][n]||0);u={name:i[n].name,data:o},i[n].stack&&(u.stack=i[n].stack),d.push(u)}N(t,d,s)},renderBarChart:function(t){G(t,"bar")},renderAreaChart:function(t){J(t,"areaspline")},renderScatterChart:function(t){var e=U(t,t.options,{});e.chart.type="scatter",N(t,t.data,e)}},l.push(o)),!r&&t.google&&(t.google.setOnLoadCallback||t.google.charts)&&(K=t.google,X={},Y=[],Z=function(){for(var t,e=0;e<Y.length;e++)t=Y[e],K.visualization&&("corechart"===t.pack&&K.visualization.LineChart||"timeline"===t.pack&&K.visualization.Timeline)&&(t.callback(),Y.splice(e,1),e--)},q=function(e,n){if(n||(n=e,e="corechart"),Y.push({pack:e,callback:n}),X[e])Z();else{X[e]=!0;var a={packages:[e],callback:Z};s.language&&(a.language=s.language),"corechart"===e&&s.mapsApiKey&&(a.mapsApiKey=s.mapsApiKey),t.google.setOnLoadCallback?K.load("visualization","1",a):K.charts.load("current",a)}},et=function(t,e){t.hAxis.viewWindow.min=e},nt=function(t,e){t.hAxis.viewWindow.max=e},it=M($={chartArea:{},fontName:"'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif",pointSize:6,legend:{textStyle:{fontSize:12,color:"#444"},alignment:"center",position:"right"},curveType:"function",hAxis:{textStyle:{color:"#666",fontSize:12},titleTextStyle:{},gridlines:{color:"transparent"},baselineColor:"#ccc",viewWindow:{}},vAxis:{textStyle:{color:"#666",fontSize:12},titleTextStyle:{},baselineColor:"#ccc",viewWindow:{}},tooltip:{textStyle:{color:"#666",fontSize:12}}},_=function(t,e,n){var a;void 0!==e?(a=e?!0===e?"right":e:"none",t.legend.position=a):n&&(t.legend.position="none")},tt=function(t,e){t.title=e,t.titleTextStyle={color:"#333",fontSize:"20px"}},function(t,e){t.vAxis.viewWindow.min=e},function(t,e){t.vAxis.viewWindow.max=e},at=function(t,e){t.isStacked=!!e},rt=function(t,e){t.hAxis.title=e,t.hAxis.titleTextStyle.italic=!1},ot=function(t,e){t.vAxis.title=e,t.vAxis.titleTextStyle.italic=!1}),st=function(t,e,n){var a,r,o,i,s,l=[],c=[];for(a=0;a<t.length;a++)for(o=t[a],r=0;r<o.data.length;r++)i=o.data[r],l[s="datetime"===e?i[0].getTime():i[0]]||(l[s]=new Array(t.length),c.push(s)),l[s][a]=T(i[1]);var u,d=[],p=!0;for(r=0;r<c.length;r++)a=c[r],"datetime"===e?(u=new Date(T(a)),p=p&&W(u)):u="number"===e?T(a):a,d.push([u].concat(l[a]));if("datetime"===e?d.sort(E):"number"===e&&d.sort(B),"number"===n)for(d.sort(B),a=0;a<d.length;a++)d[a][0]=k(d[a][0]);var f=new K.visualization.DataTable;for(e="datetime"===e&&p?"date":e,f.addColumn(e,""),a=0;a<t.length;a++)f.addColumn("number",t[a].name);return f.addRows(d),f},lt=function(e,n,a,r){var o;e.chart&&e.chart.clearChart(),e.chart=new n(e.element),o=function(){e.chart.draw(a,r)},t.attachEvent?t.attachEvent("onresize",o):t.addEventListener&&t.addEventListener("resize",o,!0),o()},r={name:"google",renderLineChart:function(t){q(function(){var e={};!1===t.options.curve&&(e.curveType="none"),!1===t.options.points&&(e.pointSize=0);var n=it(t,t.options,e),a=t.discrete?"string":"datetime";"number"===t.options.xtype&&(a="number");var r=st(t.data,a);lt(t,K.visualization.LineChart,r,n)})},renderPieChart:function(t){q(function(){var e={chartArea:{top:"10%",height:"80%"},legend:{}};t.options.colors&&(e.colors=t.options.colors),t.options.donut&&(e.pieHole=.5),"legend"in t.options&&_(e,t.options.legend),t.options.title&&tt(e,t.options.title);var n=g(g($,e),t.options.library||{}),a=new K.visualization.DataTable;a.addColumn("string",""),a.addColumn("number","Value"),a.addRows(t.data),lt(t,K.visualization.PieChart,a,n)})},renderColumnChart:function(t){q(function(){var e=it(t,t.options),n=st(t.data,"string",t.options.xtype);lt(t,K.visualization.ColumnChart,n,e)})},renderBarChart:function(t){q(function(){var e=M($,_,tt,et,nt,at,rt,ot)(t,t.options,{hAxis:{gridlines:{color:"#ccc"}}}),n=st(t.data,"string",t.options.xtype);lt(t,K.visualization.BarChart,n,e)})},renderAreaChart:function(t){q(function(){var e=it(t,t.options,{isStacked:!0,pointSize:0,areaOpacity:.5}),n=t.discrete?"string":"datetime";"number"===t.options.xtype&&(n="number");var a=st(t.data,n);lt(t,K.visualization.AreaChart,a,e)})},renderScatterChart:function(t){q(function(){var e,n,a,r,o=it(t,t.options,{}),i=t.data,s=[];for(e=0;e<i.length;e++)for(r=i[e].data,n=0;n<r.length;n++){var l=new Array(i.length+1);l[0]=r[n][0],l[e+1]=r[n][1],s.push(l)}for((a=new K.visualization.DataTable).addColumn("number",""),e=0;e<i.length;e++)a.addColumn("number",i[e].name);a.addRows(s),lt(t,K.visualization.ScatterChart,a,o)})},renderGeoChart:function(t){q(function(){var e={legend:"none",colorAxis:{colors:t.options.colors||["#f6c7b6","#ce502d"]}},n=g(g($,e),t.options.library||{}),a=new K.visualization.DataTable;a.addColumn("string",""),a.addColumn("number",t.options.label||"Value"),a.addRows(t.data),lt(t,K.visualization.GeoChart,a,n)})},renderTimeline:function(t){q("timeline",function(){var e={legend:"none"};t.options.colors&&(e.colors=t.options.colors);var n=g(g($,e),t.options.library||{}),a=new K.visualization.DataTable;a.addColumn({type:"string",id:"Name"}),a.addColumn({type:"date",id:"Start"}),a.addColumn({type:"date",id:"End"}),a.addRows(t.data),t.element.style.lineHeight="normal",lt(t,K.visualization.Timeline,a,n)})}},l.push(r))}function j(t,e){e.options.messages&&e.options.messages.empty&&function(t,e){if("PieChart"===e||"GeoChart"===e||"Timeline"===e)return 0===t.length;for(var n=0;n<t.length;n++)if(t[n].data.length>0)return!1;return!0}(e.data,t)?v(e.element,e.options.messages.empty):(function(t,e){var n,a,r,o;for(r="render"+t,o=e.options.adapter,O(),n=0;n<l.length;n++)if(a=l[n],(!o||o===a.name)&&h(a[r]))return e.adapter=a.name,a[r](e);throw new Error("No adapter found")}(t,e),e.options.download&&!e.downloadAttached&&"chartjs"===e.adapter&&function(t){var e=t.element,n=document.createElement("a");n.download=!0===t.options.download?"chart.png":t.options.download,n.style.position="absolute",n.style.top="20px",n.style.right="20px",n.style.zIndex=1e3,n.style.lineHeight="20px",n.target="_blank";var a=document.createElement("img");a.alt="Download",a.style.border="none",a.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAABCFBMVEUAAADMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMywEsqxAAAAV3RSTlMAAQIDBggJCgsMDQ4PERQaHB0eISIjJCouLzE0OTo/QUJHSUpLTU5PUllhYmltcHh5foWLjI+SlaCio6atr7S1t7m6vsHHyM7R2tze5Obo7fHz9ff5+/1hlxK2AAAA30lEQVQYGUXBhVYCQQBA0TdYWAt2d3d3YWAHyur7/z9xgD16Lw0DW+XKx+1GgX+FRzM3HWQWrHl5N/oapW5RPe0PkBu+UYeICvozTWZVK23Ao04B79oJrOsJDOoxkZoQPWgX29pHpCZEk7rEvQYiNSFq1UMqvlCjJkRBS1R8hb00Vb/TajtBL7nTHE1X1vyMQF732dQhyF2o6SAwrzP06iUQzvwsArlnzcOdrgBhJyHa1QOgO9U1GsKuvjUTjavliZYQ8nNPapG6sap/3nrIdJ6bOWzmX/fy0XVpfzZP3S8OJT3g9EEiJwAAAABJRU5ErkJggg==",n.appendChild(a),e.style.position="relative",t.downloadAttached=!0,w(e,"mouseover",function(a){var r=a.relatedTarget;(!r||r!==this&&!S(this,r)&&t.options.download)&&(n.href=t.toImage(),e.appendChild(n))}),w(e,"mouseout",function(t){var e=t.relatedTarget;e&&(e===this||S(this,e))||n.parentNode&&n.parentNode.removeChild(n)})}(e))}n=/(\d\d\d\d)(\-)?(\d\d)(\-)?(\d\d)(T)?(\d\d)(:)?(\d\d)?(:)?(\d\d)?([\.,]\d+)?($|Z|([\+\-])(\d\d)(:)?(\d\d)?)/i,a=String(1.5).charAt(1);var H=function(t,e){var n,a,r,o,i=[];for(a=0;a<t.length;a++)"bubble"===e?i.push([T(t[a][0]),T(t[a][1]),T(t[a][2])]):(r=t[a][0],n=r="number"===(o=e)?T(r):"datetime"===o?D(r):k(r),i.push([n,T(t[a][1])]));return"datetime"===e?i.sort(E):"number"===e&&i.sort(B),i};function P(t){return 0===t.getMilliseconds()&&0===t.getSeconds()}function R(t){return P(t)&&0===t.getMinutes()}function W(t){return R(t)&&0===t.getHours()}function F(t){return W(t)&&1===t.getDate()}function Q(t,e,n){if(n.thousands||n.decimal){var a=(e=k(e)).split(".");e=a[0],n.thousands&&(e=e.replace(/(\d)(?=(\d{3})+(?!\d))/g,n.thousands)),a.length>1&&(e+=(n.decimal||".")+a[1])}return t=t||"",n.prefix&&(e<0&&(e*=-1,t+="-"),t+=n.prefix),t+e+(n.suffix||"")}function U(t,e){var n,a=t.options,r=t.rawData;for(!f(r)||"object"!=typeof r[0]||f(r[0])?(r=[{name:a.label||"Value",data:r}],t.hideLegend=!0):t.hideLegend=!1,null!==a.discrete&&void 0!==a.discrete||"bubble"===e||"number"===e?t.discrete=a.discrete:t.discrete=function(t){var e,n,a,r;for(e=0;e<t.length;e++)for(a=L(t[e].data),n=0;n<a.length;n++)if(r=a[n][0],isNaN(D(r))||!(k(r).length>=6))return!0;return!1}(r),t.discrete&&(e="string"),t.options.xtype&&(e=t.options.xtype),r=function(t){var e,n,a=[];for(e=0;e<t.length;e++){var r={};for(n in t[e])t[e].hasOwnProperty(n)&&(r[n]=t[e][n]);a.push(r)}return a}(r),n=0;n<r.length;n++)r[n].data=H(L(r[n].data),e);return r}function N(t){var e,n=L(t.rawData);for(e=0;e<n.length;e++)n[e]=[k(n[e][0]),T(n[e][1])];return n}function V(t){var e,n=t.rawData;for(e=0;e<n.length;e++)n[e][1]=D(n[e][1]),n[e][2]=D(n[e][2]);return n}function J(t){return U(t,"datetime")}function G(t){return U(t,"string")}function K(t){return U(t,"string")}function X(t){return U(t,"datetime")}function Y(t){return U(t,"number")}function Z(t){return U(t,"bubble")}function q(t,n,a,r,o,i){var s;if("string"==typeof a&&(s=a,!(a=document.getElementById(a))))throw new Error("No element with id "+s);n.element=a,o=g(e.options,o||{}),n.options=o,n.dataSource=r,i||(i=function(t){return t.rawData}),n.getElement=function(){return a},n.getDataSource=function(){return n.dataSource},n.getData=function(){return n.data},n.getOptions=function(){return n.options},n.getChartObject=function(){return n.chart},n.getAdapter=function(){return n.adapter};var l=function(){n.data=i(n),j(t,n)};n.updateData=function(t,a){n.dataSource=t,a&&(n.options=g(e.options,a)),C(n,l,t)},n.setOptions=function(t){n.options=g(e.options,t),n.redraw()},n.redraw=function(){C(n,l,n.rawData)},n.refreshData=function(){if("string"==typeof n.dataSource){var t=-1===n.dataSource.indexOf("?")?"?":"&",e=n.dataSource+t+"_="+(new Date).getTime();C(n,l,e)}},n.stopRefresh=function(){n.intervalId&&clearInterval(n.intervalId)},n.toImage=function(){return"chartjs"===n.adapter?n.chart.toBase64Image():null},e.charts[a.id]=n,C(n,l,r),o.refresh&&(n.intervalId=setInterval(function(){n.refreshData()},1e3*o.refresh))}e={LineChart:function(t,e,n){q("LineChart",this,t,e,n,J)},PieChart:function(t,e,n){q("PieChart",this,t,e,n,N)},ColumnChart:function(t,e,n){q("ColumnChart",this,t,e,n,G)},BarChart:function(t,e,n){q("BarChart",this,t,e,n,K)},AreaChart:function(t,e,n){q("AreaChart",this,t,e,n,X)},GeoChart:function(t,e,n){q("GeoChart",this,t,e,n,N)},ScatterChart:function(t,e,n){q("ScatterChart",this,t,e,n,Y)},BubbleChart:function(t,e,n){q("BubbleChart",this,t,e,n,Z)},Timeline:function(t,e,n){q("Timeline",this,t,e,n,V)},charts:{},configure:function(t){for(var e in t)t.hasOwnProperty(e)&&(s[e]=t[e])},eachChart:function(t){for(var n in e.charts)e.charts.hasOwnProperty(n)&&t(e.charts[n])},options:{},adapters:l,createChart:q},"object"==typeof module&&"object"==typeof module.exports?module.exports=e:t.Chartkick=e}(window);