highcharts-rails 4.2.6 → 4.2.7
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.
- checksums.yaml +4 -4
 - data/CHANGELOG.markdown +46 -0
 - data/Rakefile +1 -0
 - data/app/assets/javascripts/highcharts.js +252 -171
 - data/app/assets/javascripts/highcharts/highcharts-3d.js +2 -1
 - data/app/assets/javascripts/highcharts/highcharts-more.js +81 -50
 - data/app/assets/javascripts/highcharts/modules/boost.js +4 -0
 - data/app/assets/javascripts/highcharts/modules/broken-axis.js +1 -1
 - data/app/assets/javascripts/highcharts/modules/canvas-tools.js +1 -1
 - data/app/assets/javascripts/highcharts/modules/data.js +4 -1
 - data/app/assets/javascripts/highcharts/modules/drilldown.js +50 -51
 - data/app/assets/javascripts/highcharts/modules/exporting.js +6 -5
 - data/app/assets/javascripts/highcharts/modules/heatmap.js +24 -16
 - data/app/assets/javascripts/highcharts/modules/no-data-to-display.js +1 -1
 - data/app/assets/javascripts/highcharts/modules/offline-exporting.js +1 -2
 - data/app/assets/javascripts/highcharts/modules/series-label.js +519 -0
 - data/app/assets/javascripts/highcharts/modules/solid-gauge.js +1 -1
 - data/app/assets/javascripts/highcharts/modules/treemap.js +6 -4
 - data/lib/highcharts/version.rb +1 -1
 - metadata +2 -1
 
| 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            // @compilation_level SIMPLE_OPTIMIZATIONS
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            /**
         
     | 
| 
       5 
     | 
    
         
            -
             * @license Highcharts JS v4.2. 
     | 
| 
      
 5 
     | 
    
         
            +
             * @license Highcharts JS v4.2.7 (2016-09-21)
         
     | 
| 
       6 
6 
     | 
    
         
             
             *
         
     | 
| 
       7 
7 
     | 
    
         
             
             * 3D features for Highcharts JS
         
     | 
| 
       8 
8 
     | 
    
         
             
             *
         
     | 
| 
         @@ -503,6 +503,7 @@ 
     | 
|
| 
       503 
503 
     | 
    
         
             
                                    }));
         
     | 
| 
       504 
504 
     | 
    
         
             
                                };
         
     | 
| 
       505 
505 
     | 
    
         
             
                            }
         
     | 
| 
      
 506 
     | 
    
         
            +
                            animation = anim; // Only when duration (#5572)
         
     | 
| 
       506 
507 
     | 
    
         
             
                        }
         
     | 
| 
       507 
508 
     | 
    
         
             
                        return proceed.call(this, params, animation, complete);
         
     | 
| 
       508 
509 
     | 
    
         
             
                    });
         
     | 
| 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            // @compilation_level SIMPLE_OPTIMIZATIONS
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            /**
         
     | 
| 
       5 
     | 
    
         
            -
             * @license Highcharts JS v4.2. 
     | 
| 
      
 5 
     | 
    
         
            +
             * @license Highcharts JS v4.2.7 (2016-09-21)
         
     | 
| 
       6 
6 
     | 
    
         
             
             *
         
     | 
| 
       7 
7 
     | 
    
         
             
             * (c) 2009-2016 Torstein Honsi
         
     | 
| 
       8 
8 
     | 
    
         
             
             *
         
     | 
| 
         @@ -241,21 +241,30 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       241 
241 
     | 
    
         
             
                     * method.
         
     | 
| 
       242 
242 
     | 
    
         
             
                     */
         
     | 
| 
       243 
243 
     | 
    
         
             
                    getLinePath: function (lineWidth, radius) {
         
     | 
| 
       244 
     | 
    
         
            -
                        var center = this.center 
     | 
| 
       245 
     | 
    
         
            -
             
     | 
| 
      
 244 
     | 
    
         
            +
                        var center = this.center,
         
     | 
| 
      
 245 
     | 
    
         
            +
                            end,
         
     | 
| 
      
 246 
     | 
    
         
            +
                            chart = this.chart,
         
     | 
| 
      
 247 
     | 
    
         
            +
                            r = pick(radius, center[2] / 2 - this.offset),
         
     | 
| 
      
 248 
     | 
    
         
            +
                            path;
         
     | 
| 
       246 
249 
     | 
    
         | 
| 
       247 
     | 
    
         
            -
                         
     | 
| 
       248 
     | 
    
         
            -
                            this. 
     | 
| 
       249 
     | 
    
         
            -
             
     | 
| 
       250 
     | 
    
         
            -
             
     | 
| 
       251 
     | 
    
         
            -
             
     | 
| 
       252 
     | 
    
         
            -
             
     | 
| 
       253 
     | 
    
         
            -
                                 
     | 
| 
       254 
     | 
    
         
            -
             
     | 
| 
       255 
     | 
    
         
            -
             
     | 
| 
       256 
     | 
    
         
            -
             
     | 
| 
       257 
     | 
    
         
            -
             
     | 
| 
       258 
     | 
    
         
            -
             
     | 
| 
      
 250 
     | 
    
         
            +
                        if (this.isCircular || radius !== undefined) {
         
     | 
| 
      
 251 
     | 
    
         
            +
                            path = this.chart.renderer.symbols.arc(
         
     | 
| 
      
 252 
     | 
    
         
            +
                                this.left + center[0],
         
     | 
| 
      
 253 
     | 
    
         
            +
                                this.top + center[1],
         
     | 
| 
      
 254 
     | 
    
         
            +
                                r,
         
     | 
| 
      
 255 
     | 
    
         
            +
                                r,
         
     | 
| 
      
 256 
     | 
    
         
            +
                                {
         
     | 
| 
      
 257 
     | 
    
         
            +
                                    start: this.startAngleRad,
         
     | 
| 
      
 258 
     | 
    
         
            +
                                    end: this.endAngleRad,
         
     | 
| 
      
 259 
     | 
    
         
            +
                                    open: true,
         
     | 
| 
      
 260 
     | 
    
         
            +
                                    innerR: 0
         
     | 
| 
      
 261 
     | 
    
         
            +
                                }
         
     | 
| 
      
 262 
     | 
    
         
            +
                            );
         
     | 
| 
      
 263 
     | 
    
         
            +
                        } else {
         
     | 
| 
      
 264 
     | 
    
         
            +
                            end = this.postTranslate(this.angleRad, r);
         
     | 
| 
      
 265 
     | 
    
         
            +
                            path = ['M', center[0] + chart.plotLeft, center[1] + chart.plotTop, 'L', end.x, end.y];
         
     | 
| 
      
 266 
     | 
    
         
            +
                        }
         
     | 
| 
      
 267 
     | 
    
         
            +
                        return path;
         
     | 
| 
       259 
268 
     | 
    
         
             
                    },
         
     | 
