highcharts-rails 5.0.9 → 5.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.markdown +48 -0
- data/app/assets/javascripts/highcharts.js +547 -270
- data/app/assets/javascripts/highcharts/highcharts-3d.js +13 -11
- data/app/assets/javascripts/highcharts/highcharts-more.js +373 -181
- data/app/assets/javascripts/highcharts/modules/accessibility.js +3 -3
- data/app/assets/javascripts/highcharts/modules/annotations.js +3 -3
- data/app/assets/javascripts/highcharts/modules/boost.js +11 -5
- data/app/assets/javascripts/highcharts/modules/broken-axis.js +3 -3
- data/app/assets/javascripts/highcharts/modules/data.js +3 -3
- data/app/assets/javascripts/highcharts/modules/drilldown.js +1 -1
- data/app/assets/javascripts/highcharts/modules/exporting.js +70 -28
- data/app/assets/javascripts/highcharts/modules/funnel.js +3 -3
- data/app/assets/javascripts/highcharts/modules/grid-axis.js +1 -1
- data/app/assets/javascripts/highcharts/modules/heatmap.js +5 -5
- data/app/assets/javascripts/highcharts/modules/no-data-to-display.js +3 -3
- data/app/assets/javascripts/highcharts/modules/offline-exporting.js +2 -2
- data/app/assets/javascripts/highcharts/modules/overlapping-datalabels.js +43 -20
- data/app/assets/javascripts/highcharts/modules/series-label.js +3 -3
- data/app/assets/javascripts/highcharts/modules/solid-gauge.js +3 -3
- data/app/assets/javascripts/highcharts/modules/stock.js +83 -42
- data/app/assets/javascripts/highcharts/modules/treemap.js +1 -1
- data/app/assets/javascripts/highcharts/modules/xrange-series.js +3 -3
- data/lib/highcharts/version.rb +1 -1
- metadata +1 -1
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v5.0.
|
2
|
+
* @license Highcharts JS v5.0.10 (2017-03-31)
|
3
3
|
*
|
4
|
-
* (c) 2009-
|
4
|
+
* (c) 2009-2017 Torstein Honsi
|
5
5
|
*
|
6
6
|
* License: www.highcharts.com/license
|
7
7
|
*/
|
@@ -15,7 +15,7 @@
|
|
15
15
|
}(function(Highcharts) {
|
16
16
|
(function(H) {
|
17
17
|
/**
|
18
|
-
* (c) 2009-
|
18
|
+
* (c) 2009-2017 Torstein Honsi
|
19
19
|
*
|
20
20
|
* License: www.highcharts.com/license
|
21
21
|
*/
|
@@ -1,8 +1,8 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v5.0.
|
2
|
+
* @license Highcharts JS v5.0.10 (2017-03-31)
|
3
3
|
* Solid angular gauge module
|
4
4
|
*
|
5
|
-
* (c) 2010-
|
5
|
+
* (c) 2010-2017 Torstein Honsi
|
6
6
|
*
|
7
7
|
* License: www.highcharts.com/license
|
8
8
|
*/
|
@@ -18,7 +18,7 @@
|
|
18
18
|
/**
|
19
19
|
* Solid angular gauge module
|
20
20
|
*
|
21
|
-
* (c) 2010-
|
21
|
+
* (c) 2010-2017 Torstein Honsi
|
22
22
|
*
|
23
23
|
* License: www.highcharts.com/license
|
24
24
|
*/
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v5.0.
|
2
|
+
* @license Highcharts JS v5.0.10 (2017-03-31)
|
3
3
|
* Highstock as a plugin for Highcharts
|
4
4
|
*
|
5
5
|
* (c) 2017 Torstein Honsi
|
@@ -16,7 +16,7 @@
|
|
16
16
|
}(function(Highcharts) {
|
17
17
|
(function(H) {
|
18
18
|
/**
|
19
|
-
* (c) 2010-
|
19
|
+
* (c) 2010-2017 Torstein Honsi
|
20
20
|
*
|
21
21
|
* License: www.highcharts.com/license
|
22
22
|
*/
|
@@ -725,7 +725,7 @@
|
|
725
725
|
}(Highcharts));
|
726
726
|
(function(H) {
|
727
727
|
/**
|
728
|
-
* (c) 2009-
|
728
|
+
* (c) 2009-2017 Torstein Honsi
|
729
729
|
*
|
730
730
|
* License: www.highcharts.com/license
|
731
731
|
*/
|
@@ -1063,7 +1063,7 @@
|
|
1063
1063
|
}());
|
1064
1064
|
(function(H) {
|
1065
1065
|
/**
|
1066
|
-
* (c) 2010-
|
1066
|
+
* (c) 2010-2017 Torstein Honsi
|
1067
1067
|
*
|
1068
1068
|
* License: www.highcharts.com/license
|
1069
1069
|
*/
|
@@ -1695,7 +1695,7 @@
|
|
1695
1695
|
}(Highcharts));
|
1696
1696
|
(function(H) {
|
1697
1697
|
/**
|
1698
|
-
* (c) 2010-
|
1698
|
+
* (c) 2010-2017 Torstein Honsi
|
1699
1699
|
*
|
1700
1700
|
* License: www.highcharts.com/license
|
1701
1701
|
*/
|
@@ -1727,11 +1727,13 @@
|
|
1727
1727
|
hover: {
|
1728
1728
|
lineWidth: 3
|
1729
1729
|
}
|
1730
|
-
}
|
1730
|
+
},
|
1731
|
+
stickyTracking: true
|
1731
1732
|
//upColor: undefined
|
1732
1733
|
|
1733
1734
|
|
1734
1735
|
}, /** @lends seriesTypes.ohlc */ {
|
1736
|
+
directTouch: false,
|
1735
1737
|
pointArrayMap: ['open', 'high', 'low', 'close'], // array point configs are mapped to this
|
1736
1738
|
toYData: function(point) { // return a plain array for speedy calculation
|
1737
1739
|
return [point.open, point.high, point.low, point.close];
|
@@ -1775,18 +1777,18 @@
|
|
1775
1777
|
var series = this,
|
1776
1778
|
yAxis = series.yAxis,
|
1777
1779
|
hasModifyValue = !!series.modifyValue,
|
1778
|
-
|
1780
|
+
translated = ['plotOpen', 'plotHigh', 'plotLow', 'plotClose', 'yBottom']; // translate OHLC for
|
1779
1781
|
|
1780
1782
|
seriesTypes.column.prototype.translate.apply(series);
|
1781
1783
|
|
1782
1784
|
// Do the translation
|
1783
1785
|
each(series.points, function(point) {
|
1784
|
-
each([point.open, point.low, point.close], function(value, i) {
|
1786
|
+
each([point.open, point.high, point.low, point.close, point.low], function(value, i) {
|
1785
1787
|
if (value !== null) {
|
1786
1788
|
if (hasModifyValue) {
|
1787
1789
|
value = series.modifyValue(value);
|
1788
1790
|
}
|
1789
|
-
point[
|
1791
|
+
point[translated[i]] = yAxis.toPixels(value, true);
|
1790
1792
|
}
|
1791
1793
|
});
|
1792
1794
|
});
|
@@ -1896,7 +1898,7 @@
|
|
1896
1898
|
}(Highcharts));
|
1897
1899
|
(function(H) {
|
1898
1900
|
/**
|
1899
|
-
* (c) 2010-
|
1901
|
+
* (c) 2010-2017 Torstein Honsi
|
1900
1902
|
*
|
1901
1903
|
* License: www.highcharts.com/license
|
1902
1904
|
*/
|
@@ -1923,7 +1925,8 @@
|
|
1923
1925
|
|
1924
1926
|
lineColor: '#000000',
|
1925
1927
|
lineWidth: 1,
|
1926
|
-
upColor: '#ffffff'
|
1928
|
+
upColor: '#ffffff',
|
1929
|
+
stickyTracking: true
|
1927
1930
|
// upLineColor: null
|
1928
1931
|
|
1929
1932
|
|
@@ -2052,7 +2055,7 @@
|
|
2052
2055
|
}(Highcharts));
|
2053
2056
|
(function(H) {
|
2054
2057
|
/**
|
2055
|
-
* (c) 2010-
|
2058
|
+
* (c) 2010-2017 Torstein Honsi
|
2056
2059
|
*
|
2057
2060
|
* License: www.highcharts.com/license
|
2058
2061
|
*/
|
@@ -2067,7 +2070,8 @@
|
|
2067
2070
|
SVGRenderer = H.SVGRenderer,
|
2068
2071
|
TrackerMixin = H.TrackerMixin,
|
2069
2072
|
VMLRenderer = H.VMLRenderer,
|
2070
|
-
symbols = SVGRenderer.prototype.symbols
|
2073
|
+
symbols = SVGRenderer.prototype.symbols,
|
2074
|
+
stableSort = H.stableSort;
|
2071
2075
|
|
2072
2076
|
/**
|
2073
2077
|
* The flags series type.
|
@@ -2160,6 +2164,7 @@
|
|
2160
2164
|
onData = onSeries && onSeries.points,
|
2161
2165
|
i = onData && onData.length,
|
2162
2166
|
xAxis = series.xAxis,
|
2167
|
+
yAxis = series.yAxis,
|
2163
2168
|
xAxisExt = xAxis.getExtremes(),
|
2164
2169
|
xOffset = 0,
|
2165
2170
|
leftPoint,
|
@@ -2174,7 +2179,7 @@
|
|
2174
2179
|
lastX = onData[i - 1].x + (currentDataGrouping ? currentDataGrouping.totalRange : 0); // #2374
|
2175
2180
|
|
2176
2181
|
// sort the data points
|
2177
|
-
points
|
2182
|
+
stableSort(points, function(a, b) {
|
2178
2183
|
return (a.x - b.x);
|
2179
2184
|
});
|
2180
2185
|
|
@@ -2211,12 +2216,16 @@
|
|
2211
2216
|
|
2212
2217
|
var stackIndex;
|
2213
2218
|
|
2214
|
-
// Undefined plotY means the point is either on axis, outside series
|
2215
|
-
// If the series is outside the range of the
|
2216
|
-
// an undefined plotY, but then
|
2219
|
+
// Undefined plotY means the point is either on axis, outside series
|
2220
|
+
// range or hidden series. If the series is outside the range of the
|
2221
|
+
// x axis it should fall through with an undefined plotY, but then
|
2222
|
+
// we must remove the shapeArgs (#847).
|
2217
2223
|
if (point.plotY === undefined) {
|
2218
|
-
if (point.x >= xAxisExt.min && point.x <= xAxisExt.max) {
|
2219
|
-
|
2224
|
+
if (point.x >= xAxisExt.min && point.x <= xAxisExt.max) {
|
2225
|
+
// we're inside xAxis range
|
2226
|
+
point.plotY = chart.chartHeight - xAxis.bottom -
|
2227
|
+
(xAxis.opposite ? xAxis.height : 0) +
|
2228
|
+
xAxis.offset - yAxis.top; // #3517
|
2220
2229
|
} else {
|
2221
2230
|
point.shapeArgs = {}; // 847
|
2222
2231
|
}
|
@@ -2302,6 +2311,11 @@
|
|
2302
2311
|
.addClass('highcharts-point')
|
2303
2312
|
.add(series.markerGroup);
|
2304
2313
|
|
2314
|
+
// Add reference to the point for tracker (#6303)
|
2315
|
+
if (point.graphic.div) {
|
2316
|
+
point.graphic.div.point = point;
|
2317
|
+
}
|
2318
|
+
|
2305
2319
|
|
2306
2320
|
graphic.shadow(options.shadow);
|
2307
2321
|
|
@@ -2329,6 +2343,15 @@
|
|
2329
2343
|
|
2330
2344
|
}
|
2331
2345
|
|
2346
|
+
// Might be a mix of SVG and HTML and we need events for both (#6303)
|
2347
|
+
if (options.useHTML) {
|
2348
|
+
H.wrap(series.markerGroup, 'on', function(proceed) {
|
2349
|
+
return H.SVGElement.prototype.on.apply(
|
2350
|
+
proceed.apply(this, [].slice.call(arguments, 1)), // for HTML
|
2351
|
+
[].slice.call(arguments, 1)); // and for SVG
|
2352
|
+
});
|
2353
|
+
}
|
2354
|
+
|
2332
2355
|
},
|
2333
2356
|
|
2334
2357
|
/**
|
@@ -2437,7 +2460,7 @@
|
|
2437
2460
|
}(Highcharts));
|
2438
2461
|
(function(H) {
|
2439
2462
|
/**
|
2440
|
-
* (c) 2010-
|
2463
|
+
* (c) 2010-2017 Torstein Honsi
|
2441
2464
|
*
|
2442
2465
|
* License: www.highcharts.com/license
|
2443
2466
|
*/
|
@@ -2770,8 +2793,7 @@
|
|
2770
2793
|
}
|
2771
2794
|
|
2772
2795
|
from = Math.max(from, 0);
|
2773
|
-
|
2774
|
-
fromPX = fullWidth * from;
|
2796
|
+
fromPX = Math.ceil(fullWidth * from);
|
2775
2797
|
toPX = fullWidth * Math.min(to, 1);
|
2776
2798
|
scroller.calculatedWidth = newSize = correctFloat(toPX - fromPX);
|
2777
2799
|
|
@@ -3064,7 +3086,7 @@
|
|
3064
3086
|
*/
|
3065
3087
|
wrap(Axis.prototype, 'init', function(proceed) {
|
3066
3088
|
var axis = this;
|
3067
|
-
proceed.apply(axis,
|
3089
|
+
proceed.apply(axis, Array.prototype.slice.call(arguments, 1));
|
3068
3090
|
|
3069
3091
|
if (axis.options.scrollbar && axis.options.scrollbar.enabled) {
|
3070
3092
|
// Predefined options:
|
@@ -3102,26 +3124,37 @@
|
|
3102
3124
|
scrollMin = Math.min(pick(axis.options.min, axis.min), axis.min, axis.dataMin),
|
3103
3125
|
scrollMax = Math.max(pick(axis.options.max, axis.max), axis.max, axis.dataMax),
|
3104
3126
|
scrollbar = axis.scrollbar,
|
3127
|
+
offsetsIndex,
|
3105
3128
|
from,
|
3106
3129
|
to;
|
3107
3130
|
|
3108
|
-
proceed.apply(axis,
|
3131
|
+
proceed.apply(axis, Array.prototype.slice.call(arguments, 1));
|
3109
3132
|
|
3110
3133
|
if (scrollbar) {
|
3134
|
+
|
3111
3135
|
if (axis.horiz) {
|
3112
3136
|
scrollbar.position(
|
3113
3137
|
axis.left,
|
3114
|
-
axis.top + axis.height +
|
3138
|
+
axis.top + axis.height + 2 + axis.chart.scrollbarsOffsets[1] +
|
3139
|
+
(axis.opposite ? 0 : axis.axisTitleMargin + axis.offset),
|
3115
3140
|
axis.width,
|
3116
3141
|
axis.height
|
3117
3142
|
);
|
3143
|
+
offsetsIndex = 1;
|
3118
3144
|
} else {
|
3119
3145
|
scrollbar.position(
|
3120
|
-
axis.left + axis.width + 2 + axis.
|
3146
|
+
axis.left + axis.width + 2 + axis.chart.scrollbarsOffsets[0] +
|
3147
|
+
(axis.opposite ? axis.axisTitleMargin + axis.offset : 0),
|
3121
3148
|
axis.top,
|
3122
3149
|
axis.width,
|
3123
3150
|
axis.height
|
3124
3151
|
);
|
3152
|
+
offsetsIndex = 0;
|
3153
|
+
}
|
3154
|
+
|
3155
|
+
if ((!axis.opposite && !axis.horiz) || (axis.opposite && axis.horiz)) {
|
3156
|
+
axis.chart.scrollbarsOffsets[offsetsIndex] +=
|
3157
|
+
axis.scrollbar.size + axis.scrollbar.options.margin;
|
3125
3158
|
}
|
3126
3159
|
|
3127
3160
|
if (isNaN(scrollMin) || isNaN(scrollMax) || !defined(axis.min) || !defined(axis.max)) {
|
@@ -3147,9 +3180,10 @@
|
|
3147
3180
|
index = axis.horiz ? 2 : 1,
|
3148
3181
|
scrollbar = axis.scrollbar;
|
3149
3182
|
|
3150
|
-
proceed.apply(axis,
|
3183
|
+
proceed.apply(axis, Array.prototype.slice.call(arguments, 1));
|
3151
3184
|
|
3152
3185
|
if (scrollbar) {
|
3186
|
+
axis.chart.scrollbarsOffsets = [0, 0]; // reset scrollbars offsets
|
3153
3187
|
axis.chart.axisOffset[index] += scrollbar.size + scrollbar.options.margin;
|
3154
3188
|
}
|
3155
3189
|
});
|
@@ -3162,7 +3196,7 @@
|
|
3162
3196
|
this.scrollbar = this.scrollbar.destroy();
|
3163
3197
|
}
|
3164
3198
|
|
3165
|
-
proceed.apply(this,
|
3199
|
+
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
|
3166
3200
|
});
|
3167
3201
|
|
3168
3202
|
H.Scrollbar = Scrollbar;
|
@@ -3170,7 +3204,7 @@
|
|
3170
3204
|
}(Highcharts));
|
3171
3205
|
(function(H) {
|
3172
3206
|
/**
|
3173
|
-
* (c) 2010-
|
3207
|
+
* (c) 2010-2017 Torstein Honsi
|
3174
3208
|
*
|
3175
3209
|
* License: www.highcharts.com/license
|
3176
3210
|
*/
|
@@ -3727,8 +3761,9 @@
|
|
3727
3761
|
);
|
3728
3762
|
// Keep scale 0-1
|
3729
3763
|
navigator.scrollbar.setRange(
|
3730
|
-
|
3731
|
-
|
3764
|
+
// Use real value, not rounded because range can be very small (#1716)
|
3765
|
+
navigator.zoomedMin / navigatorSize,
|
3766
|
+
navigator.zoomedMax / navigatorSize
|
3732
3767
|
);
|
3733
3768
|
}
|
3734
3769
|
navigator.rendered = true;
|
@@ -3743,10 +3778,7 @@
|
|
3743
3778
|
container = chart.container,
|
3744
3779
|
eventsToUnbind = [],
|
3745
3780
|
mouseMoveHandler,
|
3746
|
-
mouseUpHandler
|
3747
|
-
// iOS calls both events: mousedown+touchstart and mouseup+touchend
|
3748
|
-
// So we add them just once, #6187
|
3749
|
-
eventNames = hasTouch ? ['touchstart', 'touchmove', 'touchend'] : ['mousedown', 'mousemove', 'mouseup'];
|
3781
|
+
mouseUpHandler;
|
3750
3782
|
|
3751
3783
|
/**
|
3752
3784
|
* Create mouse events' handlers.
|
@@ -3760,14 +3792,23 @@
|
|
3760
3792
|
};
|
3761
3793
|
|
3762
3794
|
// Add shades and handles mousedown events
|
3763
|
-
eventsToUnbind = navigator.getPartsEvents(
|
3795
|
+
eventsToUnbind = navigator.getPartsEvents('mousedown');
|
3764
3796
|
// Add mouse move and mouseup events. These are bind to doc/container,
|
3765
3797
|
// because Navigator.grabbedSomething flags are stored in mousedown events:
|
3766
3798
|
eventsToUnbind.push(
|
3767
|
-
addEvent(container,
|
3768
|
-
addEvent(doc,
|
3799
|
+
addEvent(container, 'mousemove', mouseMoveHandler),
|
3800
|
+
addEvent(doc, 'mouseup', mouseUpHandler)
|
3769
3801
|
);
|
3770
3802
|
|
3803
|
+
// Touch events
|
3804
|
+
if (hasTouch) {
|
3805
|
+
eventsToUnbind.push(
|
3806
|
+
addEvent(container, 'touchmove', mouseMoveHandler),
|
3807
|
+
addEvent(doc, 'touchend', mouseUpHandler)
|
3808
|
+
);
|
3809
|
+
eventsToUnbind.concat(navigator.getPartsEvents('touchstart'));
|
3810
|
+
}
|
3811
|
+
|
3771
3812
|
navigator.eventsToUnbind = eventsToUnbind;
|
3772
3813
|
|
3773
3814
|
// Data events
|
@@ -4704,7 +4745,7 @@
|
|
4704
4745
|
}(Highcharts));
|
4705
4746
|
(function(H) {
|
4706
4747
|
/**
|
4707
|
-
* (c) 2010-
|
4748
|
+
* (c) 2010-2017 Torstein Honsi
|
4708
4749
|
*
|
4709
4750
|
* License: www.highcharts.com/license
|
4710
4751
|
*/
|
@@ -5662,7 +5703,7 @@
|
|
5662
5703
|
}(Highcharts));
|
5663
5704
|
(function(H) {
|
5664
5705
|
/**
|
5665
|
-
* (c) 2010-
|
5706
|
+
* (c) 2010-2017 Torstein Honsi
|
5666
5707
|
*
|
5667
5708
|
* License: www.highcharts.com/license
|
5668
5709
|
*/
|
@@ -6187,7 +6228,7 @@
|
|
6187
6228
|
});
|
6188
6229
|
|
6189
6230
|
/* ****************************************************************************
|
6190
|
-
* Start value compare logic
|
6231
|
+
* Start value compare logic *
|
6191
6232
|
*****************************************************************************/
|
6192
6233
|
|
6193
6234
|
/**
|
@@ -6336,7 +6377,7 @@
|
|
6336
6377
|
};
|
6337
6378
|
|
6338
6379
|
/* ****************************************************************************
|
6339
|
-
* End value compare logic
|
6380
|
+
* End value compare logic *
|
6340
6381
|
*****************************************************************************/
|
6341
6382
|
|
6342
6383
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v5.0.
|
2
|
+
* @license Highcharts JS v5.0.10 (2017-03-31)
|
3
3
|
* X-range series
|
4
4
|
*
|
5
|
-
* (c) 2010-
|
5
|
+
* (c) 2010-2017 Torstein Honsi, Lars A. V. Cabrera
|
6
6
|
*
|
7
7
|
* --- WORK IN PROGRESS ---
|
8
8
|
*
|
@@ -18,7 +18,7 @@
|
|
18
18
|
}(function(Highcharts) {
|
19
19
|
(function(H) {
|
20
20
|
/**
|
21
|
-
* (c) 2014-
|
21
|
+
* (c) 2014-2017 Highsoft AS
|
22
22
|
* Authors: Torstein Honsi, Lars A. V. Cabrera
|
23
23
|
*
|
24
24
|
* License: www.highcharts.com/license
|
data/lib/highcharts/version.rb
CHANGED