chartkick 3.0.1 → 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of chartkick might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +35 -1
- data/lib/chartkick.rb +1 -1
- data/lib/chartkick/helper.rb +3 -1
- data/lib/chartkick/version.rb +1 -1
- data/vendor/assets/javascripts/Chart.bundle.js +5754 -5711
- data/vendor/assets/javascripts/chartkick.js +59 -19
- metadata +4 -4
@@ -2,7 +2,7 @@
|
|
2
2
|
* Chartkick.js
|
3
3
|
* Create beautiful charts with one line of JavaScript
|
4
4
|
* https://github.com/ankane/chartkick.js
|
5
|
-
* v3.0.
|
5
|
+
* v3.0.2
|
6
6
|
* MIT License
|
7
7
|
*/
|
8
8
|
|
@@ -262,6 +262,15 @@
|
|
262
262
|
return pre + value + (options.suffix || "");
|
263
263
|
}
|
264
264
|
|
265
|
+
function seriesOption(chart, series, option) {
|
266
|
+
if (option in series) {
|
267
|
+
return series[option];
|
268
|
+
} else if (option in chart.options) {
|
269
|
+
return chart.options[option];
|
270
|
+
}
|
271
|
+
return null;
|
272
|
+
}
|
273
|
+
|
265
274
|
function allZeros(data) {
|
266
275
|
var i, j, d;
|
267
276
|
for (i = 0; i < data.length; i++) {
|
@@ -594,11 +603,13 @@
|
|
594
603
|
dataset.stack = s.stack;
|
595
604
|
}
|
596
605
|
|
597
|
-
|
606
|
+
var curve = seriesOption(chart, s, "curve");
|
607
|
+
if (curve === false) {
|
598
608
|
dataset.lineTension = 0;
|
599
609
|
}
|
600
610
|
|
601
|
-
|
611
|
+
var points = seriesOption(chart, s, "points");
|
612
|
+
if (points === false) {
|
602
613
|
dataset.pointRadius = 0;
|
603
614
|
dataset.pointHitRadius = 5;
|
604
615
|
}
|
@@ -1427,12 +1438,10 @@
|
|
1427
1438
|
};
|
1428
1439
|
|
1429
1440
|
defaultExport$2.prototype.runCallbacks = function runCallbacks () {
|
1430
|
-
var this$1 = this;
|
1431
|
-
|
1432
1441
|
var cb, call;
|
1433
1442
|
for (var i = 0; i < callbacks.length; i++) {
|
1434
1443
|
cb = callbacks[i];
|
1435
|
-
call = this
|
1444
|
+
call = this.library.visualization && ((cb.pack === "corechart" && this.library.visualization.LineChart) || (cb.pack === "timeline" && this.library.visualization.Timeline));
|
1436
1445
|
if (call) {
|
1437
1446
|
cb.callback();
|
1438
1447
|
callbacks.splice(i, 1);
|
@@ -1599,7 +1608,15 @@
|
|
1599
1608
|
function addDownloadButton(chart) {
|
1600
1609
|
var element = chart.element;
|
1601
1610
|
var link = document.createElement("a");
|
1602
|
-
|
1611
|
+
|
1612
|
+
var download = chart.options.download;
|
1613
|
+
if (download === true) {
|
1614
|
+
download = {};
|
1615
|
+
} else if (typeof download === "string") {
|
1616
|
+
download = {filename: download};
|
1617
|
+
}
|
1618
|
+
link.download = download.filename || "chart.png"; // https://caniuse.com/download
|
1619
|
+
|
1603
1620
|
link.style.position = "absolute";
|
1604
1621
|
link.style.top = "20px";
|
1605
1622
|
link.style.right = "20px";
|
@@ -1622,7 +1639,7 @@
|
|
1622
1639
|
var related = e.relatedTarget;
|
1623
1640
|
// check download option again to ensure it wasn't changed
|
1624
1641
|
if ((!related || (related !== this && !childOf(this, related))) && chart.options.download) {
|
1625
|
-
link.href = chart.toImage();
|
1642
|
+
link.href = chart.toImage(download);
|
1626
1643
|
element.appendChild(link);
|
1627
1644
|
}
|
1628
1645
|
});
|
@@ -1935,6 +1952,10 @@
|
|
1935
1952
|
|
1936
1953
|
var refresh = this.options.refresh;
|
1937
1954
|
|
1955
|
+
if (refresh && typeof this.dataSource !== "string") {
|
1956
|
+
throw new Error("Data source must be a URL for refresh");
|
1957
|
+
}
|
1958
|
+
|
1938
1959
|
if (!this.intervalId) {
|
1939
1960
|
if (refresh) {
|
1940
1961
|
this.intervalId = setInterval( function () {
|
@@ -1953,10 +1974,26 @@
|
|
1953
1974
|
}
|
1954
1975
|
};
|
1955
1976
|
|
1956
|
-
Chart.prototype.toImage = function toImage () {
|
1977
|
+
Chart.prototype.toImage = function toImage (download) {
|
1957
1978
|
if (this.adapter === "chartjs") {
|
1958
|
-
|
1979
|
+
if (download && download.background && download.background !== "transparent") {
|
1980
|
+
// https://stackoverflow.com/questions/30464750/chartjs-line-chart-set-background-color
|
1981
|
+
var canvas = this.chart.chart.canvas;
|
1982
|
+
var ctx = this.chart.chart.ctx;
|
1983
|
+
var tmpCanvas = document.createElement("canvas");
|
1984
|
+
var tmpCtx = tmpCanvas.getContext("2d");
|
1985
|
+
tmpCanvas.width = ctx.canvas.width;
|
1986
|
+
tmpCanvas.height = ctx.canvas.height;
|
1987
|
+
tmpCtx.fillStyle = download.background;
|
1988
|
+
tmpCtx.fillRect(0, 0, tmpCanvas.width, tmpCanvas.height);
|
1989
|
+
tmpCtx.drawImage(canvas, 0, 0);
|
1990
|
+
return tmpCanvas.toDataURL("image/png");
|
1991
|
+
} else {
|
1992
|
+
return this.chart.toBase64Image();
|
1993
|
+
}
|
1959
1994
|
} else {
|
1995
|
+
// TODO throw error in next major version
|
1996
|
+
// throw new Error("Feature only available for Chart.js");
|
1960
1997
|
return null;
|
1961
1998
|
}
|
1962
1999
|
};
|
@@ -1993,7 +2030,7 @@
|
|
1993
2030
|
return config;
|
1994
2031
|
};
|
1995
2032
|
|
1996
|
-
var LineChart = (function (Chart) {
|
2033
|
+
var LineChart = /*@__PURE__*/(function (Chart) {
|
1997
2034
|
function LineChart () {
|
1998
2035
|
Chart.apply(this, arguments);
|
1999
2036
|
}
|
@@ -2013,7 +2050,7 @@
|
|
2013
2050
|
return LineChart;
|
2014
2051
|
}(Chart));
|
2015
2052
|
|
2016
|
-
var PieChart = (function (Chart) {
|
2053
|
+
var PieChart = /*@__PURE__*/(function (Chart) {
|
2017
2054
|
function PieChart () {
|
2018
2055
|
Chart.apply(this, arguments);
|
2019
2056
|
}
|
@@ -2033,7 +2070,7 @@
|
|
2033
2070
|
return PieChart;
|
2034
2071
|
}(Chart));
|
2035
2072
|
|
2036
|
-
var ColumnChart = (function (Chart) {
|
2073
|
+
var ColumnChart = /*@__PURE__*/(function (Chart) {
|
2037
2074
|
function ColumnChart () {
|
2038
2075
|
Chart.apply(this, arguments);
|
2039
2076
|
}
|
@@ -2053,7 +2090,7 @@
|
|
2053
2090
|
return ColumnChart;
|
2054
2091
|
}(Chart));
|
2055
2092
|
|
2056
|
-
var BarChart = (function (Chart) {
|
2093
|
+
var BarChart = /*@__PURE__*/(function (Chart) {
|
2057
2094
|
function BarChart () {
|
2058
2095
|
Chart.apply(this, arguments);
|
2059
2096
|
}
|
@@ -2073,7 +2110,7 @@
|
|
2073
2110
|
return BarChart;
|
2074
2111
|
}(Chart));
|
2075
2112
|
|
2076
|
-
var AreaChart = (function (Chart) {
|
2113
|
+
var AreaChart = /*@__PURE__*/(function (Chart) {
|
2077
2114
|
function AreaChart () {
|
2078
2115
|
Chart.apply(this, arguments);
|
2079
2116
|
}
|
@@ -2093,7 +2130,7 @@
|
|
2093
2130
|
return AreaChart;
|
2094
2131
|
}(Chart));
|
2095
2132
|
|
2096
|
-
var GeoChart = (function (Chart) {
|
2133
|
+
var GeoChart = /*@__PURE__*/(function (Chart) {
|
2097
2134
|
function GeoChart () {
|
2098
2135
|
Chart.apply(this, arguments);
|
2099
2136
|
}
|
@@ -2113,7 +2150,7 @@
|
|
2113
2150
|
return GeoChart;
|
2114
2151
|
}(Chart));
|
2115
2152
|
|
2116
|
-
var ScatterChart = (function (Chart) {
|
2153
|
+
var ScatterChart = /*@__PURE__*/(function (Chart) {
|
2117
2154
|
function ScatterChart () {
|
2118
2155
|
Chart.apply(this, arguments);
|
2119
2156
|
}
|
@@ -2133,7 +2170,7 @@
|
|
2133
2170
|
return ScatterChart;
|
2134
2171
|
}(Chart));
|
2135
2172
|
|
2136
|
-
var BubbleChart = (function (Chart) {
|
2173
|
+
var BubbleChart = /*@__PURE__*/(function (Chart) {
|
2137
2174
|
function BubbleChart () {
|
2138
2175
|
Chart.apply(this, arguments);
|
2139
2176
|
}
|
@@ -2153,7 +2190,7 @@
|
|
2153
2190
|
return BubbleChart;
|
2154
2191
|
}(Chart));
|
2155
2192
|
|
2156
|
-
var Timeline = (function (Chart) {
|
2193
|
+
var Timeline = /*@__PURE__*/(function (Chart) {
|
2157
2194
|
function Timeline () {
|
2158
2195
|
Chart.apply(this, arguments);
|
2159
2196
|
}
|
@@ -2196,6 +2233,9 @@
|
|
2196
2233
|
}
|
2197
2234
|
}
|
2198
2235
|
},
|
2236
|
+
setDefaultOptions: function (opts) {
|
2237
|
+
Chartkick.options = opts;
|
2238
|
+
},
|
2199
2239
|
eachChart: function (callback) {
|
2200
2240
|
for (var chartId in Chartkick.charts) {
|
2201
2241
|
if (Chartkick.charts.hasOwnProperty(chartId)) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chartkick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -69,7 +69,7 @@ files:
|
|
69
69
|
- lib/chartkick/version.rb
|
70
70
|
- vendor/assets/javascripts/Chart.bundle.js
|
71
71
|
- vendor/assets/javascripts/chartkick.js
|
72
|
-
homepage: https://
|
72
|
+
homepage: https://chartkick.com
|
73
73
|
licenses:
|
74
74
|
- MIT
|
75
75
|
metadata: {}
|
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
89
|
version: '0'
|
90
90
|
requirements: []
|
91
91
|
rubyforge_project:
|
92
|
-
rubygems_version: 2.7.
|
92
|
+
rubygems_version: 2.7.6
|
93
93
|
signing_key:
|
94
94
|
specification_version: 4
|
95
95
|
summary: Create beautiful JavaScript charts with one line of Ruby
|