| 
       260 
269 
     | 
    
         | 
| 
       261 
270 
     | 
    
         
             
                    /**
         
     | 
| 
         @@ -294,6 +303,11 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       294 
303 
     | 
    
         
             
                     * tickPositions are computed, so that ticks will extend passed the real max.
         
     | 
| 
       295 
304 
     | 
    
         
             
                     */
         
     | 
| 
       296 
305 
     | 
    
         
             
                    beforeSetTickPositions: function () {
         
     | 
| 
      
 306 
     | 
    
         
            +
                        // If autoConnect is true, polygonal grid lines are connected, and one closestPointRange
         
     | 
| 
      
 307 
     | 
    
         
            +
                        // is added to the X axis to prevent the last point from overlapping the first.
         
     | 
| 
      
 308 
     | 
    
         
            +
                        this.autoConnect = this.isCircular && pick(this.userMax, this.options.max) === undefined &&
         
     | 
| 
      
 309 
     | 
    
         
            +
                            this.endAngleRad - this.startAngleRad === 2 * Math.PI;
         
     | 
| 
      
 310 
     | 
    
         
            +
                    
         
     | 
| 
       297 
311 
     | 
    
         
             
                        if (this.autoConnect) {
         
     | 
| 
       298 
312 
     | 
    
         
             
                            this.max += (this.categories && 1) || this.pointRange || this.closestPointRange || 0; // #1197, #2260
         
     | 
| 
       299 
313 
     | 
    
         
             
                        }
         
     | 
| 
         @@ -330,7 +344,7 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       330 
344 
     | 
    
         
             
                     */
         
     | 
| 
       331 
345 
     | 
    
         
             
                    getPosition: function (value, length) {
         
     | 
| 
       332 
346 
     | 
    
         
             
                        return this.postTranslate(
         
     | 
| 
       333 
     | 
    
         
            -
                            this.isCircular ? this.translate(value) :  
     | 
| 
      
 347 
     | 
    
         
            +
                            this.isCircular ? this.translate(value) : this.angleRad, // #2848
         
     | 
| 
       334 
348 
     | 
    
         
             
                            pick(this.isCircular ? length : this.translate(value), this.center[2] / 2) - this.offset
         
     | 
| 
       335 
349 
     | 
    
         
             
                        );
         
     | 
| 
       336 
350 
     | 
    
         
             
                    },
         
     | 
| 
         @@ -505,8 +519,6 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       505 
519 
     | 
    
         
             
                        isX = userOptions.isX,
         
     | 
| 
       506 
520 
     | 
    
         
             
                        isHidden = angular && isX,
         
     | 
| 
       507 
521 
     | 
    
         
             
                        isCircular,
         
     | 
| 
       508 
     | 
    
         
            -
                        startAngleRad,
         
     | 
| 
       509 
     | 
    
         
            -
                        endAngleRad,
         
     | 
| 
       510 
522 
     | 
    
         
             
                        options,
         
     | 
| 
       511 
523 
     | 
    
         
             
                        chartOptions = chart.options,
         
     | 
| 
       512 
524 
     | 
    
         
             
                        paneIndex = userOptions.pane || 0,
         
     | 
| 
         @@ -555,16 +567,13 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       555 
567 
     | 
    
         
             
                        // Start and end angle options are
         
     | 
| 
       556 
568 
     | 
    
         
             
                        // given in degrees relative to top, while internal computations are
         
     | 
| 
       557 
569 
     | 
    
         
             
                        // in radians relative to right (like SVG).
         
     | 
| 
       558 
     | 
    
         
            -
                        this. 
     | 
| 
       559 
     | 
    
         
            -
                        this. 
     | 
| 
      
 570 
     | 
    
         
            +
                        this.angleRad = (options.angle || 0) * Math.PI / 180; // Y axis in polar charts
         
     | 
| 
      
 571 
     | 
    
         
            +
                        this.startAngleRad = (paneOptions.startAngle - 90) * Math.PI / 180; // Gauges
         
     | 
| 
      
 572 
     | 
    
         
            +
                        this.endAngleRad = (pick(paneOptions.endAngle, paneOptions.startAngle + 360)  - 90) * Math.PI / 180; // Gauges
         
     | 
| 
       560 
573 
     | 
    
         
             
                        this.offset = options.offset || 0;
         
     | 
| 
       561 
574 
     | 
    
         | 
| 
       562 
575 
     | 
    
         
             
                        this.isCircular = isCircular;
         
     | 
| 
       563 
576 
     | 
    
         | 
| 
       564 
     | 
    
         
            -
                        // Automatically connect grid lines?
         
     | 
| 
       565 
     | 
    
         
            -
                        if (isCircular && userOptions.max === UNDEFINED && endAngleRad - startAngleRad === 2 * Math.PI) {
         
     | 
| 
       566 
     | 
    
         
            -
                            this.autoConnect = true;
         
     | 
| 
       567 
     | 
    
         
            -
                        }
         
     | 
| 
       568 
577 
     | 
    
         
             
                    }
         
     | 
