highcharts-rails 5.0.7 → 5.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.markdown +41 -0
  3. data/README.markdown +3 -6
  4. data/app/assets/javascripts/highcharts.js +758 -455
  5. data/app/assets/javascripts/highcharts/highcharts-3d.js +58 -50
  6. data/app/assets/javascripts/highcharts/highcharts-more.js +21 -35
  7. data/app/assets/javascripts/highcharts/modules/accessibility.js +69 -39
  8. data/app/assets/javascripts/highcharts/modules/annotations.js +2 -2
  9. data/app/assets/javascripts/highcharts/modules/boost.js +2316 -337
  10. data/app/assets/javascripts/highcharts/modules/broken-axis.js +17 -3
  11. data/app/assets/javascripts/highcharts/modules/data.js +2 -2
  12. data/app/assets/javascripts/highcharts/modules/drilldown.js +6 -6
  13. data/app/assets/javascripts/highcharts/modules/exporting.js +4 -4
  14. data/app/assets/javascripts/highcharts/modules/funnel.js +4 -4
  15. data/app/assets/javascripts/highcharts/modules/grid-axis.js +6 -6
  16. data/app/assets/javascripts/highcharts/modules/heatmap.js +10 -7
  17. data/app/assets/javascripts/highcharts/modules/no-data-to-display.js +2 -2
  18. data/app/assets/javascripts/highcharts/modules/offline-exporting.js +3 -3
  19. data/app/assets/javascripts/highcharts/modules/overlapping-datalabels.js +3 -3
  20. data/app/assets/javascripts/highcharts/modules/series-label.js +2 -2
  21. data/app/assets/javascripts/highcharts/modules/solid-gauge.js +40 -4
  22. data/app/assets/javascripts/highcharts/modules/stock.js +100 -81
  23. data/app/assets/javascripts/highcharts/modules/treemap.js +36 -9
  24. data/app/assets/javascripts/highcharts/modules/xrange-series.js +2 -2
  25. data/lib/highcharts/version.rb +1 -1
  26. metadata +2 -2
@@ -1,11 +1,12 @@
1
1
  /**
2
- * @license Highcharts JS v5.0.7 (2017-01-17)
2
+ * @license Highcharts JS v5.0.8 (2017-03-08)
3
3
  * Highstock as a plugin for Highcharts
4
4
  *
5
5
  * (c) 2017 Torstein Honsi
6
6
  *
7
7
  * License: www.highcharts.com/license
8
8
  */
9
+ 'use strict';
9
10
  (function(factory) {
10
11
  if (typeof module === 'object' && module.exports) {
11
12
  module.exports = factory;
@@ -19,7 +20,6 @@
19
20
  *
20
21
  * License: www.highcharts.com/license
21
22
  */
22
- 'use strict';
23
23
  var addEvent = H.addEvent,
24
24
  Axis = H.Axis,
25
25
  Chart = H.Chart,
@@ -470,7 +470,8 @@
470
470
  options: {
471
471
  ordinal: true
472
472
  },
473
- val2lin: Axis.prototype.val2lin // #2590
473
+ val2lin: Axis.prototype.val2lin, // #2590
474
+ ordinal2lin: Axis.prototype.ordinal2lin // #6276
474
475
  };
475
476
 
476
477
  // Add the fake series to hold the full data, then apply processData to it
@@ -728,7 +729,6 @@
728
729
  *
729
730
  * License: www.highcharts.com/license
730
731
  */
731
- 'use strict';
732
732
 
733
733
  var pick = H.pick,
734
734
  wrap = H.wrap,
@@ -882,6 +882,7 @@
882
882
  brk,
883
883
  min = axis.userMin || axis.min,
884
884
  max = axis.userMax || axis.max,
885
+ pointRangePadding = pick(axis.pointRangePadding, 0),
885
886
  start,
886
887
  i,
887
888
  j;
@@ -957,9 +958,22 @@
957
958
 
958
959
  axis.breakArray = breakArray;
959
960
 
961
+ // Used with staticScale, and below, the actual axis length when
962
+ // breaks are substracted.
963
+ axis.unitLength = max - min - length + pointRangePadding;
964
+
960
965
  fireEvent(axis, 'afterBreaks');
961
966
 
962
- axis.transA *= ((max - axis.min) / (max - min - length));
967
+ if (axis.options.staticScale) {
968
+ axis.transA = axis.options.staticScale;
969
+ } else {
970
+ axis.transA *= (max - axis.min + pointRangePadding) /
971
+ axis.unitLength;
972
+ }
973
+
974
+ if (pointRangePadding) {
975
+ axis.minPixelPadding = axis.transA * axis.minPointOffset;
976
+ }
963
977
 
964
978
  axis.min = min;
965
979
  axis.max = max;
@@ -1045,7 +1059,6 @@
1045
1059
  }(Highcharts));
