highcharts-rails 4.2.0 → 4.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.markdown +37 -0
- data/app/assets/javascripts/highcharts.js +690 -489
- data/app/assets/javascripts/highcharts/highcharts-3d.js +9 -8
- data/app/assets/javascripts/highcharts/highcharts-more.js +88 -99
- data/app/assets/javascripts/highcharts/modules/boost.js +88 -89
- data/app/assets/javascripts/highcharts/modules/broken-axis.js +3 -3
- data/app/assets/javascripts/highcharts/modules/canvas-tools.js +2 -2
- data/app/assets/javascripts/highcharts/modules/data.js +2 -2
- data/app/assets/javascripts/highcharts/modules/exporting.js +5 -4
- data/app/assets/javascripts/highcharts/modules/funnel.js +17 -11
- data/app/assets/javascripts/highcharts/modules/heatmap.js +2 -2
- data/app/assets/javascripts/highcharts/modules/no-data-to-display.js +2 -2
- data/app/assets/javascripts/highcharts/modules/offline-exporting.js +58 -38
- data/app/assets/javascripts/highcharts/modules/solid-gauge.js +15 -10
- data/app/assets/javascripts/highcharts/modules/treemap.js +1 -1
- data/lib/highcharts/version.rb +1 -1
- metadata +1 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* Highcharts JS v4.2.
|
2
|
+
* Highcharts JS v4.2.2 (2016-02-04)
|
3
3
|
* Highcharts Broken Axis module
|
4
4
|
*
|
5
5
|
* License: www.highcharts.com/license
|
@@ -109,7 +109,7 @@
|
|
109
109
|
|
110
110
|
var axis = this;
|
111
111
|
|
112
|
-
axis.
|
112
|
+
axis.isBroken = true;
|
113
113
|
|
114
114
|
this.val2lin = function (val) {
|
115
115
|
var nval = val,
|
@@ -314,7 +314,7 @@
|
|
314
314
|
if ((threshold < brk.from && y > brk.to) || (threshold > brk.from && y < brk.from)) {
|
315
315
|
eventName = 'pointBreak';
|
316
316
|
} else if ((threshold < brk.from && y > brk.from && y < brk.to) || (threshold > brk.from && y > brk.to && y < brk.from)) { // point falls inside the break
|
317
|
-
eventName = 'pointInBreak';
|
317
|
+
eventName = 'pointInBreak';
|
318
318
|
}
|
319
319
|
if (eventName) {
|
320
320
|
fireEvent(axis, eventName, { point: point, brk: brk });
|
@@ -2908,10 +2908,10 @@ if (CanvasRenderingContext2D) {
|
|
2908
2908
|
});
|
2909
2909
|
}
|
2910
2910
|
}/**
|
2911
|
-
* @license Highcharts JS v4.2.
|
2911
|
+
* @license Highcharts JS v4.2.2 (2016-02-04)
|
2912
2912
|
* CanVGRenderer Extension module
|
2913
2913
|
*
|
2914
|
-
* (c) 2011-
|
2914
|
+
* (c) 2011-2016 Torstein Honsi, Erik Olsson
|
2915
2915
|
*
|
2916
2916
|
* License: www.highcharts.com/license
|
2917
2917
|
*/
|
@@ -1,8 +1,8 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v4.2.
|
2
|
+
* @license Highcharts JS v4.2.2 (2016-02-04)
|
3
3
|
* Exporting module
|
4
4
|
*
|
5
|
-
* (c) 2010-
|
5
|
+
* (c) 2010-2016 Torstein Honsi
|
6
6
|
*
|
7
7
|
* License: www.highcharts.com/license
|
8
8
|
*/
|
@@ -306,7 +306,7 @@ extend(Chart.prototype, {
|
|
306
306
|
// prepare for replicating the chart
|
307
307
|
options.series = [];
|
308
308
|
each(chart.series, function (serie) {
|
309
|
-
seriesOptions = merge(serie.
|
309
|
+
seriesOptions = merge(serie.userOptions, { // #4912
|
310
310
|
animation: false, // turn off animation
|
311
311
|
enableMouseTracking: false,
|
312
312
|
showCheckbox: false,
|
@@ -678,7 +678,8 @@ extend(Chart.prototype, {
|
|
678
678
|
button = renderer.button(btnOptions.text, 0, 0, callback, attr, hover, select)
|
679
679
|
.attr({
|
680
680
|
title: chart.options.lang[btnOptions._titleKey],
|
681
|
-
'stroke-linecap': 'round'
|
681
|
+
'stroke-linecap': 'round',
|
682
|
+
zIndex: 3 // #4955
|
682
683
|
});
|
683
684
|
button.menuClassName = options.menuClassName || PREFIX + 'menu-' + chart.btnCount++;
|
684
685
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @license
|
3
3
|
* Highcharts funnel module
|
4
4
|
*
|
5
|
-
* (c) 2010-
|
5
|
+
* (c) 2010-2016 Torstein Honsi
|
6
6
|
*
|
7
7
|
* License: www.highcharts.com/license
|
8
8
|
*/
|
@@ -231,24 +231,30 @@ seriesTypes.funnel = Highcharts.extendClass(seriesTypes.pie, {
|
|
231
231
|
var series = this,
|
232
232
|
options = series.options,
|
233
233
|
chart = series.chart,
|
234
|
-
renderer = chart.renderer
|
234
|
+
renderer = chart.renderer,
|
235
|
+
pointOptions,
|
236
|
+
pointAttr,
|
237
|
+
shapeArgs,
|
238
|
+
graphic;
|
235
239
|
|
236
240
|
each(series.data, function (point) {
|
237
|
-
|
238
|
-
|
239
|
-
|
241
|
+
pointOptions = point.options;
|
242
|
+
graphic = point.graphic;
|
243
|
+
shapeArgs = point.shapeArgs;
|
244
|
+
|
245
|
+
pointAttr = {
|
246
|
+
fill: point.color,
|
247
|
+
stroke: pick(pointOptions.borderColor, options.borderColor),
|
248
|
+
'stroke-width': pick(pointOptions.borderWidth, options.borderWidth)
|
249
|
+
};
|
240
250
|
|
241
251
|
if (!graphic) { // Create the shapes
|
242
252
|
point.graphic = renderer.path(shapeArgs)
|
243
|
-
.attr(
|
244
|
-
fill: point.color,
|
245
|
-
stroke: pick(pointOptions.borderColor, options.borderColor),
|
246
|
-
'stroke-width': pick(pointOptions.borderWidth, options.borderWidth)
|
247
|
-
})
|
253
|
+
.attr(pointAttr)
|
248
254
|
.add(series.group);
|
249
255
|
|
250
256
|
} else { // Update the shapes
|
251
|
-
graphic.animate(shapeArgs);
|
257
|
+
graphic.attr(pointAttr).animate(shapeArgs);
|
252
258
|
}
|
253
259
|
});
|
254
260
|
},
|
@@ -1,8 +1,8 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v4.2.
|
2
|
+
* @license Highcharts JS v4.2.2 (2016-02-04)
|
3
3
|
* Plugin for displaying a message when there is no data visible in chart.
|
4
4
|
*
|
5
|
-
* (c) 2010-
|
5
|
+
* (c) 2010-2016 Highsoft AS
|
6
6
|
* Author: Oystein Moseng
|
7
7
|
*
|
8
8
|
* License: www.highcharts.com/license
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v4.2.
|
2
|
+
* @license Highcharts JS v4.2.2 (2016-02-04)
|
3
3
|
* Client side exporting module
|
4
4
|
*
|
5
5
|
* (c) 2015 Torstein Honsi / Oystein Moseng
|
@@ -57,53 +57,73 @@
|
|
57
57
|
l,
|
58
58
|
fallbackToExportServer = function () {
|
59
59
|
if (options.fallbackToExportServer === false) {
|
60
|
-
|
60
|
+
if (options.error) {
|
61
|
+
options.error();
|
62
|
+
} else {
|
63
|
+
throw 'Fallback to export server disabled';
|
64
|
+
}
|
65
|
+
} else {
|
66
|
+
chart.exportChart(options);
|
61
67
|
}
|
62
|
-
chart.exportChart(options);
|
63
68
|
},
|
64
69
|
// Get data:URL from image URL
|
65
70
|
// Pass in callbacks to handle results. finallyCallback is always called at the end of the process. Supplying this callback is optional.
|
66
71
|
// All callbacks receive two arguments: imageURL, and callbackArgs. callbackArgs is used only by callbacks and can contain whatever.
|
67
72
|
imageToDataUrl = function (imageURL, callbackArgs, successCallback, taintedCallback, noCanvasSupportCallback, failedLoadCallback, finallyCallback) {
|
68
|
-
var img = new win.Image()
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
ctx = canvas.getContext && canvas.getContext('2d'),
|
75
|
-
dataURL;
|
76
|
-
|
77
|
-
if (!ctx) {
|
78
|
-
noCanvasSupportCallback(imageURL, callbackArgs);
|
79
|
-
} else {
|
80
|
-
canvas.height = img.height * scale;
|
81
|
-
canvas.width = img.width * scale;
|
82
|
-
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
|
83
|
-
|
84
|
-
// Now we try to get the contents of the canvas.
|
73
|
+
var img = new win.Image(),
|
74
|
+
taintedHandler,
|
75
|
+
loadHandler = function () {
|
76
|
+
var canvas = doc.createElement('canvas'),
|
77
|
+
ctx = canvas.getContext && canvas.getContext('2d'),
|
78
|
+
dataURL;
|
85
79
|
try {
|
86
|
-
|
87
|
-
|
88
|
-
} catch (e) {
|
89
|
-
// Failed - either tainted canvas or something else went horribly wrong
|
90
|
-
if (e.name === 'SecurityError' || e.name === 'SECURITY_ERR' || e.message === 'SecurityError') {
|
91
|
-
taintedCallback(imageURL, callbackArgs);
|
80
|
+
if (!ctx) {
|
81
|
+
noCanvasSupportCallback(imageURL, callbackArgs);
|
92
82
|
} else {
|
93
|
-
|
83
|
+
canvas.height = img.height * scale;
|
84
|
+
canvas.width = img.width * scale;
|
85
|
+
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
|
86
|
+
|
87
|
+
// Now we try to get the contents of the canvas.
|
88
|
+
try {
|
89
|
+
dataURL = canvas.toDataURL();
|
90
|
+
successCallback(dataURL, callbackArgs);
|
91
|
+
} catch (e) {
|
92
|
+
// Failed - either tainted canvas or something else went horribly wrong
|
93
|
+
if (e.name === 'SecurityError' || e.name === 'SECURITY_ERR' || e.message === 'SecurityError') {
|
94
|
+
taintedHandler(imageURL, callbackArgs);
|
95
|
+
} else {
|
96
|
+
throw e;
|
97
|
+
}
|
98
|
+
}
|
99
|
+
}
|
100
|
+
} finally {
|
101
|
+
if (finallyCallback) {
|
102
|
+
finallyCallback(imageURL, callbackArgs);
|
94
103
|
}
|
95
104
|
}
|
96
|
-
}
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
105
|
+
},
|
106
|
+
// Image load failed (e.g. invalid URL)
|
107
|
+
errorHandler = function () {
|
108
|
+
failedLoadCallback(imageURL, callbackArgs);
|
109
|
+
if (finallyCallback) {
|
110
|
+
finallyCallback(imageURL, callbackArgs);
|
111
|
+
}
|
112
|
+
};
|
113
|
+
|
114
|
+
// This is called on load if the image drawing to canvas failed with a security error.
|
115
|
+
// We retry the drawing with crossOrigin set to Anonymous.
|
116
|
+
taintedHandler = function () {
|
117
|
+
img = new win.Image();
|
118
|
+
taintedHandler = taintedCallback;
|
119
|
+
img.crossOrigin = 'Anonymous'; // Must be set prior to loading image source
|
120
|
+
img.onload = loadHandler;
|
121
|
+
img.onerror = errorHandler;
|
122
|
+
img.src = imageURL;
|
106
123
|
};
|
124
|
+
|
125
|
+
img.onload = loadHandler;
|
126
|
+
img.onerror = errorHandler;
|
107
127
|
img.src = imageURL;
|
108
128
|
},
|
109
129
|
// Get blob URL from SVG code. Falls back to normal data URI.
|
@@ -144,7 +164,7 @@
|
|
144
164
|
try {
|
145
165
|
windowRef = win.open(dataURL, 'chart');
|
146
166
|
if (windowRef === undefined || windowRef === null) {
|
147
|
-
throw
|
167
|
+
throw 'Failed to open window';
|
148
168
|
}
|
149
169
|
} catch (e) {
|
150
170
|
// window.open failed, trying location.href
|
@@ -1,8 +1,8 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v4.2.
|
2
|
+
* @license Highcharts JS v4.2.2 (2016-02-04)
|
3
3
|
* Solid angular gauge module
|
4
4
|
*
|
5
|
-
* (c) 2010-
|
5
|
+
* (c) 2010-2016 Torstein Honsi
|
6
6
|
*
|
7
7
|
* License: www.highcharts.com/license
|
8
8
|
*/
|
@@ -204,7 +204,8 @@
|
|
204
204
|
axisMinAngle = Math.min(yAxis.startAngleRad, yAxis.endAngleRad),
|
205
205
|
axisMaxAngle = Math.max(yAxis.startAngleRad, yAxis.endAngleRad),
|
206
206
|
minAngle,
|
207
|
-
maxAngle
|
207
|
+
maxAngle,
|
208
|
+
attribs;
|
208
209
|
|
209
210
|
if (toColor === 'none') { // #3708
|
210
211
|
toColor = point.color || series.color || 'none';
|
@@ -245,14 +246,18 @@
|
|
245
246
|
if (d) {
|
246
247
|
shapeArgs.d = d; // animate alters it
|
247
248
|
}
|
248
|
-
} else {
|
249
|
+
} else {
|
250
|
+
attribs = {
|
251
|
+
stroke: options.borderColor || 'none',
|
252
|
+
'stroke-width': options.borderWidth || 0,
|
253
|
+
fill: toColor,
|
254
|
+
'sweep-flag': 0
|
255
|
+
};
|
256
|
+
if (options.linecap !== 'square') {
|
257
|
+
attribs['stroke-linecap'] = attribs['stroke-linejoin'] = 'round';
|
258
|
+
}
|
249
259
|
point.graphic = renderer.arc(shapeArgs)
|
250
|
-
.attr(
|
251
|
-
stroke: options.borderColor || 'none',
|
252
|
-
'stroke-width': options.borderWidth || 0,
|
253
|
-
fill: toColor,
|
254
|
-
'sweep-flag': 0
|
255
|
-
})
|
260
|
+
.attr(attribs)
|
256
261
|
.add(series.group);
|
257
262
|
}
|
258
263
|
});
|
data/lib/highcharts/version.rb
CHANGED