| 
       569 
578 
     | 
    
         | 
| 
       570 
579 
     | 
    
         
             
                });
         
     | 
| 
         @@ -603,7 +612,7 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       603 
612 
     | 
    
         
             
                        align = labelOptions.align,
         
     | 
| 
       604 
613 
     | 
    
         
             
                        angle = ((axis.translate(this.pos) + axis.startAngleRad + Math.PI / 2) / Math.PI * 180) % 360;
         
     | 
| 
       605 
614 
     | 
    
         | 
| 
       606 
     | 
    
         
            -
                    if (axis.isRadial) {
         
     | 
| 
      
 615 
     | 
    
         
            +
                    if (axis.isRadial) { // Both X and Y axes in a polar chart
         
     | 
| 
       607 
616 
     | 
    
         
             
                        ret = axis.getPosition(this.pos, (axis.center[2] / 2) + pick(labelOptions.distance, -25));
         
     | 
| 
       608 
617 
     | 
    
         | 
| 
       609 
618 
     | 
    
         
             
                        // Automatically rotated
         
     | 
| 
         @@ -619,7 +628,7 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       619 
628 
     | 
    
         | 
| 
       620 
629 
     | 
    
         
             
                        // Automatic alignment
         
     | 
| 
       621 
630 
     | 
    
         
             
                        if (align === null) {
         
     | 
| 
       622 
     | 
    
         
            -
                            if (axis.isCircular) {
         
     | 
| 
      
 631 
     | 
    
         
            +
                            if (axis.isCircular) { // Y axis
         
     | 
| 
       623 
632 
     | 
    
         
             
                                if (this.label.getBBox().width > axis.len * axis.tickInterval / (axis.max - axis.min)) { // #3506
         
     | 
| 
       624 
633 
     | 
    
         
             
                                    centerSlot = 0;
         
     | 
| 
       625 
634 
     | 
    
         
             
                                }
         
     | 
| 
         @@ -669,7 +678,8 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       669 
678 
     | 
    
         
             
                        ret = proceed.call(this, x, y, tickLength, tickWidth, horiz, renderer);
         
     | 
| 
       670 
679 
     | 
    
         
             
                    }
         
     | 
| 
       671 
680 
     | 
    
         
             
                    return ret;
         
     | 
| 
       672 
     | 
    
         
            -
                }) 
     | 
| 
      
 681 
     | 
    
         
            +
                });
         
     | 
| 
      
 682 
     | 
    
         
            +
                /*
         
     | 
| 
       673 
683 
     | 
    
         
             
                 * The AreaRangeSeries class
         
     | 
| 
       674 
684 
     | 
    
         
             
                 *
         
     | 
| 
       675 
685 
     | 
    
         
             
                 */
         
     | 
| 
         @@ -762,13 +772,12 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       762 
772 
     | 
    
         
             
                     * Extend the line series' getSegmentPath method by applying the segment
         
     | 
| 
       763 
773 
     | 
    
         
             
                     * path to both lower and higher values of the range
         
     | 
| 
       764 
774 
     | 
    
         
             
                     */
         
     | 
