Large diffs are not rendered by default.

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* Support for parallel coordinates in Highcharts
*
@@ -132,7 +132,7 @@
/**
* Initialize parallelCoordinates
*/
wrap(ChartProto, 'init', function(proceed, options) {
wrap(ChartProto, 'init', function(proceed, options, callback) {
var defaultyAxis = splat(options.yAxis || {}),
yAxisLength = defaultyAxis.length,
newYAxes = [];
@@ -181,7 +181,7 @@
);
}

return proceed.call(this, options);
return proceed.call(this, options, callback);
});

/**
@@ -289,7 +289,7 @@
* - using series.points instead of series.yData
*/
wrap(AxisProto, 'getSeriesExtremes', function(proceed) {
if (this.chart.hasParallelCoordinates && !this.isXAxis) {
if (this.chart && this.chart.hasParallelCoordinates && !this.isXAxis) {
var index = this.parallelPosition,
currentPoints = [];
each(this.series, function(series) {
@@ -410,14 +410,18 @@
});

function addFormattedValue(proceed) {
var chart = this.series.chart,
var chart = this.series && this.series.chart,
config = proceed.apply(this, Array.prototype.slice.call(arguments, 1)),
formattedValue,
yAxisOptions,
labelFormat,
yAxis;

if (chart.hasParallelCoordinates && !defined(config.formattedValue)) {
if (
chart &&
chart.hasParallelCoordinates &&
!defined(config.formattedValue)
) {
yAxis = chart.yAxis[this.x];
yAxisOptions = yAxis.options;

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* Pareto series type for Highcharts
*
@@ -259,6 +259,14 @@
* @apioption series.pareto
*/

/**
* An integer identifying the index to use for the base series, or a string
* representing the id of the series.
*
* @type {Number|String}
* @default undefined
* @apioption series.pareto.baseSeries
*/

/**
* An array of data points for the series. For the `pareto` series type,
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Sankey diagram module
*
* (c) 2010-2017 Torstein Honsi
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Solid angular gauge module
*
* (c) 2010-2017 Torstein Honsi
@@ -1,5 +1,5 @@
/*
Highcharts JS v6.0.2 (2017-10-20)
Highcharts JS v6.0.3 (2017-11-14)
StaticScale
(c) 2016 Torstein Honsi, Lars A. V. Cabrera
@@ -8,5 +8,5 @@
License: www.highcharts.com/license
*/
(function(b){"object"===typeof module&&module.exports?module.exports=b:b(Highcharts)})(function(b){(function(c){var b=c.Chart,e=c.each,f=c.pick;b.prototype.adjustHeight=function(){e(this.axes,function(a){var b=a.chart,e=!!b.initiatedScale&&b.options.animation,d=a.options.staticScale;c.isNumber(d)&&!a.horiz&&c.defined(a.min)&&(a=f(a.unitLength,a.max+a.tickInterval-a.min)*d,a=Math.max(a,d),d=a-b.plotHeight,1<=Math.abs(d)&&(b.plotHeight=a,b.setSize(null,b.chartHeight+d,e)))});this.initiatedScale=!0};
b.prototype.callbacks.push(function(a){c.addEvent(this,"render",function(){a.adjustHeight()})})})(b)});
(function(a){"object"===typeof module&&module.exports?module.exports=a:a(Highcharts)})(function(a){(function(c){var a=c.Chart,e=c.each,f=c.pick;a.prototype.adjustHeight=function(){e(this.axes,function(b){var a=b.chart,e=!!a.initiatedScale&&a.options.animation,d=b.options.staticScale;c.isNumber(d)&&!b.horiz&&c.defined(b.min)&&(b=f(b.unitLength,b.max+b.tickInterval-b.min)*d,b=Math.max(b,d),d=b-a.plotHeight,1<=Math.abs(d)&&(a.plotHeight=b,a.setSize(null,a.chartHeight+d,e)))});this.initiatedScale=!0};
c.addEvent(a.prototype,"render",a.prototype.adjustHeight)})(a)});
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* StaticScale
*
* (c) 2016 Torstein Honsi, Lars A. V. Cabrera
@@ -58,11 +58,7 @@
});
this.initiatedScale = true;
};
Chart.prototype.callbacks.push(function(chart) {
H.addEvent(this, 'render', function() {
chart.adjustHeight();
});
});
H.addEvent(Chart.prototype, 'render', Chart.prototype.adjustHeight);

}(Highcharts));
}));

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Highstock as a plugin for Highcharts
*
* (c) 2017 Torstein Honsi
@@ -678,7 +678,7 @@
if (!this.options.breaks) {
ret = tickInterval / (ordinalSlope / this.closestPointRange);
} else {
ret = this.closestPointRange;
ret = this.closestPointRange || tickInterval; // #7275
}
} else {
ret = tickInterval;
@@ -1569,7 +1569,9 @@
ret.push(approximations.average(arr));
});

