app/assets/javascripts/highcharts/modules/exporting.js in highcharts-rails-4.2.4 vs app/assets/javascripts/highcharts/modules/exporting.js in highcharts-rails-4.2.5

- old
+ new

@@ -1,7 +1,7 @@ /** - * @license Highcharts JS v4.2.4 (2016-04-14) + * @license Highcharts JS v4.2.5 (2016-05-06) * Exporting module * * (c) 2010-2016 Torstein Honsi * * License: www.highcharts.com/license @@ -102,10 +102,11 @@ //enabled: true, //filename: 'chart', type: 'image/png', url: 'http://export.highcharts.com/', //width: undefined, + printMaxWidth: 780, //scale: 2 buttons: { contextButton: { menuClassName: PREFIX + 'contextmenu', //x: -10, @@ -422,21 +423,33 @@ var chart = this, container = chart.container, origDisplay = [], origParent = container.parentNode, body = doc.body, - childNodes = body.childNodes; + childNodes = body.childNodes, + printMaxWidth = chart.options.exporting.printMaxWidth, + hasUserSize, + resetParams, + handleMaxWidth; if (chart.isPrinting) { // block the button while in printing mode return; } chart.isPrinting = true; chart.pointer.reset(null, 0); fireEvent(chart, 'beforePrint'); + // Handle printMaxWidth + handleMaxWidth = printMaxWidth && chart.chartWidth > printMaxWidth; + if (handleMaxWidth) { + hasUserSize = chart.hasUserSize; + resetParams = [chart.chartWidth, chart.chartHeight, false]; + chart.setSize(printMaxWidth, chart.chartHeight, false); + } + // hide all body content each(childNodes, function (node, i) { if (node.nodeType === 1) { origDisplay[i] = node.style.display; node.style.display = NONE; @@ -462,9 +475,15 @@ node.style.display = origDisplay[i]; } }); chart.isPrinting = false; + + // Reset printMaxWidth + if (handleMaxWidth) { + chart.setSize.apply(chart, resetParams); + chart.hasUserSize = hasUserSize; + } fireEvent(chart, 'afterPrint'); }, 1000);