highcharts-rails 6.0.1 → 6.0.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 +16 -0
- data/app/assets/javascripts/highcharts.js +188 -51
- data/app/assets/javascripts/highcharts/highcharts-3d.js +3 -4
- data/app/assets/javascripts/highcharts/highcharts-more.js +21 -5
- data/app/assets/javascripts/highcharts/modules/accessibility.js +4 -2
- data/app/assets/javascripts/highcharts/modules/annotations.js +2 -2
- data/app/assets/javascripts/highcharts/modules/boost-canvas.js +50 -195
- data/app/assets/javascripts/highcharts/modules/boost.js +202 -135
- data/app/assets/javascripts/highcharts/modules/broken-axis.js +1 -1
- data/app/assets/javascripts/highcharts/modules/bullet.js +1 -1
- data/app/assets/javascripts/highcharts/modules/data.js +88 -59
- data/app/assets/javascripts/highcharts/modules/drag-panes.js +1 -1
- data/app/assets/javascripts/highcharts/modules/drilldown.js +25 -2
- data/app/assets/javascripts/highcharts/modules/export-data.js +6 -2
- data/app/assets/javascripts/highcharts/modules/exporting.js +1 -1
- data/app/assets/javascripts/highcharts/modules/funnel.js +1 -1
- data/app/assets/javascripts/highcharts/modules/gantt.js +2 -2
- data/app/assets/javascripts/highcharts/modules/grid-axis.js +1 -1
- data/app/assets/javascripts/highcharts/modules/heatmap.js +826 -820
- data/app/assets/javascripts/highcharts/modules/histogram-bellcurve.js +1 -1
- data/app/assets/javascripts/highcharts/modules/item-series.js +1 -1
- data/app/assets/javascripts/highcharts/modules/no-data-to-display.js +1 -1
- data/app/assets/javascripts/highcharts/modules/offline-exporting.js +2 -2
- data/app/assets/javascripts/highcharts/modules/oldie.js +16 -2
- data/app/assets/javascripts/highcharts/modules/overlapping-datalabels.js +1 -1
- data/app/assets/javascripts/highcharts/modules/parallel-coordinates.js +1 -1
- data/app/assets/javascripts/highcharts/modules/pareto.js +1 -1
- data/app/assets/javascripts/highcharts/modules/sankey.js +39 -9
- data/app/assets/javascripts/highcharts/modules/series-label.js +8 -3
- data/app/assets/javascripts/highcharts/modules/solid-gauge.js +1 -1
- data/app/assets/javascripts/highcharts/modules/static-scale.js +6 -2
- data/app/assets/javascripts/highcharts/modules/stock.js +19 -47
- data/app/assets/javascripts/highcharts/modules/streamgraph.js +1 -1
- data/app/assets/javascripts/highcharts/modules/sunburst.js +40 -15
- data/app/assets/javascripts/highcharts/modules/tilemap.js +7 -6
- data/app/assets/javascripts/highcharts/modules/treemap.js +13 -3
- data/app/assets/javascripts/highcharts/modules/variable-pie.js +1 -1
- data/app/assets/javascripts/highcharts/modules/variwide.js +1 -1
- data/app/assets/javascripts/highcharts/modules/vector.js +1 -1
- data/app/assets/javascripts/highcharts/modules/windbarb.js +1 -1
- data/app/assets/javascripts/highcharts/modules/wordcloud.js +130 -37
- data/app/assets/javascripts/highcharts/modules/xrange.js +2 -2
- data/app/assets/javascripts/highcharts/themes/avocado.js +1 -1
- data/app/assets/javascripts/highcharts/themes/dark-blue.js +1 -1
- data/app/assets/javascripts/highcharts/themes/dark-green.js +1 -1
- data/app/assets/javascripts/highcharts/themes/dark-unica.js +1 -1
- data/app/assets/javascripts/highcharts/themes/gray.js +1 -1
- data/app/assets/javascripts/highcharts/themes/grid-light.js +1 -1
- data/app/assets/javascripts/highcharts/themes/grid.js +1 -1
- data/app/assets/javascripts/highcharts/themes/sand-signika.js +1 -1
- data/app/assets/javascripts/highcharts/themes/skies.js +1 -1
- data/app/assets/javascripts/highcharts/themes/sunset.js +1 -1
- data/lib/highcharts/version.rb +1 -1
- metadata +1 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v6.0.
|
2
|
+
* @license Highcharts JS v6.0.2 (2017-10-20)
|
3
3
|
*
|
4
4
|
* 3D features for Highcharts JS
|
5
5
|
*
|
@@ -2919,7 +2919,6 @@
|
|
2919
2919
|
wrap = H.wrap;
|
2920
2920
|
|
2921
2921
|
/**
|
2922
|
-
* Options to render axis in 3 dimensions.
|
2923
2922
|
* @optionparent xAxis
|
2924
2923
|
*/
|
2925
2924
|
var extendedOptions = {
|
@@ -3013,7 +3012,7 @@
|
|
3013
3012
|
wrap(Axis.prototype, 'setOptions', function(proceed, userOptions) {
|
3014
3013
|
var options;
|
3015
3014
|
proceed.call(this, userOptions);
|
3016
|
-
if (this.chart.is3d() && this.coll !== 'colorAxis') {
|
3015
|
+
if (this.chart.is3d && this.chart.is3d() && this.coll !== 'colorAxis') {
|
3017
3016
|
options = this.options;
|
3018
3017
|
options.tickWidth = pick(options.tickWidth, 0);
|
3019
3018
|
options.gridLineWidth = pick(options.gridLineWidth, 1);
|
@@ -3905,7 +3904,7 @@
|
|
3905
3904
|
function pointAttribs(proceed) {
|
3906
3905
|
var attr = proceed.apply(this, [].slice.call(arguments, 1));
|
3907
3906
|
|
3908
|
-
if (this.chart.is3d()) {
|
3907
|
+
if (this.chart.is3d && this.chart.is3d()) {
|
3909
3908
|
// Set the fill color to the fill color to provide a smooth edge
|
3910
3909
|
attr.stroke = this.options.edgeColor || attr.fill;
|
3911
3910
|
attr['stroke-width'] = pick(this.options.edgeWidth, 1); // #4055
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v6.0.
|
2
|
+
* @license Highcharts JS v6.0.2 (2017-10-20)
|
3
3
|
*
|
4
4
|
* (c) 2009-2016 Torstein Honsi
|
5
5
|
*
|
@@ -337,12 +337,28 @@
|
|
337
337
|
* @product highcharts
|
338
338
|
*/
|
339
339
|
backgroundColor: {
|
340
|
+
/**
|
341
|
+
* Definition of the gradient, similar to SVG: object literal holds
|
342
|
+
* start position (x1, y1) and the end position (x2, y2) relative
|
343
|
+
* to the shape, where 0 means top/left and 1 is bottom/right.
|
344
|
+
* All positions are floats between 0 and 1.
|
345
|
+
*
|
346
|
+
* @type {Object}
|
347
|
+
*/
|
340
348
|
linearGradient: {
|
341
349
|
x1: 0,
|
342
350
|
y1: 0,
|
343
351
|
x2: 0,
|
344
352
|
y2: 1
|
345
353
|
},
|
354
|
+
/**
|
355
|
+
* The stops is an array of tuples, where the first
|
356
|
+
* item is a float between 0 and 1 assigning the relative position in
|
357
|
+
* the gradient, and the second item is the color.
|
358
|
+
*
|
359
|
+
* @default [[0, #ffffff], [1, #e6e6e6]]
|
360
|
+
* @type {Array<Array>}
|
361
|
+
*/
|
346
362
|
stops: [
|
347
363
|
[0, '#ffffff'],
|
348
364
|
[1, '#e6e6e6']
|
@@ -845,8 +861,8 @@
|
|
845
861
|
options,
|
846
862
|
chartOptions = chart.options,
|
847
863
|
paneIndex = userOptions.pane || 0,
|
848
|
-
pane = this.pane = chart.pane[paneIndex],
|
849
|
-
paneOptions = pane.options;
|
864
|
+
pane = this.pane = chart.pane && chart.pane[paneIndex],
|
865
|
+
paneOptions = pane && pane.options;
|
850
866
|
|
851
867
|
// Before prototype.init
|
852
868
|
if (angular) {
|
@@ -873,14 +889,14 @@
|
|
873
889
|
}
|
874
890
|
|
875
891
|
// A pointer back to this axis to borrow geometry
|
876
|
-
if (isCircular) {
|
892
|
+
if (pane && isCircular) {
|
877
893
|
pane.axis = this;
|
878
894
|
}
|
879
895
|
|
880
896
|
// Run prototype.init
|
881
897
|
proceed.call(this, chart, userOptions);
|
882
898
|
|
883
|
-
if (!isHidden && (angular || polar)) {
|
899
|
+
if (!isHidden && pane && (angular || polar)) {
|
884
900
|
options = this.options;
|
885
901
|
|
886
902
|
// Start and end angle options are
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v6.0.
|
2
|
+
* @license Highcharts JS v6.0.2 (2017-10-20)
|
3
3
|
* Accessibility module
|
4
4
|
*
|
5
5
|
* (c) 2010-2017 Highsoft AS
|
@@ -1502,7 +1502,9 @@
|
|
1502
1502
|
// Handle keyboard events
|
1503
1503
|
addEvent(chart.renderTo, 'keydown', keydownHandler);
|
1504
1504
|
addEvent(chart, 'destroy', function() {
|
1505
|
-
|
1505
|
+
if (chart.renderTo) {
|
1506
|
+
removeEvent(chart.renderTo, 'keydown', keydownHandler);
|
1507
|
+
}
|
1506
1508
|
});
|
1507
1509
|
};
|
1508
1510
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v6.0.
|
2
|
+
* @license Highcharts JS v6.0.2 (2017-10-20)
|
3
3
|
* Annotations module
|
4
4
|
*
|
5
5
|
* (c) 2009-2017 Torstein Honsi
|
@@ -558,7 +558,7 @@
|
|
558
558
|
**/
|
559
559
|
style: {
|
560
560
|
fontSize: '11px',
|
561
|
-
|
561
|
+
fontWeight: 'normal',
|
562
562
|
color: 'contrast'
|
563
563
|
},
|
564
564
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v6.0.
|
2
|
+
* @license Highcharts JS v6.0.2 (2017-10-20)
|
3
3
|
* Boost module
|
4
4
|
*
|
5
5
|
* (c) 2010-2017 Highsoft AS
|
@@ -19,51 +19,12 @@
|
|
19
19
|
/**
|
20
20
|
* License: www.highcharts.com/license
|
21
21
|
* Author: Torstein Honsi, Christer Vasseng
|
22
|
-
*
|
23
|
-
* This is an experimental Highcharts module that draws long data series on a canvas
|
24
|
-
* in order to increase performance of the initial load time and tooltip responsiveness.
|
25
22
|
*
|
26
|
-
*
|
23
|
+
* This module serves as a fallback for the Boost module in IE9 and IE10. Newer
|
24
|
+
* browsers support WebGL which is faster.
|
27
25
|
*
|
28
|
-
*
|
29
|
-
*
|
30
|
-
* Development plan
|
31
|
-
* - Column range.
|
32
|
-
* - Heatmap. Modify the heatmap-canvas demo so that it uses this module.
|
33
|
-
* - Treemap.
|
34
|
-
* - Check how it works with Highstock and data grouping. Currently it only works when navigator.adaptToUpdatedData
|
35
|
-
* is false. It is also recommended to set scrollbar.liveRedraw to false.
|
36
|
-
* - Check inverted charts.
|
37
|
-
* - Check reversed axes.
|
38
|
-
* - Chart callback should be async after last series is drawn. (But not necessarily, we don't do
|
39
|
-
that with initial series animation).
|
40
|
-
* - Cache full-size image so we don't have to redraw on hide/show and zoom up. But k-d-tree still
|
41
|
-
* needs to be built.
|
42
|
-
* - Test IE9 and IE10.
|
43
|
-
* - Stacking is not perhaps not correct since it doesn't use the translation given in
|
44
|
-
* the translate method. If this gets to complicated, a possible way out would be to
|
45
|
-
* have a simplified renderCanvas method that simply draws the areaPath on a canvas.
|
46
|
-
*
|
47
|
-
* If this module is taken in as part of the core
|
48
|
-
* - All the loading logic should be merged with core. Update styles in the core.
|
49
|
-
* - Most of the method wraps should probably be added directly in parent methods.
|
50
|
-
*
|
51
|
-
* Notes for boost mode
|
52
|
-
* - Area lines are not drawn
|
53
|
-
* - Point markers are not drawn on line-type series
|
54
|
-
* - Lines are not drawn on scatter charts
|
55
|
-
* - Zones and negativeColor don't work
|
56
|
-
* - Initial point colors aren't rendered
|
57
|
-
* - Columns are always one pixel wide. Don't set the threshold too low.
|
58
|
-
*
|
59
|
-
* Optimizing tips for users
|
60
|
-
* - For scatter plots, use a marker.radius of 1 or less. It results in a rectangle being drawn, which is
|
61
|
-
* considerably faster than a circle.
|
62
|
-
* - Set extremes (min, max) explicitly on the axes in order for Highcharts to avoid computing extremes.
|
63
|
-
* - Set enableMouseTracking to false on the series to improve total rendering time.
|
64
|
-
* - The default threshold is set based on one series. If you have multiple, dense series, the combined
|
65
|
-
* number of points drawn gets higher, and you may want to set the threshold lower in order to
|
66
|
-
* use optimizations.
|
26
|
+
* It is recommended to include this module in conditional comments targeting
|
27
|
+
* IE9 and IE10.
|
67
28
|
*/
|
68
29
|
|
69
30
|
|
@@ -84,43 +45,7 @@
|
|
84
45
|
CHUNK_SIZE = 50000,
|
85
46
|
destroyLoadingDiv;
|
86
47
|
|
87
|
-
function eachAsync(arr, fn, finalFunc, chunkSize, i) {
|
88
|
-
i = i || 0;
|
89
|
-
chunkSize = chunkSize || CHUNK_SIZE;
|
90
|
-
|
91
|
-
var threshold = i + chunkSize,
|
92
|
-
proceed = true;
|
93
|
-
|
94
|
-
while (proceed && i < threshold && i < arr.length) {
|
95
|
-
proceed = fn(arr[i], i);
|
96
|
-
i = i + 1;
|
97
|
-
}
|
98
|
-
if (proceed) {
|
99
|
-
if (i < arr.length) {
|
100
|
-
setTimeout(function() {
|
101
|
-
eachAsync(arr, fn, finalFunc, chunkSize, i);
|
102
|
-
});
|
103
|
-
} else if (finalFunc) {
|
104
|
-
finalFunc();
|
105
|
-
}
|
106
|
-
}
|
107
|
-
}
|
108
|
-
|
109
|
-
/*
|
110
|
-
* Returns true if the chart is in series boost mode
|
111
|
-
* @param chart {Highchart.Chart} - the chart to check
|
112
|
-
* @returns {Boolean} - true if the chart is in series boost mode
|
113
|
-
*/
|
114
|
-
function isChartSeriesBoosting(chart) {
|
115
|
-
var threshold = (chart.options.boost ? chart.options.boost.seriesThreshold : 0) ||
|
116
|
-
chart.options.chart.seriesBoostThreshold ||
|
117
|
-
10;
|
118
|
-
|
119
|
-
return chart.series.length >= threshold;
|
120
|
-
}
|
121
|
-
|
122
48
|
H.initCanvasBoost = function() {
|
123
|
-
|
124
49
|
if (H.seriesTypes.heatmap) {
|
125
50
|
H.wrap(H.seriesTypes.heatmap.prototype, 'drawPoints', function() {
|
126
51
|
var ctx = this.getContext();
|
@@ -157,97 +82,24 @@
|
|
157
82
|
}
|
158
83
|
|
159
84
|
|
160
|
-
/**
|
161
|
-
* Override a bunch of methods the same way. If the number of points is below the threshold,
|
162
|
-
* run the original method. If not, check for a canvas version or do nothing.
|
163
|
-
*/
|
164
|
-
// each(['translate', 'generatePoints', 'drawTracker', 'drawPoints', 'render'], function (method) {
|
165
|
-
// function branch(proceed) {
|
166
|
-
// var letItPass = this.options.stacking && (method === 'translate' || method === 'generatePoints');
|
167
|
-
// if (((this.processedXData || this.options.data).length < (this.options.boostThreshold || Number.MAX_VALUE) ||
|
168
|
-
// letItPass) || !isChartSeriesBoosting(this.chart)) {
|
169
|
-
|
170
|
-
// // Clear image
|
171
|
-
// if (method === 'render' && this.image) {
|
172
|
-
// this.image.attr({ href: '' });
|
173
|
-
// this.animate = null; // We're zooming in, don't run animation
|
174
|
-
// }
|
175
|
-
|
176
|
-
// proceed.call(this);
|
177
|
-
|
178
|
-
// // If a canvas version of the method exists, like renderCanvas(), run
|
179
|
-
// } else if (this[method + 'Canvas']) {
|
180
|
-
|
181
|
-
// this[method + 'Canvas']();
|
182
|
-
// }
|
183
|
-
// }
|
184
|
-
// wrap(Series.prototype, method, branch);
|
185
|
-
|
186
|
-
// // A special case for some types - its translate method is already wrapped
|
187
|
-
// if (method === 'translate') {
|
188
|
-
// each(['arearange', 'bubble', 'column'], function (type) {
|
189
|
-
// if (seriesTypes[type]) {
|
190
|
-
// wrap(seriesTypes[type].prototype, method, branch);
|
191
|
-
// }
|
192
|
-
// });
|
193
|
-
// }
|
194
|
-
// });
|
195
|
-
|
196
85
|
H.extend(Series.prototype, {
|
197
|
-
directTouch: false,
|
198
|
-
pointRange: 0,
|
199
|
-
allowDG: false, // No data grouping, let boost handle large data
|
200
|
-
hasExtremes: function(checkX) {
|
201
|
-
var options = this.options,
|
202
|
-
data = options.data,
|
203
|
-
xAxis = this.xAxis && this.xAxis.options,
|
204
|
-
yAxis = this.yAxis && this.yAxis.options;
|
205
|
-
return data.length > (options.boostThreshold || Number.MAX_VALUE) && isNumber(yAxis.min) && isNumber(yAxis.max) &&
|
206
|
-
(!checkX || (isNumber(xAxis.min) && isNumber(xAxis.max)));
|
207
|
-
},
|
208
86
|
|
209
87
|
/**
|
210
|
-
*
|
211
|
-
* methods in Highcharts.
|
212
|
-
*/
|
213
|
-
destroyGraphics: function() {
|
214
|
-
var series = this,
|
215
|
-
points = this.points,
|
216
|
-
point,
|
217
|
-
i;
|
218
|
-
|
219
|
-
if (points) {
|
220
|
-
for (i = 0; i < points.length; i = i + 1) {
|
221
|
-
point = points[i];
|
222
|
-
if (point && point.graphic) {
|
223
|
-
point.graphic = point.graphic.destroy();
|
224
|
-
}
|
225
|
-
}
|
226
|
-
}
|
227
|
-
|
228
|
-
each(['graph', 'area', 'tracker'], function(prop) {
|
229
|
-
if (series[prop]) {
|
230
|
-
series[prop] = series[prop].destroy();
|
231
|
-
}
|
232
|
-
});
|
233
|
-
},
|
234
|
-
|
235
|
-
/**
|
236
|
-
* Create a hidden canvas to draw the graph on. The contents is later copied over
|
88
|
+
* Create a hidden canvas to draw the graph on. The contents is later copied over
|
237
89
|
* to an SVG image element.
|
238
90
|
*/
|
239
91
|
getContext: function() {
|
240
92
|
var chart = this.chart,
|
241
93
|
width = chart.chartWidth,
|
242
94
|
height = chart.chartHeight,
|
243
|
-
targetGroup = this.group,
|
95
|
+
targetGroup = chart.seriesGroup || this.group,
|
244
96
|
target = this,
|
245
97
|
ctx,
|
246
98
|
swapXY = function(proceed, x, y, a, b, c, d) {
|
247
99
|
proceed.call(this, y, x, a, b, c, d);
|
248
100
|
};
|
249
101
|
|
250
|
-
if (isChartSeriesBoosting(
|
102
|
+
if (chart.isChartSeriesBoosting()) {
|
251
103
|
target = chart;
|
252
104
|
targetGroup = chart.seriesGroup;
|
253
105
|
}
|
@@ -257,7 +109,7 @@
|
|
257
109
|
if (!target.canvas) {
|
258
110
|
target.canvas = doc.createElement('canvas');
|
259
111
|
|
260
|
-
target.
|
112
|
+
target.renderTarget = chart.renderer.image(
|
261
113
|
'',
|
262
114
|
0,
|
263
115
|
0,
|
@@ -273,6 +125,16 @@
|
|
273
125
|
});
|
274
126
|
}
|
275
127
|
|
128
|
+
target.boostClear = function() {
|
129
|
+
ctx.clearRect(0, 0, target.canvas.width, target.canvas.height);
|
130
|
+
|
131
|
+
if (target.renderTarget) {
|
132
|
+
target.renderTarget.attr({
|
133
|
+
href: ''
|
134
|
+
});
|
135
|
+
}
|
136
|
+
};
|
137
|
+
|
276
138
|
target.boostClipRect = chart.renderer.clipRect(
|
277
139
|
chart.plotLeft,
|
278
140
|
chart.plotTop,
|
@@ -280,7 +142,7 @@
|
|
280
142
|
chart.chartHeight
|
281
143
|
);
|
282
144
|
|
283
|
-
target.
|
145
|
+
target.renderTarget.clip(target.boostClipRect);
|
284
146
|
|
285
147
|
} else if (!(target instanceof H.Chart)) {
|
286
148
|
// ctx.clearRect(0, 0, width, height);
|
@@ -294,17 +156,18 @@
|
|
294
156
|
target.canvas.height = height;
|
295
157
|
}
|
296
158
|
|
297
|
-
target.
|
159
|
+
target.renderTarget.attr({
|
298
160
|
x: 0,
|
299
161
|
y: 0,
|
300
162
|
width: width,
|
301
163
|
height: height,
|
302
|
-
style: 'pointer-events: none'
|
164
|
+
style: 'pointer-events: none',
|
165
|
+
href: ''
|
303
166
|
});
|
304
167
|
|
305
168
|
target.boostClipRect.attr({
|
306
|
-
x:
|
307
|
-
y:
|
169
|
+
x: chart.plotLeft,
|
170
|
+
y: chart.plotTop,
|
308
171
|
width: chart.plotWidth,
|
309
172
|
height: chart.chartHeight
|
310
173
|
});
|
@@ -316,14 +179,12 @@
|
|
316
179
|
* Draw the canvas image inside an SVG image
|
317
180
|
*/
|
318
181
|
canvasToSVG: function() {
|
319
|
-
if (!
|
320
|
-
this.
|
182
|
+
if (!this.chart.isChartSeriesBoosting()) {
|
183
|
+
this.renderTarget.attr({
|
321
184
|
href: this.canvas.toDataURL('image/png')
|
322
185
|
});
|
323
|
-
} else
|
324
|
-
this.
|
325
|
-
href: ''
|
326
|
-
});
|
186
|
+
} else {
|
187
|
+
this.boostClear();
|
327
188
|
}
|
328
189
|
},
|
329
190
|
|
@@ -453,7 +314,7 @@
|
|
453
314
|
// Avoid more string concatination than required
|
454
315
|
kdIndex = clientX + ',' + plotY;
|
455
316
|
|
456
|
-
// The k-d tree requires series points. Reduce the amount of points, since the time to build the
|
317
|
+
// The k-d tree requires series points. Reduce the amount of points, since the time to build the
|
457
318
|
// tree increases exponentially.
|
458
319
|
if (enableMouseTracking && !pointTaken[kdIndex]) {
|
459
320
|
pointTaken[kdIndex] = true;
|
@@ -487,13 +348,18 @@
|
|
487
348
|
);
|
488
349
|
|
489
350
|
series.markerGroup = series.group;
|
490
|
-
|
491
|
-
|
492
|
-
|
351
|
+
addEvent(series, 'destroy', function() { // Prevent destroy twice
|
352
|
+
series.markerGroup = null;
|
353
|
+
});
|
493
354
|
|
494
355
|
points = this.points = [];
|
495
356
|
ctx = this.getContext();
|
496
|
-
series.buildKDTree = noop; // Do not start building while drawing
|
357
|
+
series.buildKDTree = noop; // Do not start building while drawing
|
358
|
+
ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
|
359
|
+
|
360
|
+
if (!this.visible) {
|
361
|
+
return;
|
362
|
+
}
|
497
363
|
|
498
364
|
// Display a loading indicator
|
499
365
|
if (rawData.length > 99999) {
|
@@ -518,7 +384,7 @@
|
|
518
384
|
}
|
519
385
|
|
520
386
|
// Loop over the points
|
521
|
-
eachAsync(sdata, function(d, i) {
|
387
|
+
H.eachAsync(sdata, function(d, i) {
|
522
388
|
var x,
|
523
389
|
y,
|
524
390
|
clientX,
|
@@ -671,12 +537,6 @@
|
|
671
537
|
}, 250);
|
672
538
|
}
|
673
539
|
|
674
|
-
// Pass tests in Pointer.
|
675
|
-
// Replace this with a single property, and replace when zooming in
|
676
|
-
// below boostThreshold.
|
677
|
-
series.directTouch = false;
|
678
|
-
series.options.stickyTracking = true;
|
679
|
-
|
680
540
|
delete series.buildKDTree; // Go back to prototype, ready to build
|
681
541
|
series.buildKDTree();
|
682
542
|
|
@@ -685,18 +545,13 @@
|
|
685
545
|
}
|
686
546
|
});
|
687
547
|
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
548
|
+
/*
|
549
|
+
wrap(Series.prototype, 'setData', function (proceed) {
|
550
|
+
if (!this.hasExtremes || !this.hasExtremes(true) || this.type === 'heatmap') {
|
551
|
+
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
|
552
|
+
}
|
692
553
|
});
|
693
|
-
|
694
|
-
wrap(Series.prototype, 'processData', function(proceed) {
|
695
|
-
if (!this.hasExtremes || !this.hasExtremes(true) || this.type === 'heatmap') {
|
696
|
-
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
|
697
|
-
}
|
698
|
-
});
|
699
|
-
|
554
|
+
*/
|
700
555
|
seriesTypes.scatter.prototype.cvsMarkerCircle = function(ctx, clientX, plotY, r) {
|
701
556
|
ctx.moveTo(clientX, plotY);
|
702
557
|
ctx.arc(clientX, plotY, r, 0, 2 * Math.PI, false);
|
@@ -740,16 +595,16 @@
|
|
740
595
|
|
741
596
|
H.Chart.prototype.callbacks.push(function(chart) {
|
742
597
|
function canvasToSVG() {
|
743
|
-
if (chart.
|
744
|
-
chart.
|
598
|
+
if (chart.renderTarget && chart.canvas) {
|
599
|
+
chart.renderTarget.attr({
|
745
600
|
href: chart.canvas.toDataURL('image/png')
|
746
601
|
});
|
747
602
|
}
|
748
603
|
}
|
749
604
|
|
750
605
|
function clear() {
|
751
|
-
if (chart.
|
752
|
-
chart.
|
606
|
+
if (chart.renderTarget) {
|
607
|
+
chart.renderTarget.attr({
|
753
608
|
href: ''
|
754
609
|
});
|
755
610
|
}
|