return ret;
// Return undefined when first elem. is undefined and let
// sum method handle null (#7377)
return ret[0] === undefined ? undefined : ret;
},
open: function(arr) {
return arr.length ? arr[0] : (arr.hasNulls ? null : undefined);
@@ -1752,7 +1754,9 @@
pick(dataGroupingOptions.enabled, chart.options.isStock),
visible = series.visible || !chart.options.chart.ignoreHiddenSeries,
hasGroupedData,
skip;
skip,
lastDataGrouping = this.currentDataGrouping,
currentDataGrouping;

// run base method
series.forceCrop = groupingEnabled; // #334
@@ -1808,7 +1812,7 @@
}

// record what data grouping values were used
series.currentDataGrouping = groupPositions.info;
currentDataGrouping = groupPositions.info;
series.closestPointRange = groupPositions.info.totalRange;
series.groupMap = groupedData[2];

@@ -1825,9 +1829,14 @@
series.processedXData = groupedXData;
series.processedYData = groupedYData;
} else {
series.currentDataGrouping = series.groupMap = null;
series.groupMap = null;
}
series.hasGroupedData = hasGroupedData;
series.currentDataGrouping = currentDataGrouping;

series.preventGraphAnimation =
(lastDataGrouping && lastDataGrouping.totalRange) !==
(currentDataGrouping && currentDataGrouping.totalRange);
}
};

@@ -2920,10 +2929,11 @@
point,
graphic,
stackIndex,
anchorX,
anchorY,
outsideRight,
yAxis = series.yAxis;
yAxis = series.yAxis,
boxesMap = {},
boxes = [];

i = points.length;
while (i--) {
@@ -2937,7 +2947,7 @@
if (plotY !== undefined) {
plotY = point.plotY + optionsY - (stackIndex !== undefined && stackIndex * options.stackDistance);
}
anchorX = stackIndex ? undefined : point.plotX; // skip connectors for higher level stacked points
point.anchorX = stackIndex ? undefined : point.plotX; // skip connectors for higher level stacked points
anchorY = stackIndex ? undefined : point.plotY;

graphic = point.graphic;
@@ -2972,6 +2982,7 @@
}


graphic.isNew = true;
}

if (plotX > 0) { // #3119
@@ -2980,13 +2991,27 @@

// Plant the flag
graphic.attr({
text: point.options.title || options.title || 'A',
x: plotX,
text: point.options.title || options.title || 'A'
})[graphic.isNew ? 'attr' : 'animate']({
y: plotY,
anchorX: anchorX,
anchorY: anchorY
});

// Rig for the distribute function
if (!boxesMap[point.plotX]) {
boxesMap[point.plotX] = {
align: 0,
size: graphic.width,
target: plotX,
anchorX: plotX
};
} else {
boxesMap[point.plotX].size = Math.max(
boxesMap[point.plotX].size,
graphic.width
);
}

// Set the tooltip anchor position
point.tooltipPos = chart.inverted ? [yAxis.len + yAxis.pos - chart.plotLeft - plotY, series.xAxis.len - plotX] : [plotX, plotY + yAxis.pos - chart.plotTop]; // #6327

@@ -2996,6 +3021,24 @@

}