| 
       765 
     | 
    
         
            -
                    getGraphPath: function () {
         
     | 
| 
      
 775 
     | 
    
         
            +
                    getGraphPath: function (points) {
         
     | 
| 
       766 
776 
     | 
    
         | 
| 
       767 
     | 
    
         
            -
                        var  
     | 
| 
       768 
     | 
    
         
            -
                            highPoints = [],
         
     | 
| 
      
 777 
     | 
    
         
            +
                        var highPoints = [],
         
     | 
| 
       769 
778 
     | 
    
         
             
                            highAreaPoints = [],
         
     | 
| 
       770 
     | 
    
         
            -
                            i 
     | 
| 
       771 
     | 
    
         
            -
                            getGraphPath =  
     | 
| 
      
 779 
     | 
    
         
            +
                            i,
         
     | 
| 
      
 780 
     | 
    
         
            +
                            getGraphPath = seriesTypes.area.prototype.getGraphPath,
         
     | 
| 
       772 
781 
     | 
    
         
             
                            point,
         
     | 
| 
       773 
782 
     | 
    
         
             
                            pointShim,
         
     | 
| 
       774 
783 
     | 
    
         
             
                            linePath,
         
     | 
| 
         @@ -778,6 +787,9 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       778 
787 
     | 
    
         
             
                            higherPath,
         
     | 
| 
       779 
788 
     | 
    
         
             
                            higherAreaPath;
         
     | 
| 
       780 
789 
     | 
    
         | 
| 
      
 790 
     | 
    
         
            +
                        points = points || this.points;
         
     | 
| 
      
 791 
     | 
    
         
            +
                        i = points.length;
         
     | 
| 
      
 792 
     | 
    
         
            +
             
     | 
| 
       781 
793 
     | 
    
         
             
                        // Create the top line and the top part of the area fill. The area fill compensates for 
         
     | 
| 
       782 
794 
     | 
    
         
             
                        // null points by drawing down to the lower graph, moving across the null gap and 
         
     | 
| 
       783 
795 
     | 
    
         
             
                        // starting again at the lower graph.
         
     | 
| 
         @@ -785,23 +797,29 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       785 
797 
     | 
    
         
             
                        while (i--) {
         
     | 
| 
       786 
798 
     | 
    
         
             
                            point = points[i];
         
     | 
| 
       787 
799 
     | 
    
         | 
| 
       788 
     | 
    
         
            -
                            if (!point.isNull && (!points[i + 1] || points[i + 1].isNull)) {
         
     | 
| 
      
 800 
     | 
    
         
            +
                            if (!point.isNull && !options.connectEnds && (!points[i + 1] || points[i + 1].isNull)) {
         
     | 
| 
       789 
801 
     | 
    
         
             
                                highAreaPoints.push({
         
     | 
| 
       790 
802 
     | 
    
         
             
                                    plotX: point.plotX,
         
     | 
| 
       791 
     | 
    
         
            -
                                    plotY: point. 
     | 
| 
      
 803 
     | 
    
         
            +
                                    plotY: point.plotY,
         
     | 
| 
      
 804 
     | 
    
         
            +
                                    doCurve: false // #5186, gaps in areasplinerange fill
         
     | 
| 
       792 
805 
     | 
    
         
             
                                });
         
     | 
| 
       793 
806 
     | 
    
         
             
                            }
         
     | 
| 
      
 807 
     | 
    
         
            +
                        
         
     | 
| 
       794 
808 
     | 
    
         
             
                            pointShim = {
         
     | 
| 
       795 
     | 
    
         
            -
                                 
     | 
| 
      
 809 
     | 
    
         
            +
                                polarPlotY: point.polarPlotY,
         
     | 
| 
      
 810 
     | 
    
         
            +
                                rectPlotX: point.rectPlotX,
         
     | 
| 
      
 811 
     | 
    
         
            +
                                yBottom: point.yBottom,
         
     | 
| 
      
 812 
     | 
    
         
            +
                                plotX: pick(point.plotHighX, point.plotX), // plotHighX is for polar charts
         
     | 
| 
       796 
813 
     | 
    
         
             
                                plotY: point.plotHigh,
         
     | 
| 
       797 
814 
     | 
    
         
             
                                isNull: point.isNull
         
     | 
| 
       798 
815 
     | 
    
         
             
                            };
         
     | 
| 
       799 
816 
     | 
    
         
             
                            highAreaPoints.push(pointShim);
         
     | 
| 
       800 
817 
     | 
    
         
             
                            highPoints.push(pointShim);
         
     | 
| 
       801 
     | 
    
         
            -
                            if (!point.isNull && (!points[i - 1] || points[i - 1].isNull)) {
         
     | 
| 
      
 818 
     | 
    
         
            +
                            if (!point.isNull && !options.connectEnds && (!points[i - 1] || points[i - 1].isNull)) {
         
     | 
| 
       802 
819 
     | 
    
         
             
                                highAreaPoints.push({
         
     | 
| 
       803 
820 
     | 
    
         
             
                                    plotX: point.plotX,
         
     | 
| 
       804 
     | 
    
         
            -
                                    plotY: point. 
     | 
| 
      
 821 
     | 
    
         
            +
                                    plotY: point.plotY,
         
     | 
| 
      
 822 
     | 
    
         
            +
                                    doCurve: false // #5186, gaps in areasplinerange fill
         
     | 
| 
       805 
823 
     | 
    
         
             
                                });
         
     | 
| 
       806 
824 
     | 
    
         
             
                            }
         
     | 
| 
       807 
825 
     | 
    
         
             
                        }
         
     | 
| 
         @@ -1602,7 +1620,14 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       1602 
1620 
     | 
    
         
             
                    },
         
     | 
| 
       1603 
1621 
     | 
    
         
             
                    pointValKey: 'high', // defines the top of the tracker
         
     | 
| 
       1604 
1622 
     | 
    
         
             
                    doQuartiles: false,
         
     | 
| 
       1605 
     | 
    
         
            -
                    drawDataLabels: seriesTypes.arearange ?  
     | 
| 
      
 1623 
     | 
    
         
            +
                    drawDataLabels: seriesTypes.arearange ? function () {
         
     | 
| 
      
 1624 
     | 
    
         
            +
                        var valKey = this.pointValKey;
         
     | 
| 
      
 1625 
     | 
    
         
            +
                        seriesTypes.arearange.prototype.drawDataLabels.call(this);
         
     | 
| 
      
 1626 
     | 
    
         
            +
                        // Arearange drawDataLabels does not reset point.y to high, but to low after drawing. #4133 
         
     | 
| 
      
 1627 
     | 
    
         
            +
                        each(this.data, function (point) {
         
     | 
| 
      
 1628 
     | 
    
         
            +
                            point.y = point[valKey];
         
     | 
| 
      
 1629 
     | 
    
         
            +
                        });
         
     | 
| 
      
 1630 
     | 
    
         
            +
                    } : noop,
         
     | 
| 
       1606 
1631 
     | 
    
         | 
| 
       1607 
1632 
     | 
    
         
             
                    /**
         
     | 
| 
       1608 
1633 
     | 
    
         
             
                     * Get the width and X offset, either on top of the linked series column
         
     | 
| 
         @@ -1646,6 +1671,15 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       1646 
1671 
     | 
    
         | 
| 
       1647 
1672 
     | 
    
         
             
                    pointValKey: 'y',
         
     | 
| 
       1648 
1673 
     | 
    
         | 
| 
      
 1674 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 1675 
     | 
    
         
            +
                     * Pass the null test in ColumnSeries.translate.
         
     | 
| 
      
 1676 
     | 
    
         
            +
                     */
         
     | 
| 
      
 1677 
     | 
    
         
            +
                    pointClass: extendClass(Point, {
         
     | 
| 
      
 1678 
     | 
    
         
            +
                        isValid: function () {
         
     | 
| 
      
 1679 
     | 
    
         
            +
                            return isNumber(this.y, true) || this.isSum || this.isIntermediateSum;
         
     | 
| 
      
 1680 
     | 
    
         
            +
                        }
         
     | 
| 
      
 1681 
     | 
    
         
            +
                    }),
         
     | 
| 
      
 1682 
     | 
    
         
            +
             
     | 
| 
       1649 
1683 
     | 
    
         
             
                    /**
         
     | 
| 
       1650 
1684 
     | 
    
         
             
                     * Translate data points from raw values
         
     | 
| 
       1651 
1685 
     | 
    
         
             
                     */
         
     | 
| 
         @@ -1697,27 +1731,25 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       1697 
1731 
     | 
    
         
             
                            }
         
     | 
| 
       1698 
1732 
     | 
    
         
             
                            // up points
         
     | 
| 
       1699 
1733 
     | 
    
         
             
                            y = mathMax(previousY, previousY + point.y) + range[0];
         
     | 
| 
       1700 
     | 
    
         
            -
                            shapeArgs.y = yAxis. 
     | 
| 
      
 1734 
     | 
    
         
            +
                            shapeArgs.y = yAxis.toPixels(y, true);
         
     | 
| 
       1701 
1735 
     | 
    
         | 
| 
       1702 
1736 
     | 
    
         | 
| 
       1703 
1737 
     | 
    
         
             
                            // sum points
         
     | 
| 
       1704 
1738 
     | 
    
         
             
                            if (point.isSum) {
         
     | 
| 
       1705 
     | 
    
         
            -
                                shapeArgs.y = yAxis. 
     | 
| 
       1706 
     | 
    
         
            -
                                shapeArgs.height = Math.min(yAxis. 
     | 
| 
      
 1739 
     | 
    
         
            +
                                shapeArgs.y = yAxis.toPixels(range[1], true);
         
     | 
| 
      
 1740 
     | 
    
         
            +
                                shapeArgs.height = Math.min(yAxis.toPixels(range[0], true), yAxis.len) - shapeArgs.y + series.minPointLengthOffset; // #4256
         
     | 
| 
       1707 
1741 
     | 
    
         | 
| 
       1708 
1742 
     | 
    
         
             
                            } else if (point.isIntermediateSum) {
         
     | 
| 
       1709 
     | 
    
         
            -
                                shapeArgs.y = yAxis. 
     | 
| 
       1710 
     | 
    
         
            -
                                shapeArgs.height = Math.min(yAxis. 
     | 
| 
      
 1743 
     | 
    
         
            +
                                shapeArgs.y = yAxis.toPixels(range[1], true);
         
     | 
| 
      
 1744 
     | 
    
         
            +
                                shapeArgs.height = Math.min(yAxis.toPixels(previousIntermediate, true), yAxis.len) - shapeArgs.y + series.minPointLengthOffset;
         
     | 
| 
       1711 
1745 
     | 
    
         
             
                                previousIntermediate = range[1];
         
     | 
| 
       1712 
1746 
     | 
    
         | 
| 
       1713 
1747 
     | 
    
         
             
                            // If it's not the sum point, update previous stack end position and get
         
     | 
| 
       1714 
1748 
     | 
    
         
             
                            // shape height (#3886)
         
     | 
| 
       1715 
1749 
     | 
    
         
             
                            } else {
         
     | 
| 
       1716 
     | 
    
         
            -
                                 
     | 
| 
       1717 
     | 
    
         
            -
                                     
     | 
| 
       1718 
     | 
    
         
            -
             
     | 
| 
       1719 
     | 
    
         
            -
                                        yAxis.translate(previousY, 0, 1) - yAxis.translate(previousY - yValue, 0, 1);
         
     | 
| 
       1720 
     | 
    
         
            -
                                }
         
     | 
| 
      
 1750 
     | 
    
         
            +
                                shapeArgs.height = yValue > 0 ?
         
     | 
| 
      
 1751 
     | 
    
         
            +
                                    yAxis.toPixels(previousY, true) - shapeArgs.y :
         
     | 
| 
      
 1752 
     | 
    
         
            +
                                    yAxis.toPixels(previousY, true) - yAxis.toPixels(previousY - yValue, true);
         
     | 
| 
       1721 
1753 
     | 
    
         
             
                                previousY += yValue;
         
     | 
| 
       1722 
1754 
     | 
    
         
             
                            }
         
     | 
| 
       1723 
1755 
     | 
    
         
             
                            // #3952 Negative sum or intermediate sum not rendered correctly
         
     | 
| 
         @@ -1919,11 +1951,10 @@ var arrayMin = Highcharts.arrayMin, 
     | 
|
| 
       1919 
1951 
     | 
    
         | 
| 
       1920 
1952 
     | 
    
         
             
                        // Close all segments
         
     | 
| 
       1921 
1953 
     | 
    
         
             
                        while (i--) {
         
     | 
| 
       1922 
     | 
    
         
            -
                            if (i === graphPath.length ||  
     | 
| 
      
 1954 
     | 
    
         
            +
                            if ((i === graphPath.length || graphPath[i] === 'M') && i > 0) {
         
     | 
| 
       1923 
1955 
     | 
    
         
             
                                graphPath.splice(i, 0, 'z');
         
     | 
| 
       1924 
1956 
     | 
    
         
             
                            }
         
     | 
| 
       1925 
1957 
     | 
    
         
             
                        }
         
     | 
| 
       1926 
     | 
    
         
            -
             
     | 
| 
       1927 
1958 
     | 
    
         
             
                        this.areaPath = graphPath;
         
     | 
| 
       1928 
1959 
     | 
    
         
             
                        return graphPath;
         
     | 
| 
       1929 
1960 
     | 
    
         
             
                    },
         
     | 
| 
         @@ -2908,7 +2908,7 @@ if (CanvasRenderingContext2D) { 
     | 
|
| 
       2908 
2908 
     | 
    
         
             
            		});
         
     | 
| 
       2909 
2909 
     | 
    
         
             
            	}
         
     | 
| 
       2910 
2910 
     | 
    
         
             
            }/**
         
     | 
| 
       2911 
     | 
    
         
            -
             * @license Highcharts JS v4.2. 
     | 
| 
      
 2911 
     | 
    
         
            +
             * @license Highcharts JS v4.2.7 (2016-09-21)
         
     | 
| 
       2912 
2912 
     | 
    
         
             
             * CanVGRenderer Extension module
         
     | 
| 
       2913 
2913 
     | 
    
         
             
             *
         
     | 
| 
       2914 
2914 
     | 
    
         
             
             * (c) 2011-2016 Torstein Honsi, Erik Olsson
         
     | 
| 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            /**
         
     | 
| 
       2 
     | 
    
         
            -
             * @license Highcharts JS v4.2. 
     | 
| 
      
 2 
     | 
    
         
            +
             * @license Highcharts JS v4.2.7 (2016-09-21)
         
     | 
| 
       3 
3 
     | 
    
         
             
             * Data module
         
     | 
| 
       4 
4 
     | 
    
         
             
             *
         
     | 
| 
       5 
5 
     | 
    
         
             
             * (c) 2012-2016 Torstein Honsi
         
     | 
| 
         @@ -766,6 +766,9 @@ 
     | 
|
| 
       766 
766 
     | 
    
         
             
            					chartOptions.xAxis = {
         
     | 
| 
       767 
767 
     | 
    
         
             
            						type: type
         
     | 
| 
       768 
768 
     | 
    
         
             
            					};
         
     | 
| 
      
 769 
     | 
    
         
            +
            					if (type === 'category') {
         
     | 
| 
      
 770 
     | 
    
         
            +
            						chartOptions.xAxis.nameToX = false;
         
     | 
| 
      
 771 
     | 
    
         
            +
            					}
         
     | 
| 
       769 
772 
     | 
    
         
             
            				}
         
     | 
| 
       770 
773 
     | 
    
         | 
| 
       771 
774 
     | 
    
         
             
            				if (options.complete) {
         
     | 
| 
         @@ -84,7 +84,6 @@ 
     | 
|
| 
       84 
84 
     | 
    
         
             
            		},
         
     | 
| 
       85 
85 
     | 
    
         
             
            		activeDataLabelStyle: {
         
     | 
| 
       86 
86 
     | 
    
         
             
            			cursor: 'pointer',
         
     | 
| 
       87 
     | 
    
         
            -
            			color: '#0d233a',
         
     | 
| 
       88 
87 
     | 
    
         
             
            			fontWeight: 'bold',
         
     | 
| 
       89 
88 
     | 
    
         
             
            			textDecoration: 'underline'			
         
     | 
| 
       90 
89 
     | 
    
         
             
            		},
         
     | 
| 
         @@ -179,7 +178,7 @@ 
     | 
|
| 
       179 
178 
     | 
    
         
             
            			levelSeries: levelSeries,
         
     | 
| 
       180 
179 
     | 
    
         
             
            			shapeArgs: point.shapeArgs,
         
     | 
| 
       181 
180 
     | 
    
         
             
            			bBox: point.graphic ? point.graphic.getBBox() : {}, // no graphic in line series with markers disabled
         
     | 
| 
       182 
     | 
    
         
            -
            			color: color,
         
     | 
| 
      
 181 
     | 
    
         
            +
            			color: point.isNull ? new Highcharts.Color(color).setOpacity(0).get() : color,
         
     | 
| 
       183 
182 
     | 
    
         
             
            			lowerSeriesOptions: ddOptions,
         
     | 
| 
       184 
183 
     | 
    
         
             
            			pointOptions: oldSeries.options.data[pointIndex],
         
     | 
| 
       185 
184 
     | 
    
         
             
            			pointIndex: pointIndex,
         
     | 
| 
         @@ -514,15 +513,17 @@ 
     | 
|
| 
       514 
513 
     | 
    
         | 
| 
       515 
514 
     | 
    
         
             
            				if (!init) {
         
     | 
| 
       516 
515 
     | 
    
         
             
            					each(this.points, function (point, i) {
         
     | 
| 
       517 
     | 
    
         
            -
            						point.graphic
         
     | 
| 
       518 
     | 
    
         
            -
            							. 
     | 
| 
       519 
     | 
    
         
            -
            								 
     | 
| 
       520 
     | 
    
         
            -
             
     | 
| 
       521 
     | 
    
         
            -
             
     | 
| 
       522 
     | 
    
         
            -
             
     | 
| 
       523 
     | 
    
         
            -
            								 
     | 
| 
       524 
     | 
    
         
            -
             
     | 
| 
       525 
     | 
    
         
            -
             
     | 
| 
      
 516 
     | 
    
         
            +
            						if (point.graphic) {
         
     | 
| 
      
 517 
     | 
    
         
            +
            							point.graphic
         
     | 
| 
      
 518 
     | 
    
         
            +
            								.attr(H.merge(animateFrom, {
         
     | 
| 
      
 519 
     | 
    
         
            +
            									start: start + i * startAngle,
         
     | 
| 
      
 520 
     | 
    
         
            +
            									end: start + (i + 1) * startAngle,
         
     | 
| 
      
 521 
     | 
    
         
            +
            									fill: level.color
         
     | 
| 
      
 522 
     | 
    
         
            +
            								}))[animationOptions ? 'animate' : 'attr'](
         
     | 
| 
      
 523 
     | 
    
         
            +
            									extend(point.shapeArgs, { fill: point.color }), 
         
     | 
| 
      
 524 
     | 
    
         
            +
            									animationOptions
         
     | 
| 
      
 525 
     | 
    
         
            +
            								);
         
     | 
| 
      
 526 
     | 
    
         
            +
            						}
         
     | 
| 
       526 
527 
     | 
    
         
             
            					});
         
     | 
| 
       527 
528 
     | 
    
         
             
            					this.animate = null;
         
     | 
| 
       528 
529 
     | 
    
         
             
            				}
         
     | 
| 
         @@ -555,7 +556,7 @@ 
     | 
|
| 
       555 
556 
     | 
    
         
             
            			seriesOptions: seriesOptions,
         
     | 
| 
       556 
557 
     | 
    
         
             
            			category: category,
         
     | 
| 
       557 
558 
     | 
    
         
             
            			originalEvent: originalEvent,
         
     | 
| 
       558 
     | 
    
         
            -
            			points: category !== undefined && this.series.xAxis. 
     | 
| 
      
 559 
     | 
    
         
            +
            			points: category !== undefined && this.series.xAxis.getDDPoints(category).slice(0)
         
     | 
| 
       559 
560 
     | 
    
         
             
            		}, function (e) {
         
     | 
| 
       560 
561 
     | 
    
         
             
            			var chart = e.point.series && e.point.series.chart,
         
     | 
| 
       561 
562 
     | 
    
         
             
            				seriesOptions = e.seriesOptions;
         
     | 
| 
         @@ -577,7 +578,7 @@ 
     | 
|
| 
       577 
578 
     | 
    
         
             
            	H.Axis.prototype.drilldownCategory = function (x, e) {
         
     | 
| 
       578 
579 
     | 
    
         
             
            		var key,
         
     | 
| 
       579 
580 
     | 
    
         
             
            			point,
         
     | 
| 
       580 
     | 
    
         
            -
            			ddPointsX = this. 
     | 
| 
      
 581 
     | 
    
         
            +
            			ddPointsX = this.getDDPoints(x);
         
     | 
| 
       581 
582 
     | 
    
         
             
            		for (key in ddPointsX) {
         
     | 
| 
       582 
583 
     | 
    
         
             
            			point = ddPointsX[key];
         
     | 
| 
       583 
584 
     | 
    
         
             
            			if (point && point.series && point.series.visible && point.doDrilldown) { // #3197
         
     | 
| 
         @@ -588,20 +589,23 @@ 
     | 
|
| 
       588 
589 
     | 
    
         
             
            	};
         
     | 
| 
       589 
590 
     | 
    
         | 
| 
       590 
591 
     | 
    
         
             
            	/**
         
     | 
| 
       591 
     | 
    
         
            -
            	 *  
     | 
| 
       592 
     | 
    
         
            -
            	 */ 
     | 
