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
|
* Client side exporting module
|
4
4
|
*
|
5
5
|
* (c) 2015 Torstein Honsi / Oystein Moseng
|
@@ -637,7 +637,7 @@
|
|
637
637
|
|
638
638
|
// Extend the default options to use the local exporter logic
|
639
639
|
merge(true, Highcharts.getOptions().exporting, {
|
640
|
-
libURL: 'https://code.highcharts.com/6.0.
|
640
|
+
libURL: 'https://code.highcharts.com/6.0.2/lib/',
|
641
641
|
|
642
642
|
// When offline-exporting is loaded, redefine the menu item definitions
|
643
643
|
// related to download.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v6.0.
|
2
|
+
* @license Highcharts JS v6.0.2 (2017-10-20)
|
3
3
|
* Old IE (v6, v7, v8) module for Highcharts v6+.
|
4
4
|
*
|
5
5
|
* (c) 2010-2017 Highsoft AS
|
@@ -69,7 +69,7 @@
|
|
69
69
|
* @since 2.3.0
|
70
70
|
*/
|
71
71
|
H.getOptions().global.VMLRadialGradientURL =
|
72
|
-
'http://code.highcharts.com/6.0.
|
72
|
+
'http://code.highcharts.com/6.0.2/gfx/vml-radial-gradient.png';
|
73
73
|
|
74
74
|
|
75
75
|
// Utilites
|
@@ -157,6 +157,20 @@
|
|
157
157
|
};
|
158
158
|
}
|
159
159
|
|
160
|
+
if (!Object.prototype.keys) {
|
161
|
+
H.keysPolyfill = function(obj) {
|
162
|
+
var result = [],
|
163
|
+
hasOwnProperty = Object.prototype.hasOwnProperty,
|
164
|
+
prop;
|
165
|
+
for (prop in obj) {
|
166
|
+
if (hasOwnProperty.call(obj, prop)) {
|
167
|
+
result.push(prop);
|
168
|
+
}
|
169
|
+
}
|
170
|
+
return result;
|
171
|
+
};
|
172
|
+
}
|
173
|
+
|
160
174
|
|
161
175
|
if (!Array.prototype.reduce) {
|
162
176
|
H.reducePolyfill = function(func, initialValue) {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v6.0.
|
2
|
+
* @license Highcharts JS v6.0.2 (2017-10-20)
|
3
3
|
* Sankey diagram module
|
4
4
|
*
|
5
5
|
* (c) 2010-2017 Torstein Honsi
|
@@ -16,7 +16,7 @@
|
|
16
16
|
}(function(Highcharts) {
|
17
17
|
(function(H) {
|
18
18
|
/**
|
19
|
-
*
|
19
|
+
* Sankey diagram module
|
20
20
|
*
|
21
21
|
* (c) 2010-2017 Torstein Honsi
|
22
22
|
*
|
@@ -72,17 +72,39 @@
|
|
72
72
|
/**
|
73
73
|
* The [format string](http://www.highcharts.com/docs/chart-concepts/labels-
|
74
74
|
* and-string-formatting) specifying what to show for _nodes_ in the
|
75
|
-
* sankey diagram.
|
75
|
+
* sankey diagram. By default the `nodeFormatter` returns
|
76
|
+
* `{point.name}`.
|
77
|
+
*
|
78
|
+
* @type {String}
|
76
79
|
*/
|
77
|
-
nodeFormat:
|
80
|
+
nodeFormat: undefined,
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Callback to format data labels for _nodes_ in the sankey diagram.
|
84
|
+
* The `nodeFormat` option takes precedence over the `nodeFormatter`.
|
85
|
+
*
|
86
|
+
* @type {Function}
|
87
|
+
* @since 6.0.2
|
88
|
+
*/
|
89
|
+
nodeFormatter: function() {
|
90
|
+
return this.point.name;
|
91
|
+
},
|
78
92
|
/**
|
79
93
|
* The [format string](http://www.highcharts.com/docs/chart-concepts/labels-
|
80
94
|
* and-string-formatting) specifying what to show for _links_ in the
|
81
|
-
* sankey diagram. Defaults to an empty string
|
82
|
-
* labels.
|
83
|
-
* @default ""
|
95
|
+
* sankey diagram. Defaults to an empty string returned from the
|
96
|
+
* `formatter`, in effect disabling the labels.
|
84
97
|
*/
|
85
|
-
format:
|
98
|
+
format: undefined,
|
99
|
+
/**
|
100
|
+
* Callback to format data labels for _links_ in the sankey diagram.
|
101
|
+
* The `format` option takes precedence over the `formatter`.
|
102
|
+
*
|
103
|
+
* @since 6.0.2
|
104
|
+
*/
|
105
|
+
formatter: function() {
|
106
|
+
return '';
|
107
|
+
},
|
86
108
|
inside: true
|
87
109
|
},
|
88
110
|
|
@@ -120,9 +142,17 @@
|
|
120
142
|
/**
|
121
143
|
* The [format string](http://www.highcharts.com/docs/chart-concepts/labels-
|
122
144
|
* and-string-formatting) specifying what to show for _nodes_ in tooltip
|
123
|
-
* of a sankey diagram series.
|
145
|
+
* of a sankey diagram series, as opposed to links.
|
124
146
|
*/
|
125
147
|
nodeFormat: '{point.name}: <b>{point.sum}</b><br/>'
|
148
|
+
/**
|
149
|
+
* A callback for defining the format for _nodes_ in the sankey chart's
|
150
|
+
* tooltip, as opposed to links.
|
151
|
+
*
|
152
|
+
* @type {Function}
|
153
|
+
* @since 6.0.2
|
154
|
+
* @apioption plotOptions.sankey.tooltip.nodeFormatter
|
155
|
+
*/
|
126
156
|
}
|
127
157
|
|
128
158
|
}, {
|
@@ -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-2017 Torstein Honsi
|
5
5
|
*
|
@@ -559,7 +559,7 @@
|
|
559
559
|
y >= paneTop && y <= paneTop + paneHeight - bBox.height;
|
560
560
|
}
|
561
561
|
|
562
|
-
if (series.visible && points) {
|
562
|
+
if (series.visible && !series.isSeriesBoosting && points) {
|
563
563
|
if (!label) {
|
564
564
|
series.labelBySeries = label = chart.renderer
|
565
565
|
.label(series.name, 0, -9999, 'connector')
|
@@ -785,7 +785,12 @@
|
|
785
785
|
label = series.labelBySeries,
|
786
786
|
closest = label && label.closest;
|
787
787
|
|
788
|
-
if (
|
788
|
+
if (
|
789
|
+
options.enabled &&
|
790
|
+
series.visible &&
|
791
|
+
(series.graph || series.area) &&
|
792
|
+
!series.isSeriesBoosting
|
793
|
+
) {
|
789
794
|
chart.labelSeries.push(series);
|
790
795
|
|
791
796
|
if (options.minFontSize && options.maxFontSize) {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v6.0.
|
2
|
+
* @license Highcharts JS v6.0.2 (2017-10-20)
|
3
3
|
* StaticScale
|
4
4
|
*
|
5
5
|
* (c) 2016 Torstein Honsi, Lars A. V. Cabrera
|
@@ -58,7 +58,11 @@
|
|
58
58
|
});
|
59
59
|
this.initiatedScale = true;
|
60
60
|
};
|
61
|
-
|
61
|
+
Chart.prototype.callbacks.push(function(chart) {
|
62
|
+
H.addEvent(this, 'render', function() {
|
63
|
+
chart.adjustHeight();
|
64
|
+
});
|
65
|
+
});
|
62
66
|
|
63
67
|
}(Highcharts));
|
64
68
|
}));
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v6.0.
|
2
|
+
* @license Highcharts JS v6.0.2 (2017-10-20)
|
3
3
|
* Highstock as a plugin for Highcharts
|
4
4
|
*
|
5
5
|
* (c) 2017 Torstein Honsi
|
@@ -239,7 +239,7 @@
|
|
239
239
|
slope,
|
240
240
|
hasBreaks = axis.isXAxis && !!axis.options.breaks,
|
241
241
|
isOrdinal = axis.options.ordinal,
|
242
|
-
overscrollPointsRange = Number.
|
242
|
+
overscrollPointsRange = Number.MAX_VALUE,
|
243
243
|
ignoreHiddenSeries = axis.chart.options.chart.ignoreHiddenSeries,
|
244
244
|
isNavigatorAxis = axis.options.className === 'highcharts-navigator-xaxis',
|
245
245
|
i;
|
@@ -384,6 +384,7 @@
|
|
384
384
|
axis.ordinalPositions = axis.ordinalSlope = axis.ordinalOffset = undefined;
|
385
385
|
}
|
386
386
|
}
|
387
|
+
|
387
388
|
axis.isOrdinal = isOrdinal && useOrdinal; // #3818, #4196, #4926
|
388
389
|
axis.groupIntervalFactor = null; // reset for next run
|
389
390
|
},
|
@@ -4486,7 +4487,7 @@
|
|
4486
4487
|
/**
|
4487
4488
|
* Width for handles.
|
4488
4489
|
*
|
4489
|
-
* @type {
|
4490
|
+
* @type {Number}
|
4490
4491
|
* @default 7
|
4491
4492
|
* @product highstock
|
4492
4493
|
* @sample {highstock} stock/navigator/styled-handles/
|
@@ -6108,14 +6109,14 @@
|
|
6108
6109
|
|
6109
6110
|
each(baseSeries, function(base) {
|
6110
6111
|
// Link base series show/hide to navigator series visibility
|
6111
|
-
addEvent(base, 'show', function() {
|
6112
|
+
addEvent(base, 'show', function(e) {
|
6112
6113
|
if (this.navigatorSeries) {
|
6113
|
-
this.navigatorSeries.
|
6114
|
+
this.navigatorSeries.setVisible(true, e.redraw);
|
6114
6115
|
}
|
6115
6116
|
});
|
6116
|
-
addEvent(base, 'hide', function() {
|
6117
|
+
addEvent(base, 'hide', function(e) {
|
6117
6118
|
if (this.navigatorSeries) {
|
6118
|
-
this.navigatorSeries.
|
6119
|
+
this.navigatorSeries.setVisible(false, e.redraw);
|
6119
6120
|
}
|
6120
6121
|
});
|
6121
6122
|
|
@@ -6987,12 +6988,14 @@
|
|
6987
6988
|
|
6988
6989
|
addEvent(chart, 'load', function() {
|
6989
6990
|
// If a data grouping is applied to the current button, release it when extremes change
|
6990
|
-
|
6991
|
-
|
6992
|
-
e.trigger !== '
|
6993
|
-
|
6994
|
-
|
6995
|
-
|
6991
|
+
if (chart.xAxis && chart.xAxis[0]) {
|
6992
|
+
addEvent(chart.xAxis[0], 'setExtremes', function(e) {
|
6993
|
+
if (this.max - this.min !== chart.fixedRange && e.trigger !== 'rangeSelectorButton' &&
|
6994
|
+
e.trigger !== 'updatedData' && rangeSelector.forcedDataGrouping) {
|
6995
|
+
this.setDataGrouping(false, false);
|
6996
|
+
}
|
6997
|
+
});
|
6998
|
+
}
|
6996
6999
|
});
|
6997
7000
|
},
|
6998
7001
|
|
@@ -8046,12 +8049,12 @@
|
|
8046
8049
|
* Defines if comparisson should start from the first point within the visible
|
8047
8050
|
* range or should start from the first point <b>before</b> the range.
|
8048
8051
|
* In other words, this flag determines if first point within the visible range
|
8049
|
-
* will have 0% (
|
8050
|
-
* previous point.
|
8052
|
+
* will have 0% (`compareStart=true`) or should have been already calculated
|
8053
|
+
* according to the previous point (`compareStart=false`).
|
8051
8054
|
*
|
8052
8055
|
* @type {Boolean}
|
8053
8056
|
* @sample {highstock} stock/plotoptions/series-comparestart/ Calculate compare within visible range
|
8054
|
-
* @default
|
8057
|
+
* @default false
|
8055
8058
|
* @since 6.0.0
|
8056
8059
|
* @product highstock
|
8057
8060
|
* @apioption plotOptions.series.compareStart
|
@@ -8398,37 +8401,6 @@
|
|
8398
8401
|
null; // #3557 getPlotLinePath in regular Highcharts also returns null
|
8399
8402
|
});
|
8400
8403
|
|
8401
|
-
// Override getPlotBandPath to allow for multipane charts
|
8402
|
-
Axis.prototype.getPlotBandPath = function(from, to) {
|
8403
|
-
var toPath = this.getPlotLinePath(to, null, null, true),
|
8404
|
-
path = this.getPlotLinePath(from, null, null, true),
|
8405
|
-
result = [],
|
8406
|
-
i;
|
8407
|
-
|
8408
|
-
if (path && toPath) {
|
8409
|
-
if (path.toString() === toPath.toString()) {
|
8410
|
-
// #6166
|
8411
|
-
result = path;
|
8412
|
-
result.flat = true;
|
8413
|
-
} else {
|
8414
|
-
// Go over each subpath
|
8415
|
-
for (i = 0; i < path.length; i += 6) {
|
8416
|
-
result.push(
|
8417
|
-
'M', path[i + 1], path[i + 2],
|
8418
|
-
'L', path[i + 4], path[i + 5],
|
8419
|
-
toPath[i + 4], toPath[i + 5],
|
8420
|
-
toPath[i + 1], toPath[i + 2],
|
8421
|
-
'z'
|
8422
|
-
);
|
8423
|
-
}
|
8424
|
-
}
|
8425
|
-
} else { // outside the axis area
|
8426
|
-
result = null;
|
8427
|
-
}
|
8428
|
-
|
8429
|
-
return result;
|
8430
|
-
};
|
8431
|
-
|
8432
8404
|
// Function to crisp a line with multiple segments
|
8433
8405
|
SVGRenderer.prototype.crispPolyLine = function(points, width) {
|
8434
8406
|
// points format: ['M', 0, 0, 'L', 100, 0]
|
@@ -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) 2016 Highsoft AS
|
5
5
|
* Authors: Jon Arild Nygard
|
@@ -283,6 +283,9 @@
|
|
283
283
|
each = H.each,
|
284
284
|
getColor = mixinTreeSeries.getColor,
|
285
285
|
grep = H.grep,
|
286
|
+
isBoolean = function(x) {
|
287
|
+
return typeof x === 'boolean';
|
288
|
+
},
|
286
289
|
isNumber = H.isNumber,
|
287
290
|
isString = H.isString,
|
288
291
|
pick = H.pick,
|
@@ -469,7 +472,6 @@
|
|
469
472
|
* to be level one. Otherwise the level will be the same as the tree
|
470
473
|
* structure.
|
471
474
|
*
|
472
|
-
* @validvalue [true, false]
|
473
475
|
* @type {Boolean}
|
474
476
|
* @default true
|
475
477
|
* @since 4.1.0
|
@@ -826,6 +828,14 @@
|
|
826
828
|
setTreeValues: function(tree) {
|
827
829
|
var series = this,
|
828
830
|
options = series.options,
|
831
|
+
idRoot = series.rootNode,
|
832
|
+
mapIdToNode = series.nodeMap,
|
833
|
+
nodeRoot = mapIdToNode[idRoot],
|
834
|
+
levelIsConstant = (
|
835
|
+
isBoolean(options.levelIsConstant) ?
|
836
|
+
options.levelIsConstant :
|
837
|
+
true
|
838
|
+
),
|
829
839
|
childrenTotal = 0,
|
830
840
|
children = [],
|
831
841
|
val,
|
@@ -854,7 +864,7 @@
|
|
854
864
|
// Ignore this node if point is not visible
|
855
865
|
ignore: !(pick(point && point.visible, true) && (val > 0)),
|
856
866
|
isLeaf: tree.visible && !childrenTotal,
|
857
|
-
levelDynamic: tree.level - (
|
867
|
+
levelDynamic: tree.level - (levelIsConstant ? 0 : nodeRoot.level),
|
858
868
|
name: pick(point && point.name, ''),
|
859
869
|
sortIndex: pick(point && point.sortIndex, -val),
|
860
870
|
val: val
|
@@ -1818,13 +1828,7 @@
|
|
1818
1828
|
};
|
1819
1829
|
|
1820
1830
|
var getAnimation = function getAnimation(shape, params) {
|
1821
|
-
var
|
1822
|
-
end: shape.end,
|
1823
|
-
start: shape.start,
|
1824
|
-
innerR: shape.innerR,
|
1825
|
-
r: shape.r
|
1826
|
-
},
|
1827
|
-
from = {},
|
1831
|
+
var center = params.center,
|
1828
1832
|
point = params.point,
|
1829
1833
|
radians = params.radians,
|
1830
1834
|
innerR = params.innerR,
|
@@ -1833,7 +1837,16 @@
|
|
1833
1837
|
shapeExisting = params.shapeExisting,
|
1834
1838
|
shapeRoot = params.shapeRoot,
|
1835
1839
|
shapePreviousRoot = params.shapePreviousRoot,
|
1836
|
-
visible = params.visible
|
1840
|
+
visible = params.visible,
|
1841
|
+
from = {},
|
1842
|
+
to = {
|
1843
|
+
end: shape.end,
|
1844
|
+
start: shape.start,
|
1845
|
+
innerR: shape.innerR,
|
1846
|
+
r: shape.r,
|
1847
|
+
x: center.x,
|
1848
|
+
y: center.y
|
1849
|
+
};
|
1837
1850
|
if (visible) {
|
1838
1851
|
// Animate points in
|
1839
1852
|
if (!point.graphic && shapePreviousRoot) {
|
@@ -2040,13 +2053,13 @@
|
|
2040
2053
|
/**
|
2041
2054
|
* Can set a `borderColor` on all points which lies on the same level.
|
2042
2055
|
*
|
2043
|
-
* @type {
|
2056
|
+
* @type {Color}
|
2044
2057
|
* @apioption plotOptions.sunburst.levels.borderColor
|
2045
2058
|
*/
|
2046
2059
|
/**
|
2047
2060
|
* Can set a `borderWidth` on all points which lies on the same level.
|
2048
2061
|
*
|
2049
|
-
* @type {
|
2062
|
+
* @type {Number}
|
2050
2063
|
* @apioption plotOptions.sunburst.levels.borderWidth
|
2051
2064
|
*/
|
2052
2065
|
/**
|
@@ -2058,7 +2071,7 @@
|
|
2058
2071
|
/**
|
2059
2072
|
* Can set a `color` on all points which lies on the same level.
|
2060
2073
|
*
|
2061
|
-
* @type {
|
2074
|
+
* @type {Color}
|
2062
2075
|
* @apioption plotOptions.sunburst.levels.color
|
2063
2076
|
*/
|
2064
2077
|
/**
|
@@ -2077,7 +2090,7 @@
|
|
2077
2090
|
* The ending value of a color variation. The last sibling will receive this
|
2078
2091
|
* value.
|
2079
2092
|
*
|
2080
|
-
* @type {
|
2093
|
+
* @type {Number}
|
2081
2094
|
* @apioption plotOptions.sunburst.levels.colorVariation.to
|
2082
2095
|
*/
|
2083
2096
|
/**
|
@@ -2136,9 +2149,14 @@
|
|
2136
2149
|
true
|
2137
2150
|
),
|
2138
2151
|
positions = series.center,
|
2152
|
+
center = {
|
2153
|
+
x: positions[0],
|
2154
|
+
y: positions[1]
|
2155
|
+
},
|
2139
2156
|
innerR = positions[3] / 2,
|
2140
2157
|
renderer = series.chart.renderer,
|
2141
2158
|
animateLabels,
|
2159
|
+
animateLabelsCalled = false,
|
2142
2160
|
addedHack = false,
|
2143
2161
|
hackDataLabelAnimation = !!(
|
2144
2162
|
animation &&
|
@@ -2153,6 +2171,7 @@
|
|
2153
2171
|
});
|
2154
2172
|
animateLabels = function() {
|
2155
2173
|
var s = series;
|
2174
|
+
animateLabelsCalled = true;
|
2156
2175
|
if (s.dataLabelsGroup) {
|
2157
2176
|
s.dataLabelsGroup.animate({
|
2158
2177
|
opacity: 1,
|
@@ -2172,6 +2191,7 @@
|
|
2172
2191
|
visible = !!(node.visible && node.shapeArgs);
|
2173
2192
|
if (hasRendered && animation) {
|
2174
2193
|
animationInfo = getAnimation(shape, {
|
2194
|
+
center: center,
|
2175
2195
|
point: point,
|
2176
2196
|
radians: radians,
|
2177
2197
|
innerR: innerR,
|
@@ -2226,6 +2246,11 @@
|
|
2226
2246
|
series.options.dataLabels.defer = true;
|
2227
2247
|
Series.prototype.drawDataLabels.call(series);
|
2228
2248
|
series.hasRendered = true;
|
2249
|
+
// If animateLabels is called before labels were hidden, then call
|
2250
|
+
// it again.
|
2251
|
+
if (animateLabelsCalled) {
|
2252
|
+
animateLabels();
|
2253
|
+
}
|
2229
2254
|
} else {
|
2230
2255
|
Series.prototype.drawDataLabels.call(series);
|
2231
2256
|
}
|