H.objectEach(boxesMap, function(box) {
box.plotX = box.anchorX;
boxes.push(box);
});

H.distribute(boxes, this.xAxis.len);

each(points, function(point) {
var box = point.graphic && boxesMap[point.plotX];
if (box) {
point.graphic[point.graphic.isNew ? 'attr' : 'animate']({
x: box.pos,
anchorX: point.anchorX
});
point.graphic.isNew = false;
}
});

// Might be a mix of SVG and HTML and we need events for both (#6303)
if (options.useHTML) {
H.wrap(series.markerGroup, 'on', function(proceed) {
@@ -3057,15 +3100,17 @@
var anchorX = (options && options.anchorX) || x,
anchorY = (options && options.anchorY) || y;

return [
'M', anchorX, anchorY,
'L', x, y + h,
x, y,
x + w, y,
x + w, y + h,
x, y + h,
'Z'
];
return symbols.circle(anchorX - 1, anchorY - 1, 2, 2).concat(
[
'M', anchorX, anchorY,
'L', x, y + h,
x, y,
x + w, y,
x + w, y + h,
x, y + h,
'Z'
]
);
};

// create the circlepin and squarepin icons with anchor
@@ -3089,7 +3134,17 @@
// if the label is below the anchor, draw the connecting line from the top edge of the label
// otherwise start drawing from the bottom edge
labelTopOrBottomY = (y > anchorY) ? y : y + h;
path.push('M', anchorX, labelTopOrBottomY, 'L', anchorX, anchorY);
path.push(
'M',
shape === 'circle' ? path[1] - path[4] : path[1] + path[4] / 2,
labelTopOrBottomY,
'L',
anchorX,
anchorY
);
path = path.concat(
symbols.circle(anchorX - 1, anchorY - 1, 2, 2)
);
}

return path;
@@ -4652,6 +4707,7 @@
* @param {Number} pxMax Pixel value maximum
*/
render: function(min, max, pxMin, pxMax) {

var navigator = this,
chart = navigator.chart,
navigatorWidth,
@@ -4684,7 +4740,7 @@
// it. For example hidden series, but visible navigator (#6022).
if (rendered) {
pxMin = 0;
pxMax = xAxis.width;
pxMax = pick(xAxis.width, scrollbarXAxis.width);
} else {
return;
}
@@ -5599,14 +5655,14 @@

each(baseSeries, function(base) {
// Link base series show/hide to navigator series visibility
addEvent(base, 'show', function(e) {
addEvent(base, 'show', function() {
if (this.navigatorSeries) {
this.navigatorSeries.setVisible(true, e.redraw);
this.navigatorSeries.setVisible(true, false);
}
});
addEvent(base, 'hide', function(e) {
addEvent(base, 'hide', function() {
if (this.navigatorSeries) {
this.navigatorSeries.setVisible(false, e.redraw);
this.navigatorSeries.setVisible(false, false);
}
});

@@ -5842,8 +5898,11 @@
ret = false;

// For xy zooming, record the state of the zoom before zoom selection,
// then when the reset button is pressed, revert to this state
} else if (zoomType === 'xy') {
// then when the reset button is pressed, revert to this state. This
// should apply only if the chart is initialized with a range (#6612),
// otherwise zoom all the way out.
} else if (zoomType === 'xy' && this.options.range) {

previousZoom = this.previousZoom;
if (defined(newMin)) {
this.previousZoom = [this.min, this.max];
@@ -7627,7 +7686,14 @@
y: -2
},
opposite: opposite,

/**
* @default {highcharts} true
* @default {highstock} false
* @apioption yAxis.showLastLabel
*/
showLastLabel: false,

title: {
text: null
}
@@ -1,5 +1,5 @@
/*
Highcharts JS v6.0.2 (2017-10-20)
Highcharts JS v6.0.3 (2017-11-14)
Streamgraph module
(c) 2010-2017 Torstein Honsi
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Streamgraph module
*
* (c) 2010-2017 Torstein Honsi

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2016 Highsoft AS
* Authors: Jon Arild Nygard
@@ -128,6 +128,9 @@
}
});
}
if (graphic) {
graphic.addClass(point.getClassName(), true);
}
};
return draw;
}());
@@ -209,6 +212,7 @@
point,
level,
colorByPoint,
colorIndexByPoint,
color,
colorIndex;

@@ -236,20 +240,18 @@
!!series.options.colorByPoint
)
);

if (getColorByPoint) {
colorByPoint = colors[(point.index % colors.length)];
colorIndexByPoint = point.index %
(colors ? colors.length : series.chart.options.chart.colorCount);
colorByPoint = colors && colors[colorIndexByPoint];
}
// Select either point color, level color or inherited color.
color = pick(
point && point.options.color,
level && level.color,
colorByPoint,
parentColor && variation(parentColor),
series.color
);


colorIndex = pick(
point && point.options.colorIndex,
level && level.colorIndex,
colorIndexByPoint,
parentColorIndex,
options.colorIndex
);
@@ -1762,51 +1764,6 @@
};
};

var setShapeArgs = function setShapeArgs(parent, parentValues) {
var childrenValues = [],
// Collect all children which should be included
children = grep(parent.children, function(n) {
return n.visible;
});
childrenValues = layoutAlgorithm(parentValues, children);
each(children, function(child, index) {
var values = childrenValues[index],
angle = values.start + ((values.end - values.start) / 2),
radius = values.innerR + ((values.r - values.innerR) / 2),
isCircle = (
values.innerR === 0 &&
(values.end - values.start) > 6.28
),
center = (
isCircle ? {
x: values.x,
y: values.y
} :
getEndPoint(values.x, values.y, angle, radius)
),
val = (
child.val ?
(
child.childrenTotal > child.val ?
child.childrenTotal :
child.val
) :
child.childrenTotal
);
child.shapeArgs = merge(values, {
plotX: center.x,
plotY: center.y
});
child.values = merge(values, {
val: val
});
// If node has children, then call method recursively
if (child.children.length) {
setShapeArgs(child, child.values);
}
});
};

var getDrillId = function getDrillId(point, idRoot, mapIdToNode) {
var drillId,
node = point.node,
@@ -2051,7 +2008,6 @@
level = levelMap[node.levelDynamic],
shapeExisting = point.shapeExisting || {},
shape = node.shapeArgs || {},
attrStyle = series.pointAttribs(point, point.selected && 'select'),
animationInfo,
onComplete,
visible = !!(node.visible && node.shapeArgs);
@@ -2097,7 +2053,13 @@
}
point.draw({
animate: animationInfo.to,
attr: extend(animationInfo.from, attrStyle),
attr: extend(
animationInfo.from,
series.pointAttribs && series.pointAttribs(
point,
point.selected && 'select'
)
),
onComplete: onComplete,
group: group,
renderer: renderer,
@@ -2121,7 +2083,66 @@
Series.prototype.drawDataLabels.call(series);
}
},
pointAttribs: seriesTypes.column.prototype.pointAttribs,


/*
* Set the shape arguments on the nodes. Recursive from root down.
*/
setShapeArgs: function(parent, parentValues) {
var childrenValues = [],
// Collect all children which should be included
children = grep(parent.children, function(n) {
return n.visible;
});
childrenValues = layoutAlgorithm(parentValues, children);
each(children, function(child, index) {
var values = childrenValues[index],
angle = values.start + ((values.end - values.start) / 2),
radius = values.innerR + ((values.r - values.innerR) / 2),
isCircle = (
values.innerR === 0 &&
(values.end - values.start) > 6.28
),
center = (
isCircle ? {
x: values.x,
y: values.y
} :
getEndPoint(values.x, values.y, angle, radius)
),
val = (
child.val ?
(
child.childrenTotal > child.val ?
child.childrenTotal :
child.val
) :
child.childrenTotal
),
innerArcFraction = (values.end - values.start) / (2 * Math.PI),
perimeter = 2 * Math.PI * values.innerR;

// The inner arc length is a convenience for data label filters.
if (this.points[child.i]) {
this.points[child.i].innerArcLength =
innerArcFraction * perimeter;
}

child.shapeArgs = merge(values, {
plotX: center.x,
plotY: center.y
});
child.values = merge(values, {
val: val
});
// If node has children, then call method recursively
if (child.children.length) {
this.setShapeArgs(child, child.values);
}
}, this);
},


translate: function translate() {
var series = this,
options = series.options,
@@ -2175,7 +2196,7 @@
x: positions[0],
y: positions[1]
};
setShapeArgs(nodeTop, values);
this.setShapeArgs(nodeTop, values);
},

/**
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Tilemap module
*
* (c) 2010-2017 Highsoft AS

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2014 Highsoft AS
* Authors: Jon Arild Nygard / Oystein Moseng
@@ -92,6 +92,7 @@
point,
level,
colorByPoint,
colorIndexByPoint,
color,
colorIndex;

@@ -119,20 +120,18 @@
!!series.options.colorByPoint
)
);

if (getColorByPoint) {
colorByPoint = colors[(point.index % colors.length)];
colorIndexByPoint = point.index %
(colors ? colors.length : series.chart.options.chart.colorCount);
colorByPoint = colors && colors[colorIndexByPoint];
}
// Select either point color, level color or inherited color.
color = pick(
point && point.options.color,
level && level.color,
colorByPoint,
parentColor && variation(parentColor),
series.color
);


colorIndex = pick(
point && point.options.colorIndex,
level && level.colorIndex,
colorIndexByPoint,
parentColorIndex,
options.colorIndex
);
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* Variable Pie module for Highcharts
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Highcharts variwide module
*
* (c) 2010-2017 Torstein Honsi
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Vector plot series module
*
* (c) 2010-2017 Torstein Honsi
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Wind barb series module
*
* (c) 2010-2017 Torstein Honsi

Large diffs are not rendered by default.

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2016 Highsoft AS
* Authors: Jon Arild Nygard
@@ -51,6 +51,9 @@
}
});
}
if (graphic) {
graphic.addClass(point.getClassName(), true);
}
};
return draw;
}());
@@ -468,7 +471,8 @@
fontFamily: 'Impact, sans-serif'
},
tooltip: {
followPointer: true
followPointer: true,
pointFormat: '<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.weight}</b><br/>'
}
};

@@ -530,7 +534,7 @@
each(data, function(point) {
var relativeWeight = 1 / maxWeight * point.weight,
css = extend({
fontSize: series.deriveFontSize(relativeWeight),
fontSize: series.deriveFontSize(relativeWeight) + 'px',
fill: point.color
}, options.style),
placement = placementStrategy(point, {

Large diffs are not rendered by default.

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* X-range series
*
* (c) 2010-2017 Torstein Honsi, Lars A. V. Cabrera
@@ -93,7 +93,8 @@
headerFormat: '<span style="font-size: 0.85em">{point.x} - {point.x2}</span><br/>',
pointFormat: '<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.yCategory}</b><br/>'
},
borderRadius: 3
borderRadius: 3,
pointRange: 0
/**
* A partial fill for each point, typically used to visualize how much of
* a task is performed. The partial fill object can be set either on series
@@ -116,7 +117,6 @@

}, {
type: 'xrange',
forceDL: true,
parallelArrays: ['x', 'x2', 'y'],
requireSorting: false,
animate: seriesTypes.line.prototype.animate,
@@ -178,7 +178,10 @@
partialFill,
inverted = this.chart.inverted,
borderWidth = pick(series.options.borderWidth, 1),
crisper = borderWidth % 2 / 2;
crisper = borderWidth % 2 / 2,
dlLeft,
dlRight,
dlWidth;

if (minPointLength) {
widthDifference = minPointLength - length;
@@ -200,6 +203,23 @@
r: series.options.borderRadius
};

// Align data labels inside the shape and inside the plot area
dlLeft = point.shapeArgs.x;
dlRight = dlLeft + point.shapeArgs.width;
if (dlLeft < 0 || dlRight > xAxis.len) {
dlLeft = Math.min(xAxis.len, Math.max(0, dlLeft));
dlRight = Math.max(0, Math.min(dlRight, xAxis.len));
dlWidth = dlRight - dlLeft;
point.dlBox = merge(point.shapeArgs, {
x: dlLeft,
width: dlRight - dlLeft,
centerX: dlWidth ? dlWidth / 2 : null
});

} else {
point.dlBox = null;
}

// Tooltip position
point.tooltipPos[0] += inverted ? 0 : length / 2;
point.tooltipPos[1] -= inverted ? length / 2 : metrics.width / 2;
@@ -239,78 +259,6 @@
}, this);
},

/**
* Aligns an individual dataLabel.
*
* TODO: Do we need this for inside datalabels? Seems to work.
*
* @param {Object} point the point belonging to the dataLabel
* @param {Object} dataLabel the dataLabel configuration object
* @param {Object} options dataLabel options for the series
* @param {Object} alignTo
* @param {Boolean} isNew Wheter the label is new or already existed
* @return {void}
* /
alignDataLabel: function (point, dataLabel, options, alignTo, isNew) {
var chart = this.chart,
align = options.align,
inverted = chart.inverted,
plotX = pick(point.plotX, -9999),
plotY = pick(point.plotY, -9999),
verticalAlign = options.verticalAlign,
inside = options.inside,
pointBox = point.shapeArgs,
labelBox = dataLabel.getBBox(),
labelTextBox = dataLabel.text.getBBox(),
attr = {},
visible =
this.visible &&
(
labelTextBox.width <= pointBox.width &&
labelTextBox.height <= pointBox.height
) &&
(
this.forceDL ||
chart.isInsidePlot(plotX, Math.round(plotY), inverted)
);
if (visible) {
if (align === 'right') {
if (inside) {
attr.x = pointBox.x + pointBox.width - labelBox.width;
} else {
attr.x = pointBox.x - labelBox.width;
}
} else if (align === 'left') {
if (inside) {
attr.x = pointBox.x;
} else {
attr.x = pointBox.x + pointBox.width + labelBox.x;
}
} else { // Center
attr.x = pointBox.x + pointBox.width / 2 - labelBox.width / 2;
}
if (verticalAlign === 'bottom') {
if (inside) {
attr.y = pointBox.y + pointBox.height - labelBox.height;
} else {
attr.y = pointBox.y - labelBox.height;
}
} else if (verticalAlign === 'top') {
if (inside) {
attr.y = pointBox.y;
} else {
attr.y = pointBox.y + pointBox.height;
}
} else { // Middle
attr.y = pointBox.y + pointBox.height / 2 - labelBox.height / 2;
}
dataLabel[isNew ? 'attr' : 'animate'](attr);
}
},
*/
/**
* Draws a single point in the series. Needed for partial fill.
*
@@ -1,5 +1,5 @@
/*
Highcharts JS v6.0.2 (2017-10-20)
Highcharts JS v6.0.3 (2017-11-14)
(c) 2009-2017 Highsoft AS
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Highsoft AS
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/*
Highcharts JS v6.0.2 (2017-10-20)
Highcharts JS v6.0.3 (2017-11-14)
(c) 2009-2017 Torstein Honsi
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/*
Highcharts JS v6.0.2 (2017-10-20)
Highcharts JS v6.0.3 (2017-11-14)
(c) 2009-2017 Highsoft AS
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Highsoft AS
*

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Annotations module
*
* (c) 2009-2017 Torstein Honsi

Large diffs are not rendered by default.

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Boost module
*
* (c) 2010-2017 Highsoft AS
@@ -135,12 +135,7 @@
}
};

target.boostClipRect = chart.renderer.clipRect(
chart.plotLeft,
chart.plotTop,
chart.plotWidth,
chart.chartHeight
);
target.boostClipRect = chart.renderer.clipRect();

target.renderTarget.clip(target.boostClipRect);

@@ -165,12 +160,7 @@
href: ''
});

target.boostClipRect.attr({
x: chart.plotLeft,
y: chart.plotTop,
width: chart.plotWidth,
height: chart.chartHeight
});
target.boostClipRect.attr(chart.getBoostClipRect(target));

return ctx;
},

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Boost module
*
* (c) 2010-2017 Highsoft AS
@@ -548,6 +548,32 @@
shouldForceChartSeriesBoosting(this);
};

/*
* Get the clip rectangle for a target, either a series or the chart. For the
* chart, we need to consider the maximum extent of its Y axes, in case of
* Highstock panes and navigator.
*/
Chart.prototype.getBoostClipRect = function(target) {
var clipBox = {
x: this.plotLeft,
y: this.plotTop,
width: this.plotWidth,
height: this.plotHeight
};

if (target === this) {
each(this.yAxis, function(yAxis) {
clipBox.y = Math.min(yAxis.pos, clipBox.y);
clipBox.height = Math.max(
yAxis.pos - this.plotTop + yAxis.len,
clipBox.height
);
}, this);
}

return clipBox;
};

/*
* Returns true if the series is in boost mode
* @param series {Highchart.Series} - the series to check
@@ -2395,12 +2421,7 @@
}
};

target.boostClipRect = chart.renderer.clipRect(
chart.plotLeft,
chart.plotTop,
chart.plotWidth,
chart.chartHeight
);
target.boostClipRect = chart.renderer.clipRect();

(target.renderTargetFo || target.renderTarget).clip(target.boostClipRect);

@@ -2414,12 +2435,7 @@
target.canvas.width = width;
target.canvas.height = height;

target.boostClipRect.attr({
x: chart.plotLeft,
y: chart.plotTop,
width: chart.plotWidth,
height: chart.chartHeight
});
target.boostClipRect.attr(chart.getBoostClipRect(target));

target.boostResizeTarget();
target.boostClear();
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* (c) 2009-2017 Torstein Honsi
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
*
* Bullet graph series type for Highcharts
*
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Data module
*
* (c) 2012-2017 Torstein Honsi
@@ -132,13 +132,13 @@
*
* Valid options include:
*
* * `YYYY-mm-dd`
* * `YYYY/mm/dd`
* * `dd/mm/YYYY`
* * `mm/dd/YYYY`
* * `dd/mm/YY`
* * `mm/dd/YY`
*
* @validvalue [undefined, "YYYY-mm-dd", "dd/mm/YYYY", "mm/dd/YYYY", "dd/mm/YYYY", "dd/mm/YY", "mm/dd/YY"]
* @validvalue [undefined, "YYYY/mm/dd", "dd/mm/YYYY", "mm/dd/YYYY", "dd/mm/YYYY", "dd/mm/YY", "mm/dd/YY"]
* @type {String}
* @see [data.parseDate](#data.parseDate)
* @sample {highcharts} highcharts/data/dateformat-auto/ Best guess date format
@@ -781,7 +781,7 @@
* data is the data to deduce a format based on
*/
function deduceDateFormat(data, limit) {
var format = 'YYYY-mm-dd',
var format = 'YYYY/mm/dd',
thing,
guessedFormat,
calculatedFormat,
@@ -1225,7 +1225,7 @@
* custom date formats.
*/
dateFormats: {
'YYYY-mm-dd': {
'YYYY/mm/dd': {
regex: /^([0-9]{4})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{1,2})$/,
parser: function(match) {
return Date.UTC(+match[1], match[2] - 1, +match[3]);
@@ -1302,7 +1302,7 @@

if (!format) {
// The selected format is invalid
format = this.dateFormats['YYYY-mm-dd'];
format = this.dateFormats['YYYY/mm/dd'];
}

match = val.match(format.regex);
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Drag-panes module
*
* (c) 2010-2017 Highsoft AS
@@ -1,5 +1,5 @@
/**
* @license Highcharts JS v6.0.2 (2017-10-20)
* @license Highcharts JS v6.0.3 (2017-11-14)
* Highcharts Drilldown module
*
* Author: Torstein Honsi