| 
       593 
     | 
    
         
            -
            	H.Axis.prototype.getDDPoints = function (x 
     | 
| 
       594 
     | 
    
         
            -
            		var  
     | 
| 
       595 
     | 
    
         
            -
            		 
     | 
| 
       596 
     | 
    
         
            -
            			 
     | 
| 
       597 
     | 
    
         
            -
             
     | 
| 
       598 
     | 
    
         
            -
             
     | 
| 
       599 
     | 
    
         
            -
            			 
     | 
| 
       600 
     | 
    
         
            -
             
     | 
| 
       601 
     | 
    
         
            -
             
     | 
| 
       602 
     | 
    
         
            -
             
     | 
| 
       603 
     | 
    
         
            -
             
     | 
| 
       604 
     | 
    
         
            -
             
     | 
| 
      
 592 
     | 
    
         
            +
            	 * Return drillable points for this specific X value
         
     | 
| 
      
 593 
     | 
    
         
            +
            	 */
         
     | 
| 
      
 594 
     | 
    
         
            +
            	H.Axis.prototype.getDDPoints = function (x) {
         
     | 
| 
      
 595 
     | 
    
         
            +
            		var ret = [];
         
     | 
| 
      
 596 
     | 
    
         
            +
            		each(this.series, function (series) {
         
     | 
| 
      
 597 
     | 
    
         
            +
            			var i,
         
     | 
| 
      
 598 
     | 
    
         
            +
            				xData = series.xData,
         
     | 
| 
      
 599 
     | 
    
         
            +
            				points = series.points;
         
     | 
| 
      
 600 
     | 
    
         
            +
            			
         
     | 
| 
      
 601 
     | 
    
         
            +
            			for (i = 0; i < xData.length; i++) {
         
     | 
| 
      
 602 
     | 
    
         
            +
            				if (xData[i] === x && series.options.data[i].drilldown) {
         
     | 
| 
      
 603 
     | 
    
         
            +
            					ret.push(points ? points[i] : true);
         
     | 
| 
      
 604 
     | 
    
         
            +
            					break;
         
     | 
| 
      
 605 
     | 
    
         
            +
            				}
         
     | 
| 
      
 606 
     | 
    
         
            +
            			}
         
     | 
| 
      
 607 
     | 
    
         
            +
            		});
         
     | 
| 
      
 608 
     | 
    
         
            +
            		return ret;
         
     | 
| 
       605 
609 
     | 
    
         
             
            	};
         
     | 
| 
       606 
610 
     | 
    
         | 
| 
       607 
611 
     | 
    
         | 
| 
         @@ -612,23 +616,26 @@ 
     | 
|
| 
       612 
616 
     | 
    
         
             
            		var pos = this.pos,
         
     | 
| 
       613 
617 
     | 
    
         
             
            			label = this.label,
         
     | 
| 
       614 
618 
     | 
    
         
             
            			axis = this.axis,
         
     | 
| 
       615 
     | 
    
         
            -
            			 
     | 
| 
      
 619 
     | 
    
         
            +
            			isDrillable = axis.coll === 'xAxis' && axis.getDDPoints,
         
     | 
| 
      
 620 
     | 
    
         
            +
            			ddPointsX = isDrillable && axis.getDDPoints(pos);
         
     | 
| 
       616 
621 
     | 
    
         | 
| 
       617 
     | 
    
         
            -
            		if ( 
     | 
| 
       618 
     | 
    
         
            -
            			if ( 
     | 
| 
       619 
     | 
    
         
            -
            				 
     | 
| 
       620 
     | 
    
         
            -
             
     | 
| 
       621 
     | 
    
         
            -
             
     | 
| 
       622 
     | 
    
         
            -
            				 
     | 
| 
       623 
     | 
    
         
            -
             
     | 
| 
       624 
     | 
    
         
            -
             
     | 
| 
       625 
     | 
    
         
            -
            					 
     | 
| 
       626 
     | 
    
         
            -
             
     | 
| 
      
 622 
     | 
    
         
            +
            		if (isDrillable) {
         
     | 
| 
      
 623 
     | 
    
         
            +
            			if (label && ddPointsX.length) {
         
     | 
| 
      
 624 
     | 
    
         
            +
            				if (!label.basicStyles) {
         
     | 
| 
      
 625 
     | 
    
         
            +
            					label.basicStyles = H.merge(label.styles);
         
     | 
| 
      
 626 
     | 
    
         
            +
            				}
         
     | 
| 
      
 627 
     | 
    
         
            +
            				label
         
     | 
| 
      
 628 
     | 
    
         
            +
            					.addClass('highcharts-drilldown-axis-label')
         
     | 
| 
      
 629 
     | 
    
         
            +
            					.css(axis.chart.options.drilldown.activeAxisLabelStyle)
         
     | 
| 
      
 630 
     | 
    
         
            +
            					.on('click', function (e) {
         
     | 
| 
      
 631 
     | 
    
         
            +
            						axis.drilldownCategory(pos, e);
         
     | 
| 
      
 632 
     | 
    
         
            +
            					});
         
     | 
| 
       627 
633 
     | 
    
         | 
| 
       628 
     | 
    
         
            -
             
     | 
| 
       629 
     | 
    
         
            -
             
     | 
| 
       630 
     | 
    
         
            -
             
     | 
| 
       631 
     | 
    
         
            -
             
     | 
| 
      
 634 
     | 
    
         
            +
            			} else if (label && label.basicStyles) {
         
     | 
| 
      
 635 
     | 
    
         
            +
            				label.styles = {}; // reset for full overwrite of styles
         
     | 
| 
      
 636 
     | 
    
         
            +
            				label.css(label.basicStyles);
         
     | 
| 
      
 637 
     | 
    
         
            +
            				label.on('click', null); // #3806			
         
     | 
| 
      
 638 
     | 
    
         
            +
            			}
         
     | 
| 
       632 
639 
     | 
    
         
             
            		}
         
     | 
| 
       633 
640 
     | 
    
         
             
            	};
         
     | 
| 
       634 
641 
     | 
    
         | 
| 
         @@ -648,8 +655,7 @@ 
     | 
|
| 
       648 
655 
     | 
    
         
             
            	wrap(H.Point.prototype, 'init', function (proceed, series, options, x) {
         
     | 
| 
       649 
656 
     | 
    
         
             
            		var point = proceed.call(this, series, options, x),
         
     | 
| 
       650 
657 
     | 
    
         
             
            			xAxis = series.xAxis,
         
     | 
| 
       651 
     | 
    
         
            -
            			tick = xAxis && xAxis.ticks[x] 
     | 
| 
       652 
     | 
    
         
            -
            			ddPointsX = xAxis && xAxis.getDDPoints(x, series.options._levelNumber);
         
     | 
| 
      
 658 
     | 
    
         
            +
            			tick = xAxis && xAxis.ticks[x];
         
     | 
| 
       653 
659 
     | 
    
         | 
| 
       654 
660 
     | 
    
         
             
            		if (point.drilldown) {
         
     | 
| 
       655 
661 
     | 
    
         | 
| 
         @@ -670,13 +676,6 @@ 
     | 
|
| 
       670 
676 
     | 
    
         
             
            				}
         
     | 
| 
       671 
677 
     | 
    
         
             
            			});*/
         
     | 
| 
       672 
678 
     | 
    
         | 
| 
       673 
     | 
    
         
            -
             
     | 
| 
       674 
     | 
    
         
            -
            			// Register drilldown points on this X value
         
     | 
| 
       675 
     | 
    
         
            -
            			if (ddPointsX) {
         
     | 
| 
       676 
     | 
    
         
            -
            				ddPointsX.push(point);
         
     | 
| 
       677 
     | 
    
         
            -
            				ddPointsX.levelNumber = series.options._levelNumber;
         
     | 
| 
       678 
     | 
    
         
            -
            			}
         
     | 
| 
       679 
     | 
    
         
            -
             
     | 
| 
       680 
679 
     | 
    
         
             
            		}
         
     | 
| 
       681 
680 
     | 
    
         | 
| 
       682 
681 
     | 
    
         
             
            		// Add or remove click handler and style on the tick label
         
     |