1046
1060
  (function() {
1047
1061
 
1048
- 'use strict';
1049
1062
 
1050
1063
  }());
1051
1064
  (function(H) {
@@ -1054,7 +1067,6 @@
1054
1067
  *
1055
1068
  * License: www.highcharts.com/license
1056
1069
  */
1057
- 'use strict';
1058
1070
  var arrayMax = H.arrayMax,
1059
1071
  arrayMin = H.arrayMin,
1060
1072
  Axis = H.Axis,
@@ -1365,9 +1377,8 @@
1365
1377
  series.groupPixelWidth = null; // #2110
1366
1378
  series.hasProcessed = true; // #2692
1367
1379
 
1368
- // skip if processData returns false or if grouping is disabled (in that order) or #5493
1369
- skip = baseProcessData.apply(series, arguments) === false ||
1370
- !groupingEnabled || !visible;
1380
+ // skip if processData returns false or if grouping is disabled (in that order)
1381
+ skip = baseProcessData.apply(series, arguments) === false || !groupingEnabled;
1371
1382
  if (!skip) {
1372
1383
  series.destroyGroupedData();
1373
1384
 
@@ -1419,7 +1430,8 @@
1419
1430
  series.groupMap = groupedData[2];
1420
1431
 
1421
1432
  // Make sure the X axis extends to show the first group (#2533)
1422
- if (defined(groupedXData[0]) && groupedXData[0] < xAxis.dataMin) {
1433
+ // But only for visible series (#5493, #6393)
1434
+ if (defined(groupedXData[0]) && groupedXData[0] < xAxis.dataMin && visible) {
1423
1435
  if (xAxis.min === xAxis.dataMin) {
1424
1436
  xAxis.min = groupedXData[0];
1425
1437
  }
@@ -1687,7 +1699,6 @@
1687
1699
  *
1688
1700
  * License: www.highcharts.com/license
1689
1701
  */
1690
- 'use strict';
1691
1702
  var each = H.each,
1692
1703
  Point = H.Point,
1693
1704
  seriesType = H.seriesType,
@@ -1889,7 +1900,6 @@
1889
1900
  *
1890
1901
  * License: www.highcharts.com/license
1891
1902
  */
1892
- 'use strict';
1893
1903
  var defaultPlotOptions = H.defaultPlotOptions,
1894
1904
  each = H.each,
1895
1905
  merge = H.merge,
@@ -1914,7 +1924,7 @@
1914
1924
  lineColor: '#000000',
1915
1925
  lineWidth: 1,
1916
1926
  upColor: '#ffffff'
1917
- // upLineColor: null
1927
+ // upLineColor: null
1918
1928
 
1919
1929
 
1920
1930
  }), /** @lends seriesTypes.candlestick */ {
@@ -2046,7 +2056,6 @@
2046
2056
  *
2047
2057
  * License: www.highcharts.com/license
2048
2058
  */
2049
- 'use strict';
2050
2059
  var addEvent = H.addEvent,
2051
2060
  each = H.each,
2052
2061
  merge = H.merge,
@@ -2272,19 +2281,19 @@
2272
2281
  // Create the flag
2273
2282
  if (!graphic) {
2274
2283
  graphic = point.graphic = renderer.label(
2275
- '',
2276
- null,
2277
- null,
2278
- shape,
2279
- null,
2280
- null,
2281
- options.useHTML
2282
- )
2283
-
2284
- .attr(series.pointAttribs(point))
2284
+ '',
2285
+ null,
2286
+ null,
2287
+ shape,
2288
+ null,
2289
+ null,
2290
+ options.useHTML
2291
+ )
2292
+
2293
+ .attr(series.pointAttribs(point))
2285
2294
  .css(merge(options.style, point.style))
2286
2295
 
2287
- .attr({
2296
+ .attr({
2288
2297
  align: shape === 'flag' ? 'left' : 'center',
2289
2298
  width: options.width,
2290
2299
  height: options.height,
@@ -2312,7 +2321,7 @@
2312
2321
  });
2313
2322
 
2314
2323
  // Set the tooltip anchor position
2315
- point.tooltipPos = chart.inverted ? [yAxis.len + yAxis.pos - chart.plotLeft - plotY, series.xAxis.len - plotX] : [plotX, plotY];
2324
+ point.tooltipPos = chart.inverted ? [yAxis.len + yAxis.pos - chart.plotLeft - plotY, series.xAxis.len - plotX] : [plotX, plotY + yAxis.pos - chart.plotTop]; // #6327
2316
2325
 
2317
2326
  } else if (graphic) {
2318
2327
  point.graphic = graphic.destroy();
@@ -2432,7 +2441,6 @@
2432
2441
  *
2433
2442
  * License: www.highcharts.com/license
2434
2443
  */
2435
- 'use strict';
2436
2444
  var addEvent = H.addEvent,
2437
2445
  Axis = H.Axis,
2438
2446
  correctFloat = H.correctFloat,
@@ -3042,7 +3050,7 @@
3042
3050
  }
3043
3051
  }, this);
3044
3052
 
3045
- if (scroller) {
3053
+ if (scroller && this === scroller.scrollbar) { // #6421, chart may have more scrollbars
3046
3054
  scroller.scrollbar = null;
3047
3055
 
3048
3056
  // Destroy elements in collection
@@ -3166,7 +3174,6 @@
3166
3174
  *
3167
3175
  * License: www.highcharts.com/license
3168
3176
  */
3169
- 'use strict';
3170
3177
  /* ****************************************************************************
3171
3178
  * Start Navigator code *
3172
3179
  *****************************************************************************/
@@ -3260,7 +3267,7 @@
3260
3267
  threshold: null
3261
3268
  },
3262
3269
  //top: undefined,
3263
- //opposite: undefined, // docs
3270
+ //opposite: undefined,
3264
3271
  xAxis: {
3265
3272
  className: 'highcharts-navigator-xaxis',
3266
3273
  tickLength: 0,
@@ -3368,6 +3375,7 @@
3368
3375
  maskInside = navigator.navigatorOptions.maskInside,
3369
3376
  outlineWidth = navigator.outline.strokeWidth(),
3370
3377
  halfOutline = outlineWidth / 2,
3378
+ outlineCorrection = (outlineWidth % 2) / 2, // #5800
3371
3379
  outlineHeight = navigator.outlineHeight,
3372
3380
  scrollbarHeight = navigator.scrollbarHeight,
3373
3381
  navigatorSize = navigator.size,
@@ -3378,13 +3386,13 @@
3378
3386
 
3379
3387
  if (inverted) {
3380
3388
  left -= halfOutline;
3381
- verticalMin = navigatorTop + zoomedMax + halfOutline;
3382
- zoomedMax = navigatorTop + zoomedMin + halfOutline;
3389
+ verticalMin = navigatorTop + zoomedMax + outlineCorrection;
3390
+ zoomedMax = navigatorTop + zoomedMin + outlineCorrection;
3383
3391
 
3384
3392
  path = [
3385
3393
  'M',
3386
3394
  left + outlineHeight,
3387
- navigatorTop - scrollbarHeight - halfOutline, // top edge
3395
+ navigatorTop - scrollbarHeight - outlineCorrection, // top edge
3388
3396
  'L',
3389
3397
  left + outlineHeight,
3390
3398
  verticalMin, // top right of zoomed range
@@ -3409,8 +3417,8 @@
3409
3417
  zoomedMax + halfOutline // upper right of z.r.
3410
3418
  ] : []);
3411
3419
  } else {
3412
- zoomedMin += left + scrollbarHeight - halfOutline; // #5800 - TO DO, remove halfOutline
3413
- zoomedMax += left + scrollbarHeight - halfOutline; // #5800 - TO DO, remove halfOutline
3420
+ zoomedMin += left + scrollbarHeight - outlineCorrection;
3421
+ zoomedMax += left + scrollbarHeight - outlineCorrection;
3414
3422
  navigatorTop += halfOutline;
3415
3423
 
3416
3424
  path = [
@@ -3531,24 +3539,24 @@
3531
3539
  .addClass('highcharts-navigator-mask' +
3532
3540
  (index === 1 ? '-inside' : '-outside'))
3533
3541
 
3534
- .attr({
3542
+ .attr({
3535
3543
  fill: hasMask ? navigatorOptions.maskFill : 'transparent'
3536
3544
  })
3537
3545
  .css(index === 1 && mouseCursor)
3538
3546
 
3539
- .add(navigatorGroup);
3547
+ .add(navigatorGroup);
3540
3548
  });
3541
3549
 
3542
3550
  // Create the outline:
3543
3551
  navigator.outline = renderer.path()
3544
3552
  .addClass('highcharts-navigator-outline')
3545
3553
 
3546
- .attr({
3547
- 'stroke-width': navigatorOptions.outlineWidth,
3548
- stroke: navigatorOptions.outlineColor
3549
- })
3554
+ .attr({
3555
+ 'stroke-width': navigatorOptions.outlineWidth,
3556
+ stroke: navigatorOptions.outlineColor
3557
+ })
3550
3558
 
3551
- .add(navigatorGroup);
3559
+ .add(navigatorGroup);
3552
3560
 
3553
3561
  // Create the handlers:
3554
3562
  each([0, 1], function(index) {
@@ -3632,20 +3640,18 @@
3632
3640
 
3633
3641
  navigator.left = pick(
3634
3642
  xAxis.left,
3635
- chart.plotLeft + scrollbarHeight // in case of scrollbar only, without navigator
3643
+ // in case of scrollbar only, without navigator
3644
+ chart.plotLeft + scrollbarHeight + (inverted ? chart.plotWidth : 0)
3645
+ );
3646
+
3647
+ navigator.size = zoomedMax = navigatorSize = pick(
3648
+ xAxis.len,
3649
+ (inverted ? chart.plotHeight : chart.plotWidth) - 2 * scrollbarHeight
3636
3650
  );
3637
3651
 
3638
3652
  if (inverted) {
3639
- navigator.size = zoomedMax = navigatorSize = pick(
3640
- xAxis.len,
3641
- chart.plotHeight - 2 * scrollbarHeight
3642
- );
3643
3653
  navigatorWidth = scrollbarHeight;
3644
3654
  } else {
3645
- navigator.size = zoomedMax = navigatorSize = pick(
3646
- xAxis.len,
3647
- chart.plotWidth - 2 * scrollbarHeight
3648
- );
3649
3655
  navigatorWidth = navigatorSize + 2 * scrollbarHeight;
3650
3656
  }
3651
3657
 
@@ -3682,6 +3688,7 @@
3682
3688
  ),
3683
3689
  zoomedMax
3684
3690
  );
3691
+
3685
3692
  navigator.range = navigator.zoomedMax - navigator.zoomedMin;
3686
3693
 
3687
3694
  zoomedMax = Math.round(navigator.zoomedMax);
@@ -3736,7 +3743,10 @@
3736
3743
  container = chart.container,
3737
3744
  eventsToUnbind = [],
3738
3745
  mouseMoveHandler,
3739
- mouseUpHandler;
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'];
3740
3750
 
3741
3751
  /**
3742
3752
  * Create mouse events' handlers.
@@ -3750,23 +3760,14 @@
3750
3760
  };
3751
3761
 
3752
3762
  // Add shades and handles mousedown events
3753
- eventsToUnbind = navigator.getPartsEvents('mousedown');
3763
+ eventsToUnbind = navigator.getPartsEvents(eventNames[0]);
3754
3764
  // Add mouse move and mouseup events. These are bind to doc/container,
3755
3765
  // because Navigator.grabbedSomething flags are stored in mousedown events:
3756
3766
  eventsToUnbind.push(
3757
- addEvent(container, 'mousemove', mouseMoveHandler),
3758
- addEvent(doc, 'mouseup', mouseUpHandler)
3767
+ addEvent(container, eventNames[1], mouseMoveHandler),
3768
+ addEvent(doc, eventNames[2], mouseUpHandler)
3759
3769
  );
3760
3770
 
3761
- // Touch events
3762
- if (hasTouch) {
3763
- eventsToUnbind.push(
3764
- addEvent(container, 'touchmove', mouseMoveHandler),
3765
- addEvent(doc, 'touchend', mouseUpHandler)
3766
- );
3767
- eventsToUnbind.concat(navigator.getPartsEvents('touchstart'));
3768
- }
3769
-
3770
3771
  navigator.eventsToUnbind = eventsToUnbind;
3771
3772
 
3772
3773
  // Data events
@@ -3949,6 +3950,7 @@
3949
3950
  } else if (chartX > navigatorSize + dragOffset - range) { // outside right
3950
3951
  chartX = navigatorSize + dragOffset - range;
3951
3952
  }
3953
+
3952
3954
  navigator.render(
3953
3955
  0,
3954
3956
  0,
@@ -3973,12 +3975,19 @@
3973
3975
  var navigator = this,
3974
3976
  chart = navigator.chart,
3975
3977
  xAxis = navigator.xAxis,
3978
+ scrollbar = navigator.scrollbar,
3976
3979
  fixedMin,
3977
3980
  fixedMax,
3978
3981
  ext,
3979
3982
  DOMEvent = e.DOMEvent || e;
3980
3983
 
3981
- if (navigator.hasDragged || e.trigger === 'scrollbar') {
3984
+ if (
3985
+ // MouseUp is called for both, navigator and scrollbar (that order),
3986
+ // which causes calling afterSetExtremes twice. Prevent first call
3987
+ // by checking if scrollbar is going to set new extremes (#6334)
3988
+ (navigator.hasDragged && (!scrollbar || !scrollbar.hasDragged)) ||
3989
+ e.trigger === 'scrollbar'
3990
+ ) {
3982
3991
  // When dragging one handle, make sure the other one doesn't change
3983
3992
  if (navigator.zoomedMin === navigator.otherHandlePos) {
3984
3993
  fixedMin = navigator.fixedExtreme;
@@ -3986,7 +3995,7 @@
3986
3995
  fixedMax = navigator.fixedExtreme;
3987
3996
  }
3988
3997
  // Snap to right edge (#4076)
3989
- if (navigator.zoomedMax === navigator.navigatorSize) {
3998
+ if (navigator.zoomedMax === navigator.size) {
3990
3999
  fixedMax = navigator.getUnionExtremes().dataMax;
3991
4000
  }
3992
4001
  ext = xAxis.toFixedRange(
@@ -4075,6 +4084,8 @@
4075
4084
  this.scrollbarOptions = scrollbarOptions;
4076
4085
  this.outlineHeight = height + scrollbarHeight;
4077
4086
 
4087
+ this.opposite = pick(navigatorOptions.opposite, !navigatorEnabled && chart.inverted); // #6262
4088
+
4078
4089
  var navigator = this,
4079
4090
  baseSeries = navigator.baseSeries,
4080
4091
  xAxisIndex = chart.xAxis.length,
@@ -4083,11 +4094,11 @@
4083
4094
 
4084
4095
  // Make room for the navigator, can be placed around the chart:
4085
4096
  chart.extraMargin = {
4086
- type: navigatorOptions.opposite ? 'plotTop' : 'marginBottom',
4087
- value: navigator.outlineHeight + navigatorOptions.margin
4097
+ type: navigator.opposite ? 'plotTop' : 'marginBottom',
4098
+ value: (navigatorEnabled || !chart.inverted ? navigator.outlineHeight : 0) + navigatorOptions.margin
4088
4099
  };
4089
4100
  if (chart.inverted) {
4090
- chart.extraMargin.type = navigatorOptions.opposite ? 'marginRight' : 'plotLeft';
4101
+ chart.extraMargin.type = navigator.opposite ? 'marginRight' : 'plotLeft';
4091
4102
  }
4092
4103
  chart.isDirtyBox = true;
4093
4104
 
@@ -4158,7 +4169,7 @@
4158
4169
  translate: function(value, reverse) {
4159
4170
  var axis = chart.xAxis[0],
4160
4171
  ext = axis.getExtremes(),
4161
- scrollTrackWidth = chart.plotWidth - 2 * scrollbarHeight,
4172
+ scrollTrackWidth = axis.len - 2 * scrollbarHeight,
4162
4173
  min = numExt('min', axis.options.min, ext.dataMin),
4163
4174
  valueRange = numExt('max', axis.options.max, ext.dataMax) - min;
4164
4175
 
@@ -4258,7 +4269,7 @@
4258
4269
  */
4259
4270
  setBaseSeries: function(baseSeriesOptions) {
4260
4271
  var chart = this.chart,
4261
- baseSeries = this.baseSeries = [];
4272
+ baseSeries;
4262
4273
 
4263
4274
  baseSeriesOptions = baseSeriesOptions || chart.options && chart.options.navigator.baseSeries || 0;
4264
4275
 
@@ -4270,6 +4281,8 @@
4270
4281
  });
4271
4282
  }
4272
4283
 
4284
+ baseSeries = this.baseSeries = [];
4285
+
4273
4286
  // Iterate through series and add the ones that should be shown in navigator
4274
4287
  each(chart.series || [], function(series, i) {
4275
4288
  if (series.options.showInNavigator || (i === baseSeriesOptions || series.options.id === baseSeriesOptions) &&
@@ -4357,17 +4370,13 @@
4357
4370
  each(baseSeries, function(base) {
4358
4371
  if (base.xAxis) {
4359
4372
  addEvent(base, 'updatedData', this.updatedDataHandler);
4360
- // Survive Series.update()
4361
- base.userOptions.events = extend(base.userOptions.event, {
4362
- updatedData: this.updatedDataHandler
4363
- });
4364
4373
  }
4365
4374
 
4366
4375
  // Handle series removal
4367
4376
  addEvent(base, 'remove', function() {
4368
4377
  if (this.navigatorSeries) {
4369
4378
  erase(navigator.series, this.navigatorSeries);
4370
- this.navigatorSeries.remove();
4379
+ this.navigatorSeries.remove(false);
4371
4380
  delete this.navigatorSeries;
4372
4381
  }
4373
4382
  });
@@ -4619,7 +4628,7 @@
4619
4628
 
4620
4629
  // Compute the top position
4621
4630
  if (this.inverted) {
4622
- navigator.left = navigator.navigatorOptions.opposite ?
4631
+ navigator.left = navigator.opposite ?
4623
4632
  this.chartWidth - scrollbarHeight - navigator.height :
4624
4633
  this.spacing[3] + scrollbarHeight;
4625
4634
  navigator.top = this.plotTop + scrollbarHeight;
@@ -4699,7 +4708,6 @@
4699
4708
  *
4700
4709
  * License: www.highcharts.com/license
4701
4710
  */
4702
- 'use strict';
4703
4711
  var addEvent = H.addEvent,
4704
4712
  Axis = H.Axis,
4705
4713
  Chart = H.Chart,
@@ -5658,7 +5666,6 @@
5658
5666
  *
5659
5667
  * License: www.highcharts.com/license
5660
5668
  */
5661
- 'use strict';
5662
5669
  var arrayMax = H.arrayMax,
5663
5670
  arrayMin = H.arrayMin,
5664
5671
  Axis = H.Axis,
@@ -5838,13 +5845,25 @@
5838
5845
  if (labelOptions.align === undefined) {
5839
5846
  labelOptions.align = 'right';
5840
5847
  }
5841
- panes[key] = 1;
5848
+ panes[key] = this;
5842
5849
  return 'right';
5843
5850
  }
5844
5851
  }
5845
5852
  return proceed.call(this, [].slice.call(arguments, 1));
5846
5853
  });
5847
5854
 
5855
+ // Clear axis from label panes (#6071)
5856
+ wrap(Axis.prototype, 'destroy', function(proceed) {
5857
+ var chart = this.chart,
5858
+ key = this.options && (this.options.top + ',' + this.options.height);
5859
+
5860
+ if (key && chart._labelPanes && chart._labelPanes[key] === this) {
5861
+ delete chart._labelPanes[key];
5862
+ }
5863
+
5864
+ return proceed.call(this, Array.prototype.slice.call(arguments, 1));
5865
+ });
5866
+
5848
5867
  // Override getPlotLinePath to allow for multipane charts
5849
5868
  wrap(Axis.prototype, 'getPlotLinePath', function(proceed, value, lineWidth, old, force, translatedValue) {
5850
5869
  var axis = this,