corrade-nucleus-nucleons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 /**
2 * @license Highmaps JS v5.0.10 (2017-03-31)
3 * Highmaps as a plugin for Highcharts 4.1.x or Highstock 2.1.x (x being the patch version of this file)
4 *
5 * (c) 2011-2017 Torstein Honsi
6 *
7 * License: www.highcharts.com/license
8 */
9 'use strict';
10 (function(factory) {
11 if (typeof module === 'object' && module.exports) {
12 module.exports = factory;
13 } else {
14 factory(Highcharts);
15 }
16 }(function(Highcharts) {
17 (function(H) {
18 /**
19 * (c) 2010-2017 Torstein Honsi
20 *
21 * License: www.highcharts.com/license
22 */
23 var Axis = H.Axis,
24 each = H.each,
25 pick = H.pick,
26 wrap = H.wrap;
27 /**
28 * Override to use the extreme coordinates from the SVG shape, not the
29 * data values
30 */
31 wrap(Axis.prototype, 'getSeriesExtremes', function(proceed) {
32 var isXAxis = this.isXAxis,
33 dataMin,
34 dataMax,
35 xData = [],
36 useMapGeometry;
37  
38 // Remove the xData array and cache it locally so that the proceed method doesn't use it
39 if (isXAxis) {
40 each(this.series, function(series, i) {
41 if (series.useMapGeometry) {
42 xData[i] = series.xData;
43 series.xData = [];
44 }
45 });
46 }
47  
48 // Call base to reach normal cartesian series (like mappoint)
49 proceed.call(this);
50  
51 // Run extremes logic for map and mapline
52 if (isXAxis) {
53 dataMin = pick(this.dataMin, Number.MAX_VALUE);
54 dataMax = pick(this.dataMax, -Number.MAX_VALUE);
55 each(this.series, function(series, i) {
56 if (series.useMapGeometry) {
57 dataMin = Math.min(dataMin, pick(series.minX, dataMin));
58 dataMax = Math.max(dataMax, pick(series.maxX, dataMin));
59 series.xData = xData[i]; // Reset xData array
60 useMapGeometry = true;
61 }
62 });
63 if (useMapGeometry) {
64 this.dataMin = dataMin;
65 this.dataMax = dataMax;
66 }
67 }
68 });
69  
70 /**
71 * Override axis translation to make sure the aspect ratio is always kept
72 */
73 wrap(Axis.prototype, 'setAxisTranslation', function(proceed) {
74 var chart = this.chart,
75 mapRatio,
76 plotRatio = chart.plotWidth / chart.plotHeight,
77 adjustedAxisLength,
78 xAxis = chart.xAxis[0],
79 padAxis,
80 fixTo,
81 fixDiff,
82 preserveAspectRatio;
83  
84  
85 // Run the parent method
86 proceed.call(this);
87  
88 // Check for map-like series
89 if (this.coll === 'yAxis' && xAxis.transA !== undefined) {
90 each(this.series, function(series) {
91 if (series.preserveAspectRatio) {
92 preserveAspectRatio = true;
93 }
94 });
95 }
96  
97 // On Y axis, handle both
98 if (preserveAspectRatio) {
99  
100 // Use the same translation for both axes
101 this.transA = xAxis.transA = Math.min(this.transA, xAxis.transA);
102  
103 mapRatio = plotRatio / ((xAxis.max - xAxis.min) / (this.max - this.min));
104  
105 // What axis to pad to put the map in the middle
106 padAxis = mapRatio < 1 ? this : xAxis;
107  
108 < 1 ? this : xAxis; // Pad it
109 < 1 ? this : xAxis; adjustedAxisLength = (padAxis.max - padAxis.min) * padAxis.transA;
110 < 1 ? this : xAxis; padAxis.pixelPadding = padAxis.len - adjustedAxisLength;
111 < 1 ? this : xAxis; padAxis.minPixelPadding = padAxis.pixelPadding / 2;
112  
113 < 1 ? this : xAxis; fixTo = padAxis.fixTo;
114 < 1 ? this : xAxis; if (fixTo) {
115 < 1 ? this : xAxis; fixDiff = fixTo[1] - padAxis.toValue(fixTo[0], true);
116 < 1 ? this : xAxis; fixDiff *= padAxis.transA;
117 < 1 ? this : xAxis; if (Math.abs(fixDiff) > padAxis.minPixelPadding || (padAxis.min === padAxis.dataMin && padAxis.max === padAxis.dataMax)) { // zooming out again, keep within restricted area
118 < 1 ? this : xAxis; fixDiff = 0;
119 < 1 ? this : xAxis; }
120 < 1 ? this : xAxis; padAxis.minPixelPadding -= fixDiff;
121 < 1 ? this : xAxis; }
122 < 1 ? this : xAxis; }
123 < 1 ? this : xAxis; });
124  
125 < 1 ? this : xAxis; /**
126 < 1 ? this : xAxis; * Override Axis.render in order to delete the fixTo prop
127 < 1 ? this : xAxis; */
128 < 1 ? this : xAxis; wrap(Axis.prototype, 'render', function(proceed) {
129 < 1 ? this : xAxis; proceed.call(this);
130 < 1 ? this : xAxis; this.fixTo = null;
131 < 1 ? this : xAxis; });
132  
133 < 1 ? this : xAxis; }(Highcharts));
134 < 1 ? this : xAxis; (function(H) {
135 < 1 ? this : xAxis; /**
136 < 1 ? this : xAxis; * (c) 2010-2017 Torstein Honsi
137 < 1 ? this : xAxis; *
138 < 1 ? this : xAxis; * License: www.highcharts.com/license
139 < 1 ? this : xAxis; */
140 < 1 ? this : xAxis; var Axis = H.Axis,
141 < 1 ? this : xAxis; Chart = H.Chart,
142 < 1 ? this : xAxis; color = H.color,
143 < 1 ? this : xAxis; ColorAxis,
144 < 1 ? this : xAxis; each = H.each,
145 < 1 ? this : xAxis; extend = H.extend,
146 < 1 ? this : xAxis; isNumber = H.isNumber,
147 < 1 ? this : xAxis; Legend = H.Legend,
148 < 1 ? this : xAxis; LegendSymbolMixin = H.LegendSymbolMixin,
149 < 1 ? this : xAxis; noop = H.noop,
150 < 1 ? this : xAxis; merge = H.merge,
151 < 1 ? this : xAxis; pick = H.pick,
152 < 1 ? this : xAxis; wrap = H.wrap;
153  
154 < 1 ? this : xAxis; /**
155 < 1 ? this : xAxis; * The ColorAxis object for inclusion in gradient legends
156 < 1 ? this : xAxis; */
157 < 1 ? this : xAxis; ColorAxis = H.ColorAxis = function() {
158 < 1 ? this : xAxis; this.init.apply(this, arguments);
159 < 1 ? this : xAxis; };
160 < 1 ? this : xAxis; extend(ColorAxis.prototype, Axis.prototype);
161 < 1 ? this : xAxis; extend(ColorAxis.prototype, {
162 < 1 ? this : xAxis; defaultColorAxisOptions: {
163 < 1 ? this : xAxis; lineWidth: 0,
164 < 1 ? this : xAxis; minPadding: 0,
165 < 1 ? this : xAxis; maxPadding: 0,
166 < 1 ? this : xAxis; gridLineWidth: 1,
167 < 1 ? this : xAxis; tickPixelInterval: 72,
168 < 1 ? this : xAxis; startOnTick: true,
169 < 1 ? this : xAxis; endOnTick: true,
170 < 1 ? this : xAxis; offset: 0,
171 < 1 ? this : xAxis; marker: {
172 < 1 ? this : xAxis; animation: {
173 < 1 ? this : xAxis; duration: 50
174 < 1 ? this : xAxis; },
175 < 1 ? this : xAxis; width: 0.01,
176  
177 < 1 ? this : xAxis; color: '#999999'
178  
179 < 1 ? this : xAxis; },
180 < 1 ? this : xAxis; labels: {
181 < 1 ? this : xAxis; overflow: 'justify',
182 < 1 ? this : xAxis; rotation: 0
183 < 1 ? this : xAxis; },
184 < 1 ? this : xAxis; minColor: '#e6ebf5',
185 < 1 ? this : xAxis; maxColor: '#003399',
186 < 1 ? this : xAxis; tickLength: 5,
187 < 1 ? this : xAxis; showInLegend: true
188 < 1 ? this : xAxis; },
189  
190 < 1 ? this : xAxis; // Properties to preserve after destroy, for Axis.update (#5881, #6025)
191 < 1 ? this : xAxis; keepProps: [
192 < 1 ? this : xAxis; 'legendGroup',
193 < 1 ? this : xAxis; 'legendItemHeight',
194 < 1 ? this : xAxis; 'legendItemWidth',
195 < 1 ? this : xAxis; 'legendItem',
196 < 1 ? this : xAxis; 'legendSymbol'
197 < 1 ? this : xAxis; ].concat(Axis.prototype.keepProps),
198  
199 < 1 ? this : xAxis; /**
200 < 1 ? this : xAxis; * Initialize the color axis
201 < 1 ? this : xAxis; */
202 < 1 ? this : xAxis; init: function(chart, userOptions) {
203 < 1 ? this : xAxis; var horiz = chart.options.legend.layout !== 'vertical',
204 < 1 ? this : xAxis; options;
205  
206 < 1 ? this : xAxis; this.coll = 'colorAxis';
207  
208 < 1 ? this : xAxis; // Build the options
209 < 1 ? this : xAxis; options = merge(this.defaultColorAxisOptions, {
210 < 1 ? this : xAxis; side: horiz ? 2 : 1,
211 < 1 ? this : xAxis; reversed: !horiz
212 < 1 ? this : xAxis; }, userOptions, {
213 < 1 ? this : xAxis; opposite: !horiz,
214 < 1 ? this : xAxis; showEmpty: false,
215 < 1 ? this : xAxis; title: null
216 < 1 ? this : xAxis; });
217  
218 < 1 ? this : xAxis; Axis.prototype.init.call(this, chart, options);
219  
220 < 1 ? this : xAxis; // Base init() pushes it to the xAxis array, now pop it again
221 < 1 ? this : xAxis; //chart[this.isXAxis ? 'xAxis' : 'yAxis'].pop();
222  
223 < 1 ? this : xAxis; // Prepare data classes
224 < 1 ? this : xAxis; if (userOptions.dataClasses) {
225 < 1 ? this : xAxis; this.initDataClasses(userOptions);
226 < 1 ? this : xAxis; }
227 < 1 ? this : xAxis; this.initStops(userOptions);
228  
229 < 1 ? this : xAxis; // Override original axis properties
230 < 1 ? this : xAxis; this.horiz = horiz;
231 < 1 ? this : xAxis; this.zoomEnabled = false;
232  
233 < 1 ? this : xAxis; // Add default values
234 < 1 ? this : xAxis; this.defaultLegendLength = 200;
235 < 1 ? this : xAxis; },
236  
237 < 1 ? this : xAxis; /*
238 < 1 ? this : xAxis; * Return an intermediate color between two colors, according to pos where 0
239 < 1 ? this : xAxis; * is the from color and 1 is the to color.
240 < 1 ? this : xAxis; * NOTE: Changes here should be copied
241 < 1 ? this : xAxis; * to the same function in drilldown.src.js and solid-gauge-src.js.
242 < 1 ? this : xAxis; */
243 < 1 ? this : xAxis; tweenColors: function(from, to, pos) {
244 < 1 ? this : xAxis; // Check for has alpha, because rgba colors perform worse due to lack of
245 < 1 ? this : xAxis; // support in WebKit.
246 < 1 ? this : xAxis; var hasAlpha,
247 < 1 ? this : xAxis; ret;
248  
249 < 1 ? this : xAxis; // Unsupported color, return to-color (#3920)
250 < 1 ? this : xAxis; if (!to.rgba.length || !from.rgba.length) {
251 < 1 ? this : xAxis; ret = to.input || 'none';
252  
253 < 1 ? this : xAxis; // Interpolate
254 < 1 ? this : xAxis; } else {
255 < 1 ? this : xAxis; from = from.rgba;
256 < 1 ? this : xAxis; to = to.rgba;
257 < 1 ? this : xAxis; hasAlpha = (to[3] !== 1 || from[3] !== 1);
258 < 1 ? this : xAxis; ret = (hasAlpha ? 'rgba(' : 'rgb(') +
259 < 1 ? this : xAxis; Math.round(to[0] + (from[0] - to[0]) * (1 - pos)) + ',' +
260 < 1 ? this : xAxis; Math.round(to[1] + (from[1] - to[1]) * (1 - pos)) + ',' +
261 < 1 ? this : xAxis; Math.round(to[2] + (from[2] - to[2]) * (1 - pos)) +
262 < 1 ? this : xAxis; (hasAlpha ? (',' + (to[3] + (from[3] - to[3]) * (1 - pos))) : '') + ')';
263 < 1 ? this : xAxis; }
264 < 1 ? this : xAxis; return ret;
265 < 1 ? this : xAxis; },
266  
267 < 1 ? this : xAxis; initDataClasses: function(userOptions) {
268 < 1 ? this : xAxis; var axis = this,
269 < 1 ? this : xAxis; chart = this.chart,
270 < 1 ? this : xAxis; dataClasses,
271 < 1 ? this : xAxis; colorCounter = 0,
272 < 1 ? this : xAxis; colorCount = chart.options.chart.colorCount,
273 < 1 ? this : xAxis; options = this.options,
274 < 1 ? this : xAxis; len = userOptions.dataClasses.length;
275 < 1 ? this : xAxis; this.dataClasses = dataClasses = [];
276 < 1 ? this : xAxis; this.legendItems = [];
277  
278 < 1 ? this : xAxis; each(userOptions.dataClasses, function(dataClass, i) {
279 < 1 ? this : xAxis; var colors;
280  
281 < 1 ? this : xAxis; dataClass = merge(dataClass);
282 < 1 ? this : xAxis; dataClasses.push(dataClass);
283 < 1 ? this : xAxis; if (!dataClass.color) {
284 < 1 ? this : xAxis; if (options.dataClassColor === 'category') {
285  
286 < 1 ? this : xAxis; colors = chart.options.colors;
287 < 1 ? this : xAxis; colorCount = colors.length;
288 < 1 ? this : xAxis; dataClass.color = colors[colorCounter];
289  
290 < 1 ? this : xAxis; dataClass.colorIndex = colorCounter;
291  
292 < 1 ? this : xAxis; // increase and loop back to zero
293 < 1 ? this : xAxis; colorCounter++;
294 < 1 ? this : xAxis; if (colorCounter === colorCount) {
295 < 1 ? this : xAxis; colorCounter = 0;
296 < 1 ? this : xAxis; }
297 < 1 ? this : xAxis; } else {
298 < 1 ? this : xAxis; dataClass.color = axis.tweenColors(
299 < 1 ? this : xAxis; color(options.minColor),
300 < 1 ? this : xAxis; color(options.maxColor),
301 < 1 ? this : xAxis; len < 2 ? 0.5 : i / (len - 1) // #3219
302 < 1 ? this : xAxis; );
303 < 1 ? this : xAxis; }
304 < 1 ? this : xAxis; }
305 < 1 ? this : xAxis; });
306 < 1 ? this : xAxis; },
307  
308 < 1 ? this : xAxis; initStops: function(userOptions) {
309 < 1 ? this : xAxis; this.stops = userOptions.stops || [
310 < 1 ? this : xAxis; [0, this.options.minColor],
311 < 1 ? this : xAxis; [1, this.options.maxColor]
312 < 1 ? this : xAxis; ];
313 < 1 ? this : xAxis; each(this.stops, function(stop) {
314 < 1 ? this : xAxis; stop.color = color(stop[1]);
315 < 1 ? this : xAxis; });
316 < 1 ? this : xAxis; },
317  
318 < 1 ? this : xAxis; /**
319 < 1 ? this : xAxis; * Extend the setOptions method to process extreme colors and color
320 < 1 ? this : xAxis; * stops.
321 < 1 ? this : xAxis; */
322 < 1 ? this : xAxis; setOptions: function(userOptions) {
323 < 1 ? this : xAxis; Axis.prototype.setOptions.call(this, userOptions);
324  
325 < 1 ? this : xAxis; this.options.crosshair = this.options.marker;
326 < 1 ? this : xAxis; },
327  
328 < 1 ? this : xAxis; setAxisSize: function() {
329 < 1 ? this : xAxis; var symbol = this.legendSymbol,
330 < 1 ? this : xAxis; chart = this.chart,
331 < 1 ? this : xAxis; legendOptions = chart.options.legend || {},
332 < 1 ? this : xAxis; x,
333 < 1 ? this : xAxis; y,
334 < 1 ? this : xAxis; width,
335 < 1 ? this : xAxis; height;
336  
337 < 1 ? this : xAxis; if (symbol) {
338 < 1 ? this : xAxis; this.left = x = symbol.attr('x');
339 < 1 ? this : xAxis; this.top = y = symbol.attr('y');
340 < 1 ? this : xAxis; this.width = width = symbol.attr('width');
341 < 1 ? this : xAxis; this.height = height = symbol.attr('height');
342 < 1 ? this : xAxis; this.right = chart.chartWidth - x - width;
343 < 1 ? this : xAxis; this.bottom = chart.chartHeight - y - height;
344  
345 < 1 ? this : xAxis; this.len = this.horiz ? width : height;
346 < 1 ? this : xAxis; this.pos = this.horiz ? x : y;
347 < 1 ? this : xAxis; } else {
348 < 1 ? this : xAxis; // Fake length for disabled legend to avoid tick issues and such (#5205)
349 < 1 ? this : xAxis; this.len = (this.horiz ? legendOptions.symbolWidth : legendOptions.symbolHeight) || this.defaultLegendLength;
350 < 1 ? this : xAxis; }
351 < 1 ? this : xAxis; },
352  
353 < 1 ? this : xAxis; /**
354 < 1 ? this : xAxis; * Translate from a value to a color
355 < 1 ? this : xAxis; */
356 < 1 ? this : xAxis; toColor: function(value, point) {
357 < 1 ? this : xAxis; var pos,
358 < 1 ? this : xAxis; stops = this.stops,
359 < 1 ? this : xAxis; from,
360 < 1 ? this : xAxis; to,
361 < 1 ? this : xAxis; color,
362 < 1 ? this : xAxis; dataClasses = this.dataClasses,
363 < 1 ? this : xAxis; dataClass,
364 < 1 ? this : xAxis; i;
365  
366 < 1 ? this : xAxis; if (dataClasses) {
367 < 1 ? this : xAxis; i = dataClasses.length;
368 < 1 ? this : xAxis; while (i--) {
369 < 1 ? this : xAxis; dataClass = dataClasses[i];
370 < 1 ? this : xAxis; from = dataClass.from;
371 < 1 ? this : xAxis; to = dataClass.to;
372 < 1 ? this : xAxis; if ((from === undefined || value >= from) && (to === undefined || value <= to)) {
373 < 1 ? this : xAxis;<= to)) { color = dataClass.color;
374 < 1 ? this : xAxis;<= to)) { if (point) {
375 < 1 ? this : xAxis;<= to)) { point.dataClass = i;
376 < 1 ? this : xAxis;<= to)) { point.colorIndex = dataClass.colorIndex;
377 < 1 ? this : xAxis;<= to)) { }
378 < 1 ? this : xAxis;<= to)) { break;
379 < 1 ? this : xAxis;<= to)) { }
380 < 1 ? this : xAxis;<= to)) { }
381  
382 < 1 ? this : xAxis;<= to)) { } else {
383  
384 < 1 ? this : xAxis;<= to)) { if (this.isLog) {
385 < 1 ? this : xAxis;<= to)) { value = this.val2lin(value);
386 < 1 ? this : xAxis;<= to)) { }
387 < 1 ? this : xAxis;<= to)) { pos = 1 - ((this.max - value) / ((this.max - this.min) || 1));
388 < 1 ? this : xAxis;<= to)) { i = stops.length;
389 < 1 ? this : xAxis;<= to)) { while (i--) {
390 < 1 ? this : xAxis;<= to)) { if (pos > stops[i][0]) {
391 < 1 ? this : xAxis;<= to)) { break;
392 < 1 ? this : xAxis;<= to)) { }
393 < 1 ? this : xAxis;<= to)) { }
394 < 1 ? this : xAxis;<= to)) { from = stops[i] || stops[i + 1];
395 < 1 ? this : xAxis;<= to)) { to = stops[i + 1] || from;
396  
397 < 1 ? this : xAxis;<= to)) { // The position within the gradient
398 < 1 ? this : xAxis;<= to)) { pos = 1 - (to[0] - pos) / ((to[0] - from[0]) || 1);
399  
400 < 1 ? this : xAxis;<= to)) { color = this.tweenColors(
401 < 1 ? this : xAxis;<= to)) { from.color,
402 < 1 ? this : xAxis;<= to)) { to.color,
403 < 1 ? this : xAxis;<= to)) { pos
404 < 1 ? this : xAxis;<= to)) { );
405 < 1 ? this : xAxis;<= to)) { }
406 < 1 ? this : xAxis;<= to)) { return color;
407 < 1 ? this : xAxis;<= to)) { },
408  
409 < 1 ? this : xAxis;<= to)) { /**
410 < 1 ? this : xAxis;<= to)) { * Override the getOffset method to add the whole axis groups inside the legend.
411 < 1 ? this : xAxis;<= to)) { */
412 < 1 ? this : xAxis;<= to)) { getOffset: function() {
413 < 1 ? this : xAxis;<= to)) { var group = this.legendGroup,
414 < 1 ? this : xAxis;<= to)) { sideOffset = this.chart.axisOffset[this.side];
415  
416 < 1 ? this : xAxis;<= to)) { if (group) {
417  
418 < 1 ? this : xAxis;<= to)) { // Hook for the getOffset method to add groups to this parent group
419 < 1 ? this : xAxis;<= to)) { this.axisParent = group;
420  
421 < 1 ? this : xAxis;<= to)) { // Call the base
422 < 1 ? this : xAxis;<= to)) { Axis.prototype.getOffset.call(this);
423  
424 < 1 ? this : xAxis;<= to)) { // First time only
425 < 1 ? this : xAxis;<= to)) { if (!this.added) {
426  
427 < 1 ? this : xAxis;<= to)) { this.added = true;
428  
429 < 1 ? this : xAxis;<= to)) { this.labelLeft = 0;
430 < 1 ? this : xAxis;<= to)) { this.labelRight = this.width;
431 < 1 ? this : xAxis;<= to)) { }
432 < 1 ? this : xAxis;<= to)) { // Reset it to avoid color axis reserving space
433 < 1 ? this : xAxis;<= to)) { this.chart.axisOffset[this.side] = sideOffset;
434 < 1 ? this : xAxis;<= to)) { }
435 < 1 ? this : xAxis;<= to)) { },
436  
437 < 1 ? this : xAxis;<= to)) { /**
438 < 1 ? this : xAxis;<= to)) { * Create the color gradient
439 < 1 ? this : xAxis;<= to)) { */
440 < 1 ? this : xAxis;<= to)) { setLegendColor: function() {
441 < 1 ? this : xAxis;<= to)) { var grad,
442 < 1 ? this : xAxis;<= to)) { horiz = this.horiz,
443 < 1 ? this : xAxis;<= to)) { options = this.options,
444 < 1 ? this : xAxis;<= to)) { reversed = this.reversed,
445 < 1 ? this : xAxis;<= to)) { one = reversed ? 1 : 0,
446 < 1 ? this : xAxis;<= to)) { zero = reversed ? 0 : 1;
447  
448 < 1 ? this : xAxis;<= to)) { grad = horiz ? [one, 0, zero, 0] : [0, zero, 0, one]; // #3190
449 < 1 ? this : xAxis;<= to)) { this.legendColor = {
450 < 1 ? this : xAxis;<= to)) { linearGradient: {
451 < 1 ? this : xAxis;<= to)) { x1: grad[0],
452 < 1 ? this : xAxis;<= to)) { y1: grad[1],
453 < 1 ? this : xAxis;<= to)) { x2: grad[2],
454 < 1 ? this : xAxis;<= to)) { y2: grad[3]
455 < 1 ? this : xAxis;<= to)) { },
456 < 1 ? this : xAxis;<= to)) { stops: options.stops || [
457 < 1 ? this : xAxis;<= to)) { [0, options.minColor],
458 < 1 ? this : xAxis;<= to)) { [1, options.maxColor]
459 < 1 ? this : xAxis;<= to)) { ]
460 < 1 ? this : xAxis;<= to)) { };
461 < 1 ? this : xAxis;<= to)) { },
462  
463 < 1 ? this : xAxis;<= to)) { /**
464 < 1 ? this : xAxis;<= to)) { * The color axis appears inside the legend and has its own legend symbol
465 < 1 ? this : xAxis;<= to)) { */
466 < 1 ? this : xAxis;<= to)) { drawLegendSymbol: function(legend, item) {
467 < 1 ? this : xAxis;<= to)) { var padding = legend.padding,
468 < 1 ? this : xAxis;<= to)) { legendOptions = legend.options,
469 < 1 ? this : xAxis;<= to)) { horiz = this.horiz,
470 < 1 ? this : xAxis;<= to)) { width = pick(legendOptions.symbolWidth, horiz ? this.defaultLegendLength : 12),
471 < 1 ? this : xAxis;<= to)) { height = pick(legendOptions.symbolHeight, horiz ? 12 : this.defaultLegendLength),
472 < 1 ? this : xAxis;<= to)) { labelPadding = pick(legendOptions.labelPadding, horiz ? 16 : 30),
473 < 1 ? this : xAxis;<= to)) { itemDistance = pick(legendOptions.itemDistance, 10);
474  
475 < 1 ? this : xAxis;<= to)) { this.setLegendColor();
476  
477 < 1 ? this : xAxis;<= to)) { // Create the gradient
478 < 1 ? this : xAxis;<= to)) { item.legendSymbol = this.chart.renderer.rect(
479 < 1 ? this : xAxis;<= to)) { 0,
480 < 1 ? this : xAxis;<= to)) { legend.baseline - 11,
481 < 1 ? this : xAxis;<= to)) { width,
482 < 1 ? this : xAxis;<= to)) { height
483 < 1 ? this : xAxis;<= to)) { ).attr({
484 < 1 ? this : xAxis;<= to)) { zIndex: 1
485 < 1 ? this : xAxis;<= to)) { }).add(item.legendGroup);
486  
487 < 1 ? this : xAxis;<= to)) { // Set how much space this legend item takes up
488 < 1 ? this : xAxis;<= to)) { this.legendItemWidth = width + padding + (horiz ? itemDistance : labelPadding);
489 < 1 ? this : xAxis;<= to)) { this.legendItemHeight = height + padding + (horiz ? labelPadding : 0);
490 < 1 ? this : xAxis;<= to)) { },
491 < 1 ? this : xAxis;<= to)) { /**
492 < 1 ? this : xAxis;<= to)) { * Fool the legend
493 < 1 ? this : xAxis;<= to)) { */
494 < 1 ? this : xAxis;<= to)) { setState: noop,
495 < 1 ? this : xAxis;<= to)) { visible: true,
496 < 1 ? this : xAxis;<= to)) { setVisible: noop,
497 < 1 ? this : xAxis;<= to)) { getSeriesExtremes: function() {
498 < 1 ? this : xAxis;<= to)) { var series = this.series,
499 < 1 ? this : xAxis;<= to)) { i = series.length;
500 < 1 ? this : xAxis;<= to)) { this.dataMin = Infinity;
501 < 1 ? this : xAxis;<= to)) { this.dataMax = -Infinity;
502 < 1 ? this : xAxis;<= to)) { while (i--) {
503 < 1 ? this : xAxis;<= to)) { if (series[i].valueMin !== undefined) {
504 < 1 ? this : xAxis;<= to)) { this.dataMin = Math.min(this.dataMin, series[i].valueMin);
505 < 1 ? this : xAxis;<= to)) { this.dataMax = Math.max(this.dataMax, series[i].valueMax);
506 < 1 ? this : xAxis;<= to)) { }
507 < 1 ? this : xAxis;<= to)) { }
508 < 1 ? this : xAxis;<= to)) { },
509 < 1 ? this : xAxis;<= to)) { drawCrosshair: function(e, point) {
510 < 1 ? this : xAxis;<= to)) { var plotX = point && point.plotX,
511 < 1 ? this : xAxis;<= to)) { plotY = point && point.plotY,
512 < 1 ? this : xAxis;<= to)) { crossPos,
513 < 1 ? this : xAxis;<= to)) { axisPos = this.pos,
514 < 1 ? this : xAxis;<= to)) { axisLen = this.len;
515  
516 < 1 ? this : xAxis;<= to)) { if (point) {
517 < 1 ? this : xAxis;<= to)) { crossPos = this.toPixels(point[point.series.colorKey]);
518 < 1 ? this : xAxis;<= to)) { if (crossPos < axisPos) {
519 < 1 ? this : xAxis;<= to)) {< axisPos) { crossPos = axisPos - 2;
520 < 1 ? this : xAxis;<= to)) {< axisPos) { } else if (crossPos > axisPos + axisLen) {
521 < 1 ? this : xAxis;<= to)) {< axisPos) { crossPos = axisPos + axisLen + 2;
522 < 1 ? this : xAxis;<= to)) {< axisPos) { }
523  
524 < 1 ? this : xAxis;<= to)) {< axisPos) { point.plotX = crossPos;
525 < 1 ? this : xAxis;<= to)) {< axisPos) { point.plotY = this.len - crossPos;
526 < 1 ? this : xAxis;<= to)) {< axisPos) { Axis.prototype.drawCrosshair.call(this, e, point);
527 < 1 ? this : xAxis;<= to)) {< axisPos) { point.plotX = plotX;
528 < 1 ? this : xAxis;<= to)) {< axisPos) { point.plotY = plotY;
529  
530 < 1 ? this : xAxis;<= to)) {< axisPos) { if (this.cross) {
531 < 1 ? this : xAxis;<= to)) {< axisPos) { this.cross
532 < 1 ? this : xAxis;<= to)) {< axisPos) { .addClass('highcharts-coloraxis-marker')
533 < 1 ? this : xAxis;<= to)) {< axisPos) { .add(this.legendGroup);
534  
535  
536 < 1 ? this : xAxis;<= to)) {< axisPos) { this.cross.attr({
537 < 1 ? this : xAxis;<= to)) {< axisPos) { fill: this.crosshair.color
538 < 1 ? this : xAxis;<= to)) {< axisPos) { });
539  
540  
541 < 1 ? this : xAxis;<= to)) {< axisPos) { }
542 < 1 ? this : xAxis;<= to)) {< axisPos) { }
543 < 1 ? this : xAxis;<= to)) {< axisPos) { },
544 < 1 ? this : xAxis;<= to)) {< axisPos) { getPlotLinePath: function(a, b, c, d, pos) {
545 < 1 ? this : xAxis;<= to)) {< axisPos) { return isNumber(pos) ? // crosshairs only // #3969 pos can be 0 !!
546 < 1 ? this : xAxis;<= to)) {< axisPos) { (this.horiz ? ['M', pos - 4, this.top - 6, 'L', pos + 4, this.top - 6, pos, this.top, 'Z'] : ['M', this.left, pos, 'L', this.left - 6, pos + 6, this.left - 6, pos - 6, 'Z']) :
547 < 1 ? this : xAxis;<= to)) {< axisPos) { Axis.prototype.getPlotLinePath.call(this, a, b, c, d);
548 < 1 ? this : xAxis;<= to)) {< axisPos) { },
549  
550 < 1 ? this : xAxis;<= to)) {< axisPos) { update: function(newOptions, redraw) {
551 < 1 ? this : xAxis;<= to)) {< axisPos) { var chart = this.chart,
552 < 1 ? this : xAxis;<= to)) {< axisPos) { legend = chart.legend;
553  
554 < 1 ? this : xAxis;<= to)) {< axisPos) { each(this.series, function(series) {
555 < 1 ? this : xAxis;<= to)) {< axisPos) { series.isDirtyData = true; // Needed for Axis.update when choropleth colors change
556 < 1 ? this : xAxis;<= to)) {< axisPos) { });
557  
558 < 1 ? this : xAxis;<= to)) {< axisPos) { // When updating data classes, destroy old items and make sure new ones are created (#3207)
559 < 1 ? this : xAxis;<= to)) {< axisPos) { if (newOptions.dataClasses && legend.allItems) {
560 < 1 ? this : xAxis;<= to)) {< axisPos) { each(legend.allItems, function(item) {
561 < 1 ? this : xAxis;<= to)) {< axisPos) { if (item.isDataClass) {
562 < 1 ? this : xAxis;<= to)) {< axisPos) { item.legendGroup.destroy();
563 < 1 ? this : xAxis;<= to)) {< axisPos) { }
564 < 1 ? this : xAxis;<= to)) {< axisPos) { });
565 < 1 ? this : xAxis;<= to)) {< axisPos) { chart.isDirtyLegend = true;
566 < 1 ? this : xAxis;<= to)) {< axisPos) { }
567  
568 < 1 ? this : xAxis;<= to)) {< axisPos) { // Keep the options structure updated for export. Unlike xAxis and yAxis, the colorAxis is
569 < 1 ? this : xAxis;<= to)) {< axisPos) { // not an array. (#3207)
570 < 1 ? this : xAxis;<= to)) {< axisPos) { chart.options[this.coll] = merge(this.userOptions, newOptions);
571  
572 < 1 ? this : xAxis;<= to)) {< axisPos) { Axis.prototype.update.call(this, newOptions, redraw);
573 < 1 ? this : xAxis;<= to)) {< axisPos) { if (this.legendItem) {
574 < 1 ? this : xAxis;<= to)) {< axisPos) { this.setLegendColor();
575 < 1 ? this : xAxis;<= to)) {< axisPos) { legend.colorizeItem(this, true);
576 < 1 ? this : xAxis;<= to)) {< axisPos) { }
577 < 1 ? this : xAxis;<= to)) {< axisPos) { },
578  
579 < 1 ? this : xAxis;<= to)) {< axisPos) { /**
580 < 1 ? this : xAxis;<= to)) {< axisPos) { * Get the legend item symbols for data classes
581 < 1 ? this : xAxis;<= to)) {< axisPos) { */
582 < 1 ? this : xAxis;<= to)) {< axisPos) { getDataClassLegendSymbols: function() {
583 < 1 ? this : xAxis;<= to)) {< axisPos) { var axis = this,
584 < 1 ? this : xAxis;<= to)) {< axisPos) { chart = this.chart,
585 < 1 ? this : xAxis;<= to)) {< axisPos) { legendItems = this.legendItems,
586 < 1 ? this : xAxis;<= to)) {< axisPos) { legendOptions = chart.options.legend,
587 < 1 ? this : xAxis;<= to)) {< axisPos) { valueDecimals = legendOptions.valueDecimals,
588 < 1 ? this : xAxis;<= to)) {< axisPos) { valueSuffix = legendOptions.valueSuffix || '',
589 < 1 ? this : xAxis;<= to)) {< axisPos) { name;
590  
591 < 1 ? this : xAxis;<= to)) {< axisPos) { if (!legendItems.length) {
592 < 1 ? this : xAxis;<= to)) {< axisPos) { each(this.dataClasses, function(dataClass, i) {
593 < 1 ? this : xAxis;<= to)) {< axisPos) { var vis = true,
594 < 1 ? this : xAxis;<= to)) {< axisPos) { from = dataClass.from,
595 < 1 ? this : xAxis;<= to)) {< axisPos) { to = dataClass.to;
596  
597 < 1 ? this : xAxis;<= to)) {< axisPos) { // Assemble the default name. This can be overridden by legend.options.labelFormatter
598 < 1 ? this : xAxis;<= to)) {< axisPos) { name = '';
599 < 1 ? this : xAxis;<= to)) {< axisPos) { if (from === undefined) {
600 < 1 ? this : xAxis;<= to)) {< axisPos) { name = '< ';
601 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else if (to === undefined) {
602 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; name = '> ';
603 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
604 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (from !== undefined) {
605 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; name += H.numberFormat(from, valueDecimals) + valueSuffix;
606 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
607 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (from !== undefined && to !== undefined) {
608 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; name += ' - ';
609 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
610 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (to !== undefined) {
611 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; name += H.numberFormat(to, valueDecimals) + valueSuffix;
612 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
613 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Add a mock object to the legend items
614 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; legendItems.push(extend({
615 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart: chart,
616 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; name: name,
617 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; options: {},
618 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; drawLegendSymbol: LegendSymbolMixin.drawRectangle,
619 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; visible: true,
620 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; setState: noop,
621 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; isDataClass: true,
622 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; setVisible: function() {
623 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; vis = this.visible = !vis;
624 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(axis.series, function(series) {
625 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(series.points, function(point) {
626 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (point.dataClass === i) {
627 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.setVisible(vis);
628 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
629 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
630 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
631  
632 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.legend.colorizeItem(this, vis);
633 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
634 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }, dataClass));
635 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
636 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
637 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return legendItems;
638 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
639 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; name: '' // Prevents 'undefined' in legend in IE8
640 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
641  
642 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
643 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Handle animation of the color attributes directly
644 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
645 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(['fill', 'stroke'], function(prop) {
646 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; H.Fx.prototype[prop + 'Setter'] = function() {
647 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.elem.attr(
648 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; prop,
649 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ColorAxis.prototype.tweenColors(
650 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; color(this.start),
651 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; color(this.end),
652 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.pos
653 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ),
654 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; null,
655 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; true
656 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; );
657 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; };
658 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
659  
660 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
661 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Extend the chart getAxes method to also get the color axis
662 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
663 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; wrap(Chart.prototype, 'getAxes', function(proceed) {
664  
665 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var options = this.options,
666 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; colorAxisOptions = options.colorAxis;
667  
668 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; proceed.call(this);
669  
670 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.colorAxis = [];
671 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (colorAxisOptions) {
672 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; new ColorAxis(this, colorAxisOptions); // eslint-disable-line no-new
673 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
674 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
675  
676  
677 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
678 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Wrap the legend getAllItems method to add the color axis. This also removes the
679 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * axis' own series to prevent them from showing up individually.
680 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
681 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; wrap(Legend.prototype, 'getAllItems', function(proceed) {
682 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var allItems = [],
683 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; colorAxis = this.chart.colorAxis[0];
684  
685 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (colorAxis && colorAxis.options) {
686 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (colorAxis.options.showInLegend) {
687 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Data classes
688 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (colorAxis.options.dataClasses) {
689 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; allItems = allItems.concat(colorAxis.getDataClassLegendSymbols());
690 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Gradient legend
691 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else {
692 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Add this axis on top
693 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; allItems.push(colorAxis);
694 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
695 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
696  
697 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Don't add the color axis' series
698 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(colorAxis.series, function(series) {
699 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; series.options.showInLegend = false;
700 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
701 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
702  
703 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return allItems.concat(proceed.call(this));
704 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
705  
706 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; wrap(Legend.prototype, 'colorizeItem', function(proceed, item, visible) {
707 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; proceed.call(this, item, visible);
708 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (visible && item.legendColor) {
709 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; item.legendSymbol.attr({
710 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; fill: item.legendColor
711 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
712 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
713 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
714  
715 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }(Highcharts));
716 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; (function(H) {
717 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
718 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * (c) 2010-2017 Torstein Honsi
719 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; *
720 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * License: www.highcharts.com/license
721 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
722 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var defined = H.defined,
723 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each = H.each,
724 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; noop = H.noop,
725 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; seriesTypes = H.seriesTypes;
726  
727 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
728 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Mixin for maps and heatmaps
729 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
730 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; H.colorPointMixin = {
731 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
732 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Color points have a value option that determines whether or not it is a null point
733 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
734 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; isValid: function() {
735 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return this.value !== null;
736 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
737  
738 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
739 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Set the visibility of a single point
740 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
741 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; setVisible: function(vis) {
742 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var point = this,
743 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; method = vis ? 'show' : 'hide';
744  
745 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Show and hide associated elements
746 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(['graphic', 'dataLabel'], function(key) {
747 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (point[key]) {
748 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point[key][method]();
749 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
750 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
751 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
752 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; setState: function(state) {
753 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; H.Point.prototype.setState.call(this, state);
754 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (this.graphic) {
755 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.graphic.attr({
756 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; zIndex: state === 'hover' ? 1 : 0
757 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
758 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
759 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
760 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; };
761  
762 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; H.colorSeriesMixin = {
763 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointArrayMap: ['value'],
764 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; axisTypes: ['xAxis', 'yAxis', 'colorAxis'],
765 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; optionalAxis: 'colorAxis',
766 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
767 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; getSymbol: noop,
768 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; parallelArrays: ['x', 'y', 'value'],
769 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; colorKey: 'value',
770  
771  
772 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointAttribs: seriesTypes.column.prototype.pointAttribs,
773  
774  
775 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
776 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * In choropleth maps, the color is a result of the value, so this needs translation too
777 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
778 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; translateColors: function() {
779 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var series = this,
780 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; nullColor = this.options.nullColor,
781 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; colorAxis = this.colorAxis,
782 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; colorKey = this.colorKey;
783  
784 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(this.data, function(point) {
785 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var value = point[colorKey],
786 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; color;
787  
788 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; color = point.options.color ||
789 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; (point.isNull ? nullColor : (colorAxis && value !== undefined) ? colorAxis.toColor(value, point) : point.color || series.color);
790  
791 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (color) {
792 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.color = color;
793 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
794 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
795 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
796  
797 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
798 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Get the color attibutes to apply on the graphic
799 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
800 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; colorAttribs: function(point) {
801 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var ret = {};
802 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (defined(point.color)) {
803 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ret[this.colorProp || 'fill'] = point.color;
804 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
805 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return ret;
806 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
807 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; };
808  
809 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }(Highcharts));
810 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; (function(H) {
811 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
812 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * (c) 2010-2017 Torstein Honsi
813 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; *
814 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * License: www.highcharts.com/license
815 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
816 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var addEvent = H.addEvent,
817 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; Chart = H.Chart,
818 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; doc = H.doc,
819 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each = H.each,
820 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; extend = H.extend,
821 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; merge = H.merge,
822 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pick = H.pick,
823 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; wrap = H.wrap;
824  
825 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; function stopEvent(e) {
826 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (e) {
827 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (e.preventDefault) {
828 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; e.preventDefault();
829 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
830 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (e.stopPropagation) {
831 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; e.stopPropagation();
832 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
833 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; e.cancelBubble = true;
834 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
835 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
836  
837 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
838 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * The MapNavigation handles buttons for navigation in addition to mousewheel
839 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * and doubleclick handlers for chart zooming.
840 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * @param {Chart} chart The Chart instance.
841 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * @class
842 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
843 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; function MapNavigation(chart) {
844 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.init(chart);
845 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
846  
847 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
848 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Initiator function.
849 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * @param {Chart} chart The Chart instance.
850 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
851 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; MapNavigation.prototype.init = function(chart) {
852 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.chart = chart;
853 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.mapNavButtons = [];
854 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; };
855  
856 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
857 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Update the map navigation with new options. Calling this is the same as
858 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * calling `chart.update({ mapNavigation: {} })`.
859 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * @param {Object} options New options for the map navigation.
860 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
861 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; MapNavigation.prototype.update = function(options) {
862 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var chart = this.chart,
863 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; o = chart.options.mapNavigation,
864 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; buttons,
865 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; n,
866 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; button,
867 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; buttonOptions,
868 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; attr,
869 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; states,
870 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; hoverStates,
871 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; selectStates,
872 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; outerHandler = function(e) {
873 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.handler.call(chart, e);
874 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; stopEvent(e); // Stop default click event (#4444)
875 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
876 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapNavButtons = chart.mapNavButtons;
877  
878 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Merge in new options in case of update, and register back to chart
879 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // options.
880 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (options) {
881 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; o = chart.options.mapNavigation =
882 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; merge(chart.options.mapNavigation, options);
883 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
884  
885 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Destroy buttons in case of dynamic update
886 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; while (mapNavButtons.length) {
887 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapNavButtons.pop().destroy();
888 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
889  
890 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (pick(o.enableButtons, o.enabled) && !chart.renderer.forExport) {
891  
892 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; buttons = o.buttons;
893 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; for (n in buttons) {
894  
895 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (buttons.hasOwnProperty(n)) {
896 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; buttonOptions = merge(o.buttonOptions, buttons[n]);
897  
898  
899 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Presentational
900 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; attr = buttonOptions.theme;
901 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; attr.style = merge(
902 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; buttonOptions.theme.style,
903 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; buttonOptions.style // #3203
904 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; );
905 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; states = attr.states;
906 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; hoverStates = states && states.hover;
907 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; selectStates = states && states.select;
908  
909  
910 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; button = chart.renderer.button(
911 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; buttonOptions.text,
912 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; 0,
913 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; 0,
914 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; outerHandler,
915 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; attr,
916 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; hoverStates,
917 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; selectStates,
918 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; 0,
919 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; n === 'zoomIn' ? 'topbutton' : 'bottombutton'
920 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; )
921 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; .addClass('highcharts-map-navigation')
922 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; .attr({
923 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; width: buttonOptions.width,
924 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; height: buttonOptions.height,
925 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; title: chart.options.lang[n],
926 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; padding: buttonOptions.padding,
927 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; zIndex: 5
928 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; })
929 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; .add();
930 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; button.handler = buttonOptions.onclick;
931 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; button.align(
932 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; extend(buttonOptions, {
933 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; width: button.width,
934 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; height: 2 * button.height
935 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }),
936 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; null,
937 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; buttonOptions.alignTo
938 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; );
939 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Stop double click event (#4444)
940 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; addEvent(button.element, 'dblclick', stopEvent);
941  
942 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapNavButtons.push(button);
943 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
944 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
945 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
946  
947 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.updateEvents(o);
948 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; };
949  
950 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
951 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Update events, called internally from the update function. Add new event
952 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * handlers, or unbinds events if disabled.
953 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * @param {Object} options Options for map navigation.
954 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
955 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; MapNavigation.prototype.updateEvents = function(options) {
956 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var chart = this.chart;
957  
958 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Add the double click event
959 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (
960 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pick(options.enableDoubleClickZoom, options.enabled) ||
961 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; options.enableDoubleClickZoomTo
962 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ) {
963 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.unbindDblClick = this.unbindDblClick || addEvent(
964 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.container,
965 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; 'dblclick',
966 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; function(e) {
967 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.pointer.onContainerDblClick(e);
968 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
969 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; );
970 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else if (this.unbindDblClick) {
971 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Unbind and set unbinder to undefined
972 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.unbindDblClick = this.unbindDblClick();
973 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
974  
975 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Add the mousewheel event
976 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (pick(options.enableMouseWheelZoom, options.enabled)) {
977 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.unbindMouseWheel = this.unbindMouseWheel || addEvent(
978 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.container,
979 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; doc.onmousewheel === undefined ? 'DOMMouseScroll' : 'mousewheel',
980 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; function(e) {
981 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.pointer.onContainerMouseWheel(e);
982 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Issue #5011, returning false from non-jQuery event does
983 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // not prevent default
984 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; stopEvent(e);
985 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return false;
986 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
987 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; );
988 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else if (this.unbindMouseWheel) {
989 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Unbind and set unbinder to undefined
990 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.unbindMouseWheel = this.unbindMouseWheel();
991 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
992  
993 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; };
994  
995 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Add events to the Chart object itself
996 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; extend(Chart.prototype, {
997  
998 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
999 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Fit an inner box to an outer. If the inner box overflows left or right, align it to the sides of the
1000 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * outer. If it overflows both sides, fit it within the outer. This is a pattern that occurs more places
1001 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * in Highcharts, perhaps it should be elevated to a common utility function.
1002 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1003 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; fitToBox: function(inner, outer) {
1004 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each([
1005 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ['x', 'width'],
1006 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ['y', 'height']
1007 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ], function(dim) {
1008 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var pos = dim[0],
1009 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; size = dim[1];
1010  
1011 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (inner[pos] + inner[size] > outer[pos] + outer[size]) { // right overflow
1012 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (inner[size] > outer[size]) { // the general size is greater, fit fully to outer
1013 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; inner[size] = outer[size];
1014 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; inner[pos] = outer[pos];
1015 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else { // align right
1016 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; inner[pos] = outer[pos] + outer[size] - inner[size];
1017 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1018 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1019 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (inner[size] > outer[size]) {
1020 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; inner[size] = outer[size];
1021 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1022 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (inner[pos] < outer[pos]) {
1023 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; inner[pos] = outer[pos];
1024 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1025 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1026  
1027  
1028 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return inner;
1029 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1030  
1031 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1032 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Zoom the map in or out by a certain amount. Less than 1 zooms in, greater than 1 zooms out.
1033 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1034 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapZoom: function(howMuch, centerXArg, centerYArg, mouseX, mouseY) {
1035 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /*if (this.isMapZooming) {
1036 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.mapZoomQueue = arguments;
1037 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return;
1038 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }*/
1039  
1040 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var chart = this,
1041 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xAxis = chart.xAxis[0],
1042 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xRange = xAxis.max - xAxis.min,
1043 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; centerX = pick(centerXArg, xAxis.min + xRange / 2),
1044 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; newXRange = xRange * howMuch,
1045 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yAxis = chart.yAxis[0],
1046 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yRange = yAxis.max - yAxis.min,
1047 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; centerY = pick(centerYArg, yAxis.min + yRange / 2),
1048 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; newYRange = yRange * howMuch,
1049 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; fixToX = mouseX ? ((mouseX - xAxis.pos) / xAxis.len) : 0.5,
1050 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; fixToY = mouseY ? ((mouseY - yAxis.pos) / yAxis.len) : 0.5,
1051 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; newXMin = centerX - newXRange * fixToX,
1052 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; newYMin = centerY - newYRange * fixToY,
1053 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; newExt = chart.fitToBox({
1054 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; x: newXMin,
1055 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; y: newYMin,
1056 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; width: newXRange,
1057 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; height: newYRange
1058 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }, {
1059 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; x: xAxis.dataMin,
1060 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; y: yAxis.dataMin,
1061 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; width: xAxis.dataMax - xAxis.dataMin,
1062 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; height: yAxis.dataMax - yAxis.dataMin
1063 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }),
1064 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; zoomOut = newExt.x <= xAxis.dataMin &&
1065 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; newExt.width >= xAxis.dataMax - xAxis.dataMin &&
1066 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; newExt.y <= yAxis.dataMin &&
1067 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; newExt.height >= yAxis.dataMax - yAxis.dataMin;
1068  
1069 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // When mousewheel zooming, fix the point under the mouse
1070 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (mouseX) {
1071 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xAxis.fixTo = [mouseX - xAxis.pos, centerXArg];
1072 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1073 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (mouseY) {
1074 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yAxis.fixTo = [mouseY - yAxis.pos, centerYArg];
1075 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1076  
1077 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Zoom
1078 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (howMuch !== undefined && !zoomOut) {
1079 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xAxis.setExtremes(newExt.x, newExt.x + newExt.width, false);
1080 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yAxis.setExtremes(newExt.y, newExt.y + newExt.height, false);
1081  
1082 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Reset zoom
1083 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else {
1084 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xAxis.setExtremes(undefined, undefined, false);
1085 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yAxis.setExtremes(undefined, undefined, false);
1086 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1087  
1088 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Prevent zooming until this one is finished animating
1089 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /*chart.holdMapZoom = true;
1090 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; setTimeout(function () {
1091 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.holdMapZoom = false;
1092 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }, 200);*/
1093 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /*delay = animation ? animation.duration || 500 : 0;
1094 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (delay) {
1095 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.isMapZooming = true;
1096 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; setTimeout(function () {
1097 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.isMapZooming = false;
1098 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (chart.mapZoomQueue) {
1099 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.mapZoom.apply(chart, chart.mapZoomQueue);
1100 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1101 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.mapZoomQueue = null;
1102 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }, delay);
1103 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }*/
1104  
1105 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.redraw();
1106 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1107 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1108  
1109 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1110 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Extend the Chart.render method to add zooming and panning
1111 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1112 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; wrap(Chart.prototype, 'render', function(proceed) {
1113 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Render the plus and minus buttons. Doing this before the shapes makes getBBox much quicker, at least in Chrome.
1114 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.mapNavigation = new MapNavigation(this);
1115 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.mapNavigation.update();
1116  
1117 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; proceed.call(this);
1118 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1119  
1120 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }(Highcharts));
1121 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; (function(H) {
1122 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1123 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * (c) 2010-2017 Torstein Honsi
1124 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; *
1125 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * License: www.highcharts.com/license
1126 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1127 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var extend = H.extend,
1128 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pick = H.pick,
1129 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; Pointer = H.Pointer,
1130 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; wrap = H.wrap;
1131  
1132 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Extend the Pointer
1133 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; extend(Pointer.prototype, {
1134  
1135 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1136 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * The event handler for the doubleclick event
1137 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1138 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; onContainerDblClick: function(e) {
1139 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var chart = this.chart;
1140  
1141 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; e = this.normalize(e);
1142  
1143 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (chart.options.mapNavigation.enableDoubleClickZoomTo) {
1144 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (chart.pointer.inClass(e.target, 'highcharts-tracker') && chart.hoverPoint) {
1145 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.hoverPoint.zoomTo();
1146 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1147 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else if (chart.isInsidePlot(e.chartX - chart.plotLeft, e.chartY - chart.plotTop)) {
1148 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.mapZoom(
1149 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; 0.5,
1150 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.xAxis[0].toValue(e.chartX),
1151 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.yAxis[0].toValue(e.chartY),
1152 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; e.chartX,
1153 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; e.chartY
1154 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; );
1155 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1156 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1157  
1158 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1159 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * The event handler for the mouse scroll event
1160 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1161 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; onContainerMouseWheel: function(e) {
1162 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var chart = this.chart,
1163 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; delta;
1164  
1165 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; e = this.normalize(e);
1166  
1167 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Firefox uses e.detail, WebKit and IE uses wheelDelta
1168 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; delta = e.detail || -(e.wheelDelta / 120);
1169 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (chart.isInsidePlot(e.chartX - chart.plotLeft, e.chartY - chart.plotTop)) {
1170 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.mapZoom(
1171 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; Math.pow(chart.options.mapNavigation.mouseWheelSensitivity, delta),
1172 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.xAxis[0].toValue(e.chartX),
1173 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart.yAxis[0].toValue(e.chartY),
1174 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; e.chartX,
1175 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; e.chartY
1176 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; );
1177 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1178 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1179 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1180  
1181 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // The pinchType is inferred from mapNavigation options.
1182 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; wrap(Pointer.prototype, 'zoomOption', function(proceed) {
1183  
1184  
1185 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var mapNavigation = this.chart.options.mapNavigation;
1186  
1187 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Pinch status
1188 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (pick(mapNavigation.enableTouchZoom, mapNavigation.enabled)) {
1189 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.chart.options.chart.pinchType = 'xy';
1190 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1191  
1192 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; proceed.apply(this, [].slice.call(arguments, 1));
1193  
1194 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1195  
1196 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Extend the pinchTranslate method to preserve fixed ratio when zooming
1197 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; wrap(Pointer.prototype, 'pinchTranslate', function(proceed, pinchDown, touches, transform, selectionMarker, clip, lastValidTouch) {
1198 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var xBigger;
1199 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; proceed.call(this, pinchDown, touches, transform, selectionMarker, clip, lastValidTouch);
1200  
1201 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Keep ratio
1202 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (this.chart.options.chart.type === 'map' && this.hasZoom) {
1203 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xBigger = transform.scaleX > transform.scaleY;
1204 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.pinchTranslateDirection(!xBigger,
1205 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pinchDown,
1206 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; touches,
1207 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; transform,
1208 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; selectionMarker,
1209 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; clip,
1210 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; lastValidTouch,
1211 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xBigger ? transform.scaleX : transform.scaleY
1212 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; );
1213 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1214 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1215  
1216 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }(Highcharts));
1217 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; (function(H) {
1218 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1219 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * (c) 2010-2017 Torstein Honsi
1220 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; *
1221 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * License: www.highcharts.com/license
1222 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1223 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var color = H.color,
1224 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ColorAxis = H.ColorAxis,
1225 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; colorPointMixin = H.colorPointMixin,
1226 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; colorSeriesMixin = H.colorSeriesMixin,
1227 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; doc = H.doc,
1228 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each = H.each,
1229 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; extend = H.extend,
1230 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; isNumber = H.isNumber,
1231 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; LegendSymbolMixin = H.LegendSymbolMixin,
1232 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; map = H.map,
1233 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; merge = H.merge,
1234 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; noop = H.noop,
1235 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pick = H.pick,
1236 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; isArray = H.isArray,
1237 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; Point = H.Point,
1238 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; Series = H.Series,
1239 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; seriesType = H.seriesType,
1240 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; seriesTypes = H.seriesTypes,
1241 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; splat = H.splat;
1242  
1243 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // The vector-effect attribute is not supported in IE <= 11 (at least), so we need
1244 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // diffent logic (#3218)
1245 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var supportsVectorEffect = doc.documentElement.style.vectorEffect !== undefined;
1246  
1247  
1248 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1249 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * The MapAreaPoint object
1250 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1251 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1252 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Add the map series type
1253 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1254 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; seriesType('map', 'scatter', {
1255 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; allAreas: true,
1256  
1257 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; animation: false, // makes the complex shapes slow
1258 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; nullColor: '#f7f7f7',
1259 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; borderColor: '#cccccc',
1260 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; borderWidth: 1,
1261 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; marker: null,
1262 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; stickyTracking: false,
1263 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; joinBy: 'hc-key',
1264 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; dataLabels: {
1265 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; formatter: function() { // #2945
1266 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return this.point.value;
1267 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1268 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; inside: true, // for the color
1269 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; verticalAlign: 'middle',
1270 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; crop: false,
1271 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; overflow: false,
1272 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; padding: 0
1273 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1274 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; turboThreshold: 0,
1275 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; tooltip: {
1276 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; followPointer: true,
1277 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointFormat: '{point.name}: {point.value}<br/>'
1278 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1279 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; states: {
1280 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; normal: {
1281 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; animation: true
1282 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1283 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; hover: {
1284 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; brightness: 0.2,
1285 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; halo: null
1286 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1287 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; select: {
1288 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; color: '#cccccc'
1289 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1290 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1291  
1292 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Prototype members
1293 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }, merge(colorSeriesMixin, {
1294 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; type: 'map',
1295 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; supportsDrilldown: true,
1296 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; getExtremesFromAll: true,
1297 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; useMapGeometry: true, // get axis extremes from paths, not values
1298 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; forceDL: true,
1299 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; searchPoint: noop,
1300 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; directTouch: true, // When tooltip is not shared, this series (and derivatives) requires direct touch/hover. KD-tree does not apply.
1301 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; preserveAspectRatio: true, // X axis and Y axis must have same translation slope
1302 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointArrayMap: ['value'],
1303 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1304 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Get the bounding box of all paths in the map combined.
1305 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1306 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; getBox: function(paths) {
1307 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var MAX_VALUE = Number.MAX_VALUE,
1308 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; maxX = -MAX_VALUE,
1309 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; minX = MAX_VALUE,
1310 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; maxY = -MAX_VALUE,
1311 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; minY = MAX_VALUE,
1312 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; minRange = MAX_VALUE,
1313 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xAxis = this.xAxis,
1314 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yAxis = this.yAxis,
1315 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; hasBox;
1316  
1317 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Find the bounding box
1318 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(paths || [], function(point) {
1319  
1320 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (point.path) {
1321 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (typeof point.path === 'string') {
1322 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.path = H.splitPath(point.path);
1323 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1324  
1325 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var path = point.path || [],
1326 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; i = path.length,
1327 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; even = false, // while loop reads from the end
1328 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointMaxX = -MAX_VALUE,
1329 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointMinX = MAX_VALUE,
1330 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointMaxY = -MAX_VALUE,
1331 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointMinY = MAX_VALUE,
1332 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; properties = point.properties;
1333  
1334 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // The first time a map point is used, analyze its box
1335 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (!point._foundBox) {
1336 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; while (i--) {
1337 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (isNumber(path[i])) {
1338 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (even) { // even = x
1339 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointMaxX = Math.max(pointMaxX, path[i]);
1340 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointMinX = Math.min(pointMinX, path[i]);
1341 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else { // odd = Y
1342 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointMaxY = Math.max(pointMaxY, path[i]);
1343 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointMinY = Math.min(pointMinY, path[i]);
1344 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1345 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; even = !even;
1346 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1347 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1348 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Cache point bounding box for use to position data labels, bubbles etc
1349 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point._midX = pointMinX + (pointMaxX - pointMinX) *
1350 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; (point.middleX || (properties && properties['hc-middle-x']) || 0.5); // pick is slower and very marginally needed
1351 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point._midY = pointMinY + (pointMaxY - pointMinY) *
1352 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; (point.middleY || (properties && properties['hc-middle-y']) || 0.5);
1353 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point._maxX = pointMaxX;
1354 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point._minX = pointMinX;
1355 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point._maxY = pointMaxY;
1356 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point._minY = pointMinY;
1357 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.labelrank = pick(point.labelrank, (pointMaxX - pointMinX) * (pointMaxY - pointMinY));
1358 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point._foundBox = true;
1359 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1360  
1361 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; maxX = Math.max(maxX, point._maxX);
1362 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; minX = Math.min(minX, point._minX);
1363 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; maxY = Math.max(maxY, point._maxY);
1364 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; minY = Math.min(minY, point._minY);
1365 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; minRange = Math.min(point._maxX - point._minX, point._maxY - point._minY, minRange);
1366 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; hasBox = true;
1367 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1368 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1369  
1370 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Set the box for the whole series
1371 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (hasBox) {
1372 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.minY = Math.min(minY, pick(this.minY, MAX_VALUE));
1373 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.maxY = Math.max(maxY, pick(this.maxY, -MAX_VALUE));
1374 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.minX = Math.min(minX, pick(this.minX, MAX_VALUE));
1375 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.maxX = Math.max(maxX, pick(this.maxX, -MAX_VALUE));
1376  
1377 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // If no minRange option is set, set the default minimum zooming range to 5 times the
1378 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // size of the smallest element
1379 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (xAxis && xAxis.options.minRange === undefined) {
1380 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xAxis.minRange = Math.min(5 * minRange, (this.maxX - this.minX) / 5, xAxis.minRange || MAX_VALUE);
1381 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1382 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (yAxis && yAxis.options.minRange === undefined) {
1383 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yAxis.minRange = Math.min(5 * minRange, (this.maxY - this.minY) / 5, yAxis.minRange || MAX_VALUE);
1384 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1385 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1386 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1387  
1388 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; getExtremes: function() {
1389 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Get the actual value extremes for colors
1390 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; Series.prototype.getExtremes.call(this, this.valueData);
1391  
1392 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Recalculate box on updated data
1393 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (this.chart.hasRendered && this.isDirtyData) {
1394 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.getBox(this.options.data);
1395 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1396  
1397 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.valueMin = this.dataMin;
1398 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.valueMax = this.dataMax;
1399  
1400 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Extremes for the mock Y axis
1401 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.dataMin = this.minY;
1402 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.dataMax = this.maxY;
1403 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1404  
1405 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1406 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Translate the path so that it automatically fits into the plot area box
1407 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * @param {Object} path
1408 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1409 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; translatePath: function(path) {
1410  
1411 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var series = this,
1412 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; even = false, // while loop reads from the end
1413 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xAxis = series.xAxis,
1414 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yAxis = series.yAxis,
1415 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xMin = xAxis.min,
1416 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xTransA = xAxis.transA,
1417 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xMinPixelPadding = xAxis.minPixelPadding,
1418 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yMin = yAxis.min,
1419 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yTransA = yAxis.transA,
1420 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yMinPixelPadding = yAxis.minPixelPadding,
1421 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; i,
1422 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ret = []; // Preserve the original
1423  
1424 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Do the translation
1425 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (path) {
1426 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; i = path.length;
1427 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; while (i--) {
1428 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (isNumber(path[i])) {
1429 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ret[i] = even ?
1430 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; (path[i] - xMin) * xTransA + xMinPixelPadding :
1431 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; (path[i] - yMin) * yTransA + yMinPixelPadding;
1432 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; even = !even;
1433 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else {
1434 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ret[i] = path[i];
1435 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1436 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1437 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1438  
1439 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return ret;
1440 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1441  
1442 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1443 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Extend setData to join in mapData. If the allAreas option is true, all areas
1444 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * from the mapData are used, and those that don't correspond to a data value
1445 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * are given null values.
1446 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1447 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; setData: function(data, redraw, animation, updatePoints) {
1448 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var options = this.options,
1449 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chartOptions = this.chart.options.chart,
1450 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; globalMapData = chartOptions && chartOptions.map,
1451 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapData = options.mapData,
1452 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; joinBy = options.joinBy,
1453 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; joinByNull = joinBy === null,
1454 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointArrayMap = options.keys || this.pointArrayMap,
1455 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; dataUsed = [],
1456 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapMap = {},
1457 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapPoint,
1458 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; transform,
1459 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapTransforms = this.chart.mapTransforms,
1460 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; props,
1461 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; i;
1462  
1463 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Collect mapData from chart options if not defined on series
1464 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (!mapData && globalMapData) {
1465 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapData = typeof globalMapData === 'string' ? H.maps[globalMapData] : globalMapData;
1466 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1467  
1468 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (joinByNull) {
1469 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; joinBy = '_i';
1470 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1471 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; joinBy = this.joinBy = splat(joinBy);
1472 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (!joinBy[1]) {
1473 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; joinBy[1] = joinBy[0];
1474 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1475  
1476 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Pick up numeric values, add index
1477 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Convert Array point definitions to objects using pointArrayMap
1478 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (data) {
1479 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(data, function(val, i) {
1480 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var ix = 0;
1481 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (isNumber(val)) {
1482 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; data[i] = {
1483 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; value: val
1484 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; };
1485 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else if (isArray(val)) {
1486 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; data[i] = {};
1487 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Automatically copy first item to hc-key if there is an extra leading string
1488 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (!options.keys && val.length > pointArrayMap.length && typeof val[0] === 'string') {
1489 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; data[i]['hc-key'] = val[0];
1490 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; ++ix;
1491 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1492 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Run through pointArrayMap and what's left of the point data array in parallel, copying over the values
1493 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; for (var j = 0; j < pointArrayMap.length; ++j, ++ix) {
1494 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (pointArrayMap[j]) {
1495 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; data[i][pointArrayMap[j]] = val[ix];
1496 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1497 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1498 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1499 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (joinByNull) {
1500 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; data[i]._i = i;
1501 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1502 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1503 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1504  
1505 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.getBox(data);
1506  
1507 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Pick up transform definitions for chart
1508 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.chart.mapTransforms = mapTransforms = chartOptions && chartOptions.mapTransforms || mapData && mapData['hc-transform'] || mapTransforms;
1509  
1510 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Cache cos/sin of transform rotation angle
1511 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (mapTransforms) {
1512 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; for (transform in mapTransforms) {
1513 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (mapTransforms.hasOwnProperty(transform) && transform.rotation) {
1514 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; transform.cosAngle = Math.cos(transform.rotation);
1515 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; transform.sinAngle = Math.sin(transform.rotation);
1516 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1517 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1518 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1519  
1520 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (mapData) {
1521 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (mapData.type === 'FeatureCollection') {
1522 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.mapTitle = mapData.title;
1523 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapData = H.geojson(mapData, this.type, this);
1524 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1525  
1526 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.mapData = mapData;
1527 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.mapMap = {};
1528  
1529 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; for (i = 0; i < mapData.length; i++) {
1530 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapPoint = mapData[i];
1531 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; props = mapPoint.properties;
1532  
1533 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapPoint._i = i;
1534 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Copy the property over to root for faster access
1535 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (joinBy[0] && props && props[joinBy[0]]) {
1536 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapPoint[joinBy[0]] = props[joinBy[0]];
1537 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1538 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; mapMap[mapPoint[joinBy[0]]] = mapPoint;
1539 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1540 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.mapMap = mapMap;
1541  
1542 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Registered the point codes that actually hold data
1543 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (data && joinBy[1]) {
1544 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(data, function(point) {
1545 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (mapMap[point[joinBy[1]]]) {
1546 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; dataUsed.push(mapMap[point[joinBy[1]]]);
1547 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1548 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1549 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1550  
1551 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (options.allAreas) {
1552 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.getBox(mapData);
1553 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; data = data || [];
1554  
1555 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Registered the point codes that actually hold data
1556 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (joinBy[1]) {
1557 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(data, function(point) {
1558 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; dataUsed.push(point[joinBy[1]]);
1559 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1560 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1561  
1562 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Add those map points that don't correspond to data, which will be drawn as null points
1563 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; dataUsed = '|' + map(dataUsed, function(point) {
1564 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return point && point[joinBy[0]];
1565 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }).join('|') + '|'; // String search is faster than array.indexOf
1566  
1567 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(mapData, function(mapPoint) {
1568 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (!joinBy[0] || dataUsed.indexOf('|' + mapPoint[joinBy[0]] + '|') === -1) {
1569 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; data.push(merge(mapPoint, {
1570 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; value: null
1571 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }));
1572 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; updatePoints = false; // #5050 - adding all areas causes the update optimization of setData to kick in, even though the point order has changed
1573 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1574 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1575 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else {
1576 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.getBox(dataUsed); // Issue #4784
1577 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1578 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1579 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; Series.prototype.setData.call(this, data, redraw, animation, updatePoints);
1580 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1581  
1582  
1583 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1584 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * No graph for the map series
1585 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1586 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; drawGraph: noop,
1587  
1588 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1589 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * We need the points' bounding boxes in order to draw the data labels, so
1590 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * we skip it now and call it from drawPoints instead.
1591 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1592 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; drawDataLabels: noop,
1593  
1594 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1595 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Allow a quick redraw by just translating the area group. Used for zooming and panning
1596 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * in capable browsers.
1597 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1598 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; doFullTranslate: function() {
1599 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return this.isDirtyData || this.chart.isResizing || this.chart.renderer.isVML || !this.baseTrans;
1600 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1601  
1602 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1603 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Add the path option for data points. Find the max value for color calculation.
1604 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1605 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; translate: function() {
1606 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var series = this,
1607 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xAxis = series.xAxis,
1608 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yAxis = series.yAxis,
1609 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; doFullTranslate = series.doFullTranslate();
1610  
1611 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; series.generatePoints();
1612  
1613 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(series.data, function(point) {
1614  
1615 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Record the middle point (loosely based on centroid), determined
1616 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // by the middleX and middleY options.
1617 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.plotX = xAxis.toPixels(point._midX, true);
1618 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.plotY = yAxis.toPixels(point._midY, true);
1619  
1620 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (doFullTranslate) {
1621  
1622 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.shapeType = 'path';
1623 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.shapeArgs = {
1624 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; d: series.translatePath(point.path)
1625 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; };
1626 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1627 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1628  
1629 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; series.translateColors();
1630 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1631  
1632 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1633 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Get presentational attributes. In the maps series this runs in both
1634 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * styled and non-styled mode, because colors hold data when a colorAxis
1635 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * is used.
1636 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1637 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; pointAttribs: function(point, state) {
1638 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var attr;
1639  
1640 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; attr = seriesTypes.column.prototype.pointAttribs.call(
1641 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this, point, state
1642 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; );
1643  
1644  
1645 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Prevent flickering whan called from setState
1646 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (point.isFading) {
1647 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; delete attr.fill;
1648 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1649  
1650 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // If vector-effect is not supported, we set the stroke-width on the group element
1651 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // and let all point graphics inherit. That way we don't have to iterate over all
1652 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // points to update the stroke-width on zooming. TODO: Check unstyled
1653 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (supportsVectorEffect) {
1654 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; attr['vector-effect'] = 'non-scaling-stroke';
1655 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else {
1656 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; attr['stroke-width'] = 'inherit';
1657 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1658  
1659 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; return attr;
1660 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; },
1661  
1662 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; /**
1663 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Use the drawPoints method of column, that is able to handle simple shapeArgs.
1664 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; * Extend it by assigning the tooltip position.
1665 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; */
1666 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; drawPoints: function() {
1667 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; var series = this,
1668 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; xAxis = series.xAxis,
1669 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; yAxis = series.yAxis,
1670 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; group = series.group,
1671 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; chart = series.chart,
1672 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; renderer = chart.renderer,
1673 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; scaleX,
1674 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; scaleY,
1675 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; translateX,
1676 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; translateY,
1677 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; baseTrans = this.baseTrans,
1678 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; transformGroup,
1679 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; startTranslateX,
1680 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; startTranslateY,
1681 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; startScaleX,
1682 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; startScaleY;
1683  
1684 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Set a group that handles transform during zooming and panning in order to preserve clipping
1685 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // on series.group
1686 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (!series.transformGroup) {
1687 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; series.transformGroup = renderer.g()
1688 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; .attr({
1689 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; scaleX: 1,
1690 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; scaleY: 1
1691 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; })
1692 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; .add(group);
1693 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; series.transformGroup.survive = true;
1694 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1695  
1696 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Draw the shapes again
1697 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (series.doFullTranslate()) {
1698  
1699 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Individual point actions. TODO: Check unstyled.
1700  
1701 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (chart.hasRendered) {
1702 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(series.points, function(point) {
1703  
1704 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Restore state color on update/redraw (#3529)
1705 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (point.shapeArgs) {
1706 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.shapeArgs.fill = series.pointAttribs(point, point.state).fill;
1707 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1708 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1709 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1710  
1711  
1712 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Draw them in transformGroup
1713 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; series.group = series.transformGroup;
1714 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; seriesTypes.column.prototype.drawPoints.apply(series);
1715 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; series.group = group; // Reset
1716  
1717 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Add class names
1718 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; each(series.points, function(point) {
1719 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (point.graphic) {
1720 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (point.name) {
1721 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.graphic.addClass('highcharts-name-' + point.name.replace(/ /g, '-').toLowerCase());
1722 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1723 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (point.properties && point.properties['hc-key']) {
1724 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; point.graphic.addClass('highcharts-key-' + point.properties['hc-key'].toLowerCase());
1725 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1726  
1727  
1728 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; }
1729 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1730  
1731 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Set the base for later scale-zooming. The originX and originY properties are the
1732 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // axis values in the plot area's upper left corner.
1733 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.baseTrans = {
1734 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; originX: xAxis.min - xAxis.minPixelPadding / xAxis.transA,
1735 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; originY: yAxis.min - yAxis.minPixelPadding / yAxis.transA + (yAxis.reversed ? 0 : yAxis.len / yAxis.transA),
1736 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; transAX: xAxis.transA,
1737 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; transAY: yAxis.transA
1738 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; };
1739  
1740 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Reset transformation in case we're doing a full translate (#3789)
1741 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; this.transformGroup.animate({
1742 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; translateX: 0,
1743 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; translateY: 0,
1744 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; scaleX: 1,
1745 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; scaleY: 1
1746 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; });
1747  
1748 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Just update the scale and transform for better performance
1749 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; } else {
1750 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; scaleX = xAxis.transA / baseTrans.transAX;
1751 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; scaleY = yAxis.transA / baseTrans.transAY;
1752 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; translateX = xAxis.toPixels(baseTrans.originX, true);
1753 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; translateY = yAxis.toPixels(baseTrans.originY, true);
1754  
1755 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; // Handle rounding errors in normal view (#3789)
1756 < 1 ? this : xAxis;<= to)) {< axisPos) {< '; if (scaleX > 0.99 && scaleX < 1.01 && scaleY > 0.99 && scaleY < 1.01) {
1757 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleX = 1;
1758 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleY = 1;
1759 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateX = Math.round(translateX);
1760 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateY = Math.round(translateY);
1761 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1762  
1763 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Animate or move to the new zoom level. In order to prevent
1764 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // flickering as the different transform components are set out of
1765 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // sync (#5991), we run a fake animator attribute and set scale and
1766 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // translation synchronously in the same step.
1767 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // A possible improvement to the API would be to handle this in the
1768 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // renderer or animation engine itself, to ensure that when we are
1769 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // animating multiple properties, we make sure that each step for
1770 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // each property is performed in the same step. Also, for symbols
1771 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // and for transform properties, it should induce a single
1772 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // updateTransform and symbolAttr call.
1773 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { transformGroup = this.transformGroup;
1774 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (chart.renderer.globalAnimation) {
1775 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { startTranslateX = transformGroup.attr('translateX');
1776 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { startTranslateY = transformGroup.attr('translateY');
1777 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { startScaleX = transformGroup.attr('scaleX');
1778 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { startScaleY = transformGroup.attr('scaleY');
1779 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { transformGroup
1780 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { .attr({
1781 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animator: 0
1782 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { })
1783 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { .animate({
1784 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animator: 1
1785 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, {
1786 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { step: function(now, fx) {
1787 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { transformGroup.attr({
1788 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateX: startTranslateX +
1789 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (translateX - startTranslateX) * fx.pos,
1790 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateY: startTranslateY +
1791 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (translateY - startTranslateY) * fx.pos,
1792 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleX: startScaleX +
1793 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (scaleX - startScaleX) * fx.pos,
1794 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleY: startScaleY +
1795 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (scaleY - startScaleY) * fx.pos
1796 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
1797  
1798 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1799 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
1800  
1801 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // When dragging, animation is off.
1802 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } else {
1803 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { transformGroup.attr({
1804 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateX: translateX,
1805 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateY: translateY,
1806 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleX: scaleX,
1807 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleY: scaleY
1808 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
1809 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1810  
1811 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1812  
1813 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Set the stroke-width directly on the group element so the children inherit it. We need to use
1814 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // setAttribute directly, because the stroke-widthSetter method expects a stroke color also to be
1815 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // set.
1816 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (!supportsVectorEffect) {
1817 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.group.element.setAttribute(
1818 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { 'stroke-width',
1819 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.options[
1820 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (series.pointAttrToOptions && series.pointAttrToOptions['stroke-width']) || 'borderWidth'
1821 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { ] / (scaleX || 1)
1822 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { );
1823 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1824  
1825 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.drawMapDataLabels();
1826  
1827  
1828 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
1829  
1830 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
1831 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Draw the data labels. Special for maps is the time that the data labels are drawn (after points),
1832 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * and the clipping of the dataLabelsGroup.
1833 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
1834 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { drawMapDataLabels: function() {
1835  
1836 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Series.prototype.drawDataLabels.call(this);
1837 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (this.dataLabelsGroup) {
1838 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.dataLabelsGroup.clip(this.chart.clipRect);
1839 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1840 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
1841  
1842 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
1843 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Override render to throw in an async call in IE8. Otherwise it chokes on the US counties demo.
1844 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
1845 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { render: function() {
1846 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var series = this,
1847 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { render = Series.prototype.render;
1848  
1849 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Give IE8 some time to breathe.
1850 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (series.chart.renderer.isVML && series.data.length > 3000) {
1851 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { setTimeout(function() {
1852 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { render.call(series);
1853 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
1854 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } else {
1855 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { render.call(series);
1856 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1857 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
1858  
1859 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
1860 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * The initial animation for the map series. By default, animation is disabled.
1861 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Animation of map shapes is not at all supported in VML browsers.
1862 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
1863 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animate: function(init) {
1864 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var chart = this.chart,
1865 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animation = this.options.animation,
1866 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { group = this.group,
1867 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { xAxis = this.xAxis,
1868 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { yAxis = this.yAxis,
1869 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { left = xAxis.pos,
1870 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { top = yAxis.pos;
1871  
1872 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (chart.renderer.isSVG) {
1873  
1874 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (animation === true) {
1875 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animation = {
1876 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { duration: 1000
1877 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
1878 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1879  
1880 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Initialize the animation
1881 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (init) {
1882  
1883 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Scale down the group and place it in the center
1884 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { group.attr({
1885 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateX: left + xAxis.len / 2,
1886 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateY: top + yAxis.len / 2,
1887 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleX: 0.001, // #1499
1888 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleY: 0.001
1889 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
1890  
1891 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Run the animation
1892 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } else {
1893 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { group.animate({
1894 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateX: left,
1895 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateY: top,
1896 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleX: 1,
1897 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleY: 1
1898 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, animation);
1899  
1900 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Delete this function to allow it only once
1901 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.animate = null;
1902 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1903 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1904 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
1905  
1906 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
1907 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Animate in the new series from the clicked point in the old series.
1908 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Depends on the drilldown.js module
1909 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
1910 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animateDrilldown: function(init) {
1911 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var toBox = this.chart.plotBox,
1912 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { level = this.chart.drilldownLevels[this.chart.drilldownLevels.length - 1],
1913 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { fromBox = level.bBox,
1914 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animationOptions = this.chart.options.drilldown.animation,
1915 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scale;
1916  
1917 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (!init) {
1918  
1919 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scale = Math.min(fromBox.width / toBox.width, fromBox.height / toBox.height);
1920 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { level.shapeArgs = {
1921 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleX: scale,
1922 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleY: scale,
1923 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateX: fromBox.x,
1924 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateY: fromBox.y
1925 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
1926  
1927 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each(this.points, function(point) {
1928 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (point.graphic) {
1929 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.graphic
1930 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { .attr(level.shapeArgs)
1931 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { .animate({
1932 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleX: 1,
1933 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { scaleY: 1,
1934 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateX: 0,
1935 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translateY: 0
1936 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, animationOptions);
1937 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1938 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
1939  
1940 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.animate = null;
1941 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1942  
1943 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
1944  
1945 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { drawLegendSymbol: LegendSymbolMixin.drawRectangle,
1946  
1947 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
1948 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * When drilling up, pull out the individual point graphics from the lower series
1949 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * and animate them into the origin point in the upper series.
1950 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
1951 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animateDrillupFrom: function(level) {
1952 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesTypes.column.prototype.animateDrillupFrom.call(this, level);
1953 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
1954  
1955  
1956 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
1957 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * When drilling up, keep the upper series invisible until the lower series has
1958 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * moved into place
1959 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
1960 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animateDrillupTo: function(init) {
1961 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesTypes.column.prototype.animateDrillupTo.call(this, init);
1962 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1963  
1964 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Point class
1965 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }), extend({
1966 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
1967 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Extend the Point object to split paths
1968 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
1969 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { applyOptions: function(options, x) {
1970  
1971 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var point = Point.prototype.applyOptions.call(this, options, x),
1972 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series = this.series,
1973 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { joinBy = series.joinBy,
1974 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { mapPoint;
1975  
1976 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (series.mapData) {
1977 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { mapPoint = point[joinBy[1]] !== undefined && series.mapMap[point[joinBy[1]]];
1978 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (mapPoint) {
1979 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // This applies only to bubbles
1980 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (series.xyFromShape) {
1981 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.x = mapPoint._midX;
1982 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.y = mapPoint._midY;
1983 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1984 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { extend(point, mapPoint); // copy over properties
1985 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } else {
1986 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.value = point.value || null;
1987 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1988 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
1989  
1990 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return point;
1991 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
1992  
1993 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
1994 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Stop the fade-out
1995 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
1996 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { onMouseOver: function(e) {
1997 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { clearTimeout(this.colorInterval);
1998 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (this.value !== null) {
1999 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Point.prototype.onMouseOver.call(this, e);
2000 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } else { //#3401 Tooltip doesn't hide when hovering over null points
2001 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.series.onMouseOut(e);
2002 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2003 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2004  
2005 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Todo: check unstyled
2006 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2007 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Custom animation for tweening out the colors. Animation reduces blinking when hovering
2008 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * over islands and coast lines. We run a custom implementation of animation becuase we
2009 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * need to be able to run this independently from other animations like zoom redraw. Also,
2010 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * adding color animation to the adapters would introduce almost the same amount of code.
2011 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2012 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { onMouseOut: function() {
2013 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var point = this,
2014 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { start = +new Date(),
2015 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { normalColor = color(this.series.pointAttribs(point).fill),
2016 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { hoverColor = color(this.series.pointAttribs(point, 'hover').fill),
2017 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animation = point.series.options.states.normal.animation,
2018 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { duration = animation && (animation.duration || 500);
2019  
2020 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (duration && normalColor.rgba.length === 4 && hoverColor.rgba.length === 4 && point.state !== 'select') {
2021 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { clearTimeout(point.colorInterval);
2022 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.colorInterval = setInterval(function() {
2023 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var pos = (new Date() - start) / duration,
2024 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { graphic = point.graphic;
2025 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (pos > 1) {
2026 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pos = 1;
2027 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2028 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (graphic) {
2029 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { graphic.attr('fill', ColorAxis.prototype.tweenColors.call(0, hoverColor, normalColor, pos));
2030 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2031 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (pos >= 1) {
2032 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { clearTimeout(point.colorInterval);
2033 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2034 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, 13);
2035 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.isFading = true;
2036 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2037 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Point.prototype.onMouseOut.call(point);
2038 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.isFading = null;
2039 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2040  
2041  
2042 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2043 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Zoom the chart to view a specific area point
2044 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2045 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zoomTo: function() {
2046 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var point = this,
2047 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series = point.series;
2048  
2049 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.xAxis.setExtremes(
2050 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point._minX,
2051 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point._maxX,
2052 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { false
2053 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { );
2054 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.yAxis.setExtremes(
2055 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point._minY,
2056 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point._maxY,
2057 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { false
2058 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { );
2059 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.chart.redraw();
2060 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2061 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, colorPointMixin));
2062  
2063 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }(Highcharts));
2064 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (function(H) {
2065 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2066 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * (c) 2010-2017 Torstein Honsi
2067 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { *
2068 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * License: www.highcharts.com/license
2069 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2070 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var seriesType = H.seriesType,
2071 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesTypes = H.seriesTypes;
2072  
2073 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // The mapline series type
2074 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesType('mapline', 'map', {
2075  
2076 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { lineWidth: 1,
2077 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { fillColor: 'none'
2078  
2079 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, {
2080 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { type: 'mapline',
2081 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { colorProp: 'stroke',
2082  
2083 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointAttrToOptions: {
2084 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { 'stroke': 'color',
2085 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { 'stroke-width': 'lineWidth'
2086 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2087 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2088 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Get presentational attributes
2089 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2090 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointAttribs: function(point, state) {
2091 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var attr = seriesTypes.map.prototype.pointAttribs.call(this, point, state);
2092  
2093 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // The difference from a map series is that the stroke takes the point color
2094 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { attr.fill = this.options.fillColor;
2095  
2096 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return attr;
2097 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2098  
2099 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { drawLegendSymbol: seriesTypes.line.prototype.drawLegendSymbol
2100 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2101  
2102 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }(Highcharts));
2103 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (function(H) {
2104 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2105 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * (c) 2010-2017 Torstein Honsi
2106 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { *
2107 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * License: www.highcharts.com/license
2108 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2109 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var merge = H.merge,
2110 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Point = H.Point,
2111 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesType = H.seriesType;
2112  
2113 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // The mappoint series type
2114 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesType('mappoint', 'scatter', {
2115 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { dataLabels: {
2116 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { enabled: true,
2117 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { formatter: function() { // #2945
2118 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return this.point.name;
2119 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2120 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { crop: false,
2121 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { defer: false,
2122 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { overflow: false,
2123 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { style: {
2124 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { color: '#000000'
2125 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2126 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2127  
2128 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Prototype members
2129 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, {
2130 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { type: 'mappoint',
2131 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { forceDL: true
2132  
2133 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Point class
2134 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, {
2135 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { applyOptions: function(options, x) {
2136 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var mergedOptions = options.lat !== undefined && options.lon !== undefined ? merge(options, this.series.chart.fromLatLonToPoint(options)) : options;
2137 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return Point.prototype.applyOptions.call(this, mergedOptions, x);
2138 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2139 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2140  
2141 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }(Highcharts));
2142 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (function(H) {
2143 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2144 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * (c) 2010-2017 Torstein Honsi
2145 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { *
2146 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * License: www.highcharts.com/license
2147 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2148 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var arrayMax = H.arrayMax,
2149 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { arrayMin = H.arrayMin,
2150 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Axis = H.Axis,
2151 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { color = H.color,
2152 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each = H.each,
2153 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { isNumber = H.isNumber,
2154 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { noop = H.noop,
2155 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pick = H.pick,
2156 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pInt = H.pInt,
2157 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Point = H.Point,
2158 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Series = H.Series,
2159 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesType = H.seriesType,
2160 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesTypes = H.seriesTypes;
2161  
2162 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /* ****************************************************************************
2163 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Start Bubble series code *
2164 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { *****************************************************************************/
2165  
2166 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesType('bubble', 'scatter', {
2167 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { dataLabels: {
2168 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { formatter: function() { // #2945
2169 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return this.point.z;
2170 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2171 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { inside: true,
2172 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { verticalAlign: 'middle'
2173 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2174 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // displayNegative: true,
2175 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { marker: {
2176  
2177 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // fillOpacity: 0.5,
2178 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { lineColor: null, // inherit from series.color
2179 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { lineWidth: 1,
2180  
2181 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Avoid offset in Point.setState
2182 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius: null,
2183 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { states: {
2184 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { hover: {
2185 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radiusPlus: 0
2186 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2187 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2188 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { symbol: 'circle'
2189 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2190 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { minSize: 8,
2191 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { maxSize: '20%',
2192 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // negativeColor: null,
2193 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // sizeBy: 'area'
2194 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { softThreshold: false,
2195 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { states: {
2196 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { hover: {
2197 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { halo: {
2198 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { size: 5
2199 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2200 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2201 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2202 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { tooltip: {
2203 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointFormat: '({point.x}, {point.y}), Size: {point.z}'
2204 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2205 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { turboThreshold: 0,
2206 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zThreshold: 0,
2207 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zoneAxis: 'z'
2208  
2209 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Prototype members
2210 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, {
2211 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointArrayMap: ['y', 'z'],
2212 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { parallelArrays: ['x', 'y', 'z'],
2213 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { trackerGroups: ['markerGroup', 'dataLabelsGroup'],
2214 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { bubblePadding: true,
2215 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zoneAxis: 'z',
2216 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { directTouch: true,
2217  
2218  
2219 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointAttribs: function(point, state) {
2220 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var markerOptions = this.options.marker,
2221 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { fillOpacity = pick(markerOptions.fillOpacity, 0.5),
2222 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { attr = Series.prototype.pointAttribs.call(this, point, state);
2223  
2224 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (fillOpacity !== 1) {
2225 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { attr.fill = color(attr.fill).setOpacity(fillOpacity).get('rgba');
2226 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2227  
2228 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return attr;
2229 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2230  
2231  
2232 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2233 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Get the radius for each point based on the minSize, maxSize and each point's Z value. This
2234 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * must be done prior to Series.translate because the axis needs to add padding in
2235 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * accordance with the point sizes.
2236 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2237 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { getRadii: function(zMin, zMax, minSize, maxSize) {
2238 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var len,
2239 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { i,
2240 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pos,
2241 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zData = this.zData,
2242 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radii = [],
2243 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { options = this.options,
2244 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { sizeByArea = options.sizeBy !== 'width',
2245 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zThreshold = options.zThreshold,
2246 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zRange = zMax - zMin,
2247 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { value,
2248 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius;
2249  
2250 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Set the shape type and arguments to be picked up in drawPoints
2251 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { for (i = 0, len = zData.length; i < len; i++) {
2252  
2253 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { value = zData[i];
2254  
2255 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // When sizing by threshold, the absolute value of z determines the size
2256 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // of the bubble.
2257 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (options.sizeByAbsoluteValue && value !== null) {
2258 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { value = Math.abs(value - zThreshold);
2259 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zMax = Math.max(zMax - zThreshold, Math.abs(zMin - zThreshold));
2260 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zMin = 0;
2261 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2262  
2263 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (value === null) {
2264 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius = null;
2265 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Issue #4419 - if value is less than zMin, push a radius that's always smaller than the minimum size
2266 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } else if (value < zMin) {
2267 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius = minSize / 2 - 1;
2268 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } else {
2269 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Relative size, a number between 0 and 1
2270 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pos = zRange > 0 ? (value - zMin) / zRange : 0.5;
2271  
2272 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (sizeByArea && pos >= 0) {
2273 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pos = Math.sqrt(pos);
2274 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2275 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius = Math.ceil(minSize + pos * (maxSize - minSize)) / 2;
2276 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2277 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radii.push(radius);
2278 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2279 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.radii = radii;
2280 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2281  
2282 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2283 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Perform animation on the bubbles
2284 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2285 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animate: function(init) {
2286 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var animation = this.options.animation;
2287  
2288 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (!init) { // run the animation
2289 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each(this.points, function(point) {
2290 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var graphic = point.graphic,
2291 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animationTarget;
2292  
2293 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (graphic && graphic.width) { // URL symbols don't have width
2294 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animationTarget = {
2295 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: graphic.x,
2296 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: graphic.y,
2297 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { width: graphic.width,
2298 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { height: graphic.height
2299 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2300  
2301 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Start values
2302 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { graphic.attr({
2303 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: point.plotX,
2304 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: point.plotY,
2305 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { width: 1,
2306 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { height: 1
2307 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2308  
2309 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Run animation
2310 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { graphic.animate(animationTarget, animation);
2311 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2312 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2313  
2314 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // delete this function to allow it only once
2315 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.animate = null;
2316 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2317 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2318  
2319 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2320 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Extend the base translate method to handle bubble size
2321 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2322 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translate: function() {
2323  
2324 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var i,
2325 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { data = this.data,
2326 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point,
2327 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius,
2328 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radii = this.radii;
2329  
2330 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Run the parent method
2331 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesTypes.scatter.prototype.translate.call(this);
2332  
2333 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Set the shape type and arguments to be picked up in drawPoints
2334 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { i = data.length;
2335  
2336 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { while (i--) {
2337 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point = data[i];
2338 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius = radii ? radii[i] : 0; // #1737
2339  
2340 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (isNumber(radius) && radius >= this.minPxSize / 2) {
2341 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Shape arguments
2342 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.marker = H.extend(point.marker, {
2343 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius: radius,
2344 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { width: 2 * radius,
2345 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { height: 2 * radius
2346 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2347  
2348 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Alignment box for the data label
2349 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.dlBox = {
2350 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: point.plotX - radius,
2351 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: point.plotY - radius,
2352 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { width: 2 * radius,
2353 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { height: 2 * radius
2354 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2355 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } else { // below zThreshold
2356 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.shapeArgs = point.plotY = point.dlBox = undefined; // #1691
2357 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2358 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2359 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2360  
2361 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { alignDataLabel: seriesTypes.column.prototype.alignDataLabel,
2362 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { buildKDTree: noop,
2363 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { applyZones: noop
2364  
2365 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Point class
2366 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, {
2367 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { haloPath: function(size) {
2368 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return Point.prototype.haloPath.call(
2369 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this,
2370 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { size === 0 ? 0 : (this.marker ? this.marker.radius || 0 : 0) + size // #6067
2371 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { );
2372 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2373 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { ttBelow: false
2374 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2375  
2376 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2377 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Add logic to pad each axis with the amount of pixels
2378 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * necessary to avoid the bubbles to overflow.
2379 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2380 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Axis.prototype.beforePadding = function() {
2381 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var axis = this,
2382 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { axisLength = this.len,
2383 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { chart = this.chart,
2384 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pxMin = 0,
2385 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pxMax = axisLength,
2386 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { isXAxis = this.isXAxis,
2387 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { dataKey = isXAxis ? 'xData' : 'yData',
2388 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { min = this.min,
2389 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { extremes = {},
2390 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { smallestSize = Math.min(chart.plotWidth, chart.plotHeight),
2391 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zMin = Number.MAX_VALUE,
2392 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zMax = -Number.MAX_VALUE,
2393 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { range = this.max - min,
2394 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { transA = axisLength / range,
2395 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { activeSeries = [];
2396  
2397 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Handle padding on the second pass, or on redraw
2398 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each(this.series, function(series) {
2399  
2400 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var seriesOptions = series.options,
2401 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zData;
2402  
2403 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (series.bubblePadding && (series.visible || !chart.options.chart.ignoreHiddenSeries)) {
2404  
2405 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Correction for #1673
2406 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { axis.allowZoomOutside = true;
2407  
2408 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Cache it
2409 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { activeSeries.push(series);
2410  
2411 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (isXAxis) { // because X axis is evaluated first
2412  
2413 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // For each series, translate the size extremes to pixel values
2414 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each(['minSize', 'maxSize'], function(prop) {
2415 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var length = seriesOptions[prop],
2416 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { isPercent = /%$/.test(length);
2417  
2418 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { length = pInt(length);
2419 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { extremes[prop] = isPercent ?
2420 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { smallestSize * length / 100 :
2421 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { length;
2422  
2423 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2424 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.minPxSize = extremes.minSize;
2425 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Prioritize min size if conflict to make sure bubbles are
2426 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // always visible. #5873
2427 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.maxPxSize = Math.max(extremes.maxSize, extremes.minSize);
2428  
2429 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Find the min and max Z
2430 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zData = series.zData;
2431 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (zData.length) { // #1735
2432 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zMin = pick(seriesOptions.zMin, Math.min(
2433 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zMin,
2434 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Math.max(
2435 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { arrayMin(zData),
2436 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesOptions.displayNegative === false ? seriesOptions.zThreshold : -Number.MAX_VALUE
2437 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { )
2438 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { ));
2439 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { zMax = pick(seriesOptions.zMax, Math.max(zMax, arrayMax(zData)));
2440 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2441 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2442 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2443 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2444  
2445 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each(activeSeries, function(series) {
2446  
2447 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var data = series[dataKey],
2448 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { i = data.length,
2449 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius;
2450  
2451 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (isXAxis) {
2452 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.getRadii(zMin, zMax, series.minPxSize, series.maxPxSize);
2453 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2454  
2455 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (range > 0) {
2456 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { while (i--) {
2457 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (isNumber(data[i]) && axis.dataMin <= data[i] && data[i] <= axis.dataMax) {
2458 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { radius = series.radii[i];
2459 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pxMin = Math.min(((data[i] - min) * transA) - radius, pxMin);
2460 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pxMax = Math.max(((data[i] - min) * transA) + radius, pxMax);
2461 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2462 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2463 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2464 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2465  
2466 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (activeSeries.length && range > 0 && !this.isLog) {
2467 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pxMax -= axisLength;
2468 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { transA *= (axisLength + pxMin - pxMax) / axisLength;
2469 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each([
2470 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { ['min', 'userMin', pxMin],
2471 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { ['max', 'userMax', pxMax]
2472 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { ], function(keys) {
2473 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (pick(axis.options[keys[0]], axis[keys[1]]) === undefined) {
2474 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { axis[keys[0]] += keys[2] / transA;
2475 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2476 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2477 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2478 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2479  
2480 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /* ****************************************************************************
2481 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * End Bubble series code *
2482 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { *****************************************************************************/
2483  
2484 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }(Highcharts));
2485 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (function(H) {
2486 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2487 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * (c) 2010-2017 Torstein Honsi
2488 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { *
2489 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * License: www.highcharts.com/license
2490 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2491 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var merge = H.merge,
2492 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Point = H.Point,
2493 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesType = H.seriesType,
2494 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesTypes = H.seriesTypes;
2495  
2496 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // The mapbubble series type
2497 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (seriesTypes.bubble) {
2498  
2499 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesType('mapbubble', 'bubble', {
2500 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animationLimit: 500,
2501 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { tooltip: {
2502 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointFormat: '{point.name}: {point.z}'
2503 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2504  
2505 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Prototype members
2506 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, {
2507 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { xyFromShape: true,
2508 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { type: 'mapbubble',
2509 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointArrayMap: ['z'], // If one single value is passed, it is interpreted as z
2510 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2511 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Return the map area identified by the dataJoinBy option
2512 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2513 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { getMapData: seriesTypes.map.prototype.getMapData,
2514 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { getBox: seriesTypes.map.prototype.getBox,
2515 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { setData: seriesTypes.map.prototype.setData
2516  
2517 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Point class
2518 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, {
2519 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { applyOptions: function(options, x) {
2520 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var point;
2521 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (options && options.lat !== undefined && options.lon !== undefined) {
2522 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point = Point.prototype.applyOptions.call(
2523 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this,
2524 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { merge(options, this.series.chart.fromLatLonToPoint(options)),
2525 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x
2526 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { );
2527 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } else {
2528 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point = seriesTypes.map.prototype.pointClass.prototype.applyOptions.call(this, options, x);
2529 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2530 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return point;
2531 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2532 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { ttBelow: false
2533 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2534 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2535  
2536 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }(Highcharts));
2537 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (function(H) {
2538 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2539 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * (c) 2010-2017 Torstein Honsi
2540 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { *
2541 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * License: www.highcharts.com/license
2542 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2543 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var colorPointMixin = H.colorPointMixin,
2544 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { colorSeriesMixin = H.colorSeriesMixin,
2545 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each = H.each,
2546 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { LegendSymbolMixin = H.LegendSymbolMixin,
2547 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { merge = H.merge,
2548 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { noop = H.noop,
2549 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pick = H.pick,
2550 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Series = H.Series,
2551 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesType = H.seriesType,
2552 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesTypes = H.seriesTypes;
2553  
2554 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // The Heatmap series type
2555 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesType('heatmap', 'scatter', {
2556 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animation: false,
2557 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { borderWidth: 0,
2558  
2559 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { nullColor: '#f7f7f7',
2560  
2561 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { dataLabels: {
2562 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { formatter: function() { // #2945
2563 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return this.point.value;
2564 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2565 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { inside: true,
2566 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { verticalAlign: 'middle',
2567 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { crop: false,
2568 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { overflow: false,
2569 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { padding: 0 // #3837
2570 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2571 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { marker: null,
2572 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointRange: null, // dynamically set to colsize by default
2573 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { tooltip: {
2574 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointFormat: '{point.x}, {point.y}: {point.value}<br/>'
2575 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2576 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { states: {
2577 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { normal: {
2578 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animation: true
2579 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2580 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { hover: {
2581 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { halo: false, // #3406, halo is not required on heatmaps
2582 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { brightness: 0.2
2583 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2584 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2585 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, merge(colorSeriesMixin, {
2586 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointArrayMap: ['y', 'value'],
2587 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { hasPointSpecificOptions: true,
2588 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { supportsDrilldown: true,
2589 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { getExtremesFromAll: true,
2590 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { directTouch: true,
2591  
2592 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2593 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Override the init method to add point ranges on both axes.
2594 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2595 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { init: function() {
2596 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var options;
2597 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesTypes.scatter.prototype.init.apply(this, arguments);
2598  
2599 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { options = this.options;
2600 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { options.pointRange = pick(options.pointRange, options.colsize || 1); // #3758, prevent resetting in setData
2601 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.yAxis.axisPointRange = options.rowsize || 1; // general point range
2602 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2603 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { translate: function() {
2604 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var series = this,
2605 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { options = series.options,
2606 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { xAxis = series.xAxis,
2607 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { yAxis = series.yAxis,
2608 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { between = function(x, a, b) {
2609 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return Math.min(Math.max(a, x), b);
2610 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2611  
2612 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.generatePoints();
2613  
2614 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each(series.points, function(point) {
2615 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var xPad = (options.colsize || 1) / 2,
2616 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { yPad = (options.rowsize || 1) / 2,
2617 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x1 = between(Math.round(xAxis.len - xAxis.translate(point.x - xPad, 0, 1, 0, 1)), -xAxis.len, 2 * xAxis.len),
2618 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x2 = between(Math.round(xAxis.len - xAxis.translate(point.x + xPad, 0, 1, 0, 1)), -xAxis.len, 2 * xAxis.len),
2619 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y1 = between(Math.round(yAxis.translate(point.y - yPad, 0, 1, 0, 1)), -yAxis.len, 2 * yAxis.len),
2620 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y2 = between(Math.round(yAxis.translate(point.y + yPad, 0, 1, 0, 1)), -yAxis.len, 2 * yAxis.len);
2621  
2622 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Set plotX and plotY for use in K-D-Tree and more
2623 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.plotX = point.clientX = (x1 + x2) / 2;
2624 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.plotY = (y1 + y2) / 2;
2625  
2626 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.shapeType = 'rect';
2627 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.shapeArgs = {
2628 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: Math.min(x1, x2),
2629 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: Math.min(y1, y2),
2630 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { width: Math.abs(x2 - x1),
2631 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { height: Math.abs(y2 - y1)
2632 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2633 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { });
2634  
2635 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { series.translateColors();
2636 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2637 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { drawPoints: function() {
2638 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { seriesTypes.column.prototype.drawPoints.call(this);
2639  
2640 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each(this.points, function(point) {
2641  
2642 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { point.graphic.attr(this.colorAttribs(point));
2643  
2644 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, this);
2645 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2646 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { animate: noop,
2647 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { getBox: noop,
2648 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { drawLegendSymbol: LegendSymbolMixin.drawRectangle,
2649 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { alignDataLabel: seriesTypes.column.prototype.alignDataLabel,
2650 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { getExtremes: function() {
2651 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Get the extremes from the value data
2652 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Series.prototype.getExtremes.call(this, this.valueData);
2653 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.valueMin = this.dataMin;
2654 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { this.valueMax = this.dataMax;
2655  
2656 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Get the extremes from the y data
2657 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Series.prototype.getExtremes.call(this);
2658 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2659  
2660 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }), colorPointMixin);
2661  
2662 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }(Highcharts));
2663 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { (function(H) {
2664 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2665 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * (c) 2010-2017 Torstein Honsi
2666 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { *
2667 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * License: www.highcharts.com/license
2668 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2669 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var Chart = H.Chart,
2670 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { each = H.each,
2671 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { extend = H.extend,
2672 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { format = H.format,
2673 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { merge = H.merge,
2674 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { win = H.win,
2675 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { wrap = H.wrap;
2676 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2677 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Test for point in polygon. Polygon defined as array of [x,y] points.
2678 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2679 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { function pointInPolygon(point, polygon) {
2680 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var i,
2681 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { j,
2682 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { rel1,
2683 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { rel2,
2684 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { c = false,
2685 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x = point.x,
2686 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y = point.y;
2687  
2688 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { for (i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
2689 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { rel1 = polygon[i][1] > y;
2690 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { rel2 = polygon[j][1] > y;
2691 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (rel1 !== rel2 && (x < (polygon[j][0] - polygon[i][0]) * (y - polygon[i][1]) / (polygon[j][1] - polygon[i][1]) + polygon[i][0])) {
2692 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { c = !c;
2693 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2694 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2695  
2696 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return c;
2697 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2698  
2699 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2700 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Get point from latLon using specified transform definition
2701 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2702 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Chart.prototype.transformFromLatLon = function(latLon, transform) {
2703 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (win.proj4 === undefined) {
2704 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { H.error(21);
2705 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return {
2706 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: 0,
2707 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: null
2708 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2709 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2710  
2711 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var projected = win.proj4(transform.crs, [latLon.lon, latLon.lat]),
2712 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { cosAngle = transform.cosAngle || (transform.rotation && Math.cos(transform.rotation)),
2713 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { sinAngle = transform.sinAngle || (transform.rotation && Math.sin(transform.rotation)),
2714 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { rotated = transform.rotation ? [projected[0] * cosAngle + projected[1] * sinAngle, -projected[0] * sinAngle + projected[1] * cosAngle] : projected;
2715  
2716 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return {
2717 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: ((rotated[0] - (transform.xoffset || 0)) * (transform.scale || 1) + (transform.xpan || 0)) * (transform.jsonres || 1) + (transform.jsonmarginX || 0),
2718 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: (((transform.yoffset || 0) - rotated[1]) * (transform.scale || 1) + (transform.ypan || 0)) * (transform.jsonres || 1) - (transform.jsonmarginY || 0)
2719 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2720 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2721  
2722 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2723 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Get latLon from point using specified transform definition
2724 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2725 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Chart.prototype.transformToLatLon = function(point, transform) {
2726 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (win.proj4 === undefined) {
2727 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { H.error(21);
2728 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return;
2729 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2730  
2731 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var normalized = {
2732 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: ((point.x - (transform.jsonmarginX || 0)) / (transform.jsonres || 1) - (transform.xpan || 0)) / (transform.scale || 1) + (transform.xoffset || 0),
2733 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: ((-point.y - (transform.jsonmarginY || 0)) / (transform.jsonres || 1) + (transform.ypan || 0)) / (transform.scale || 1) + (transform.yoffset || 0)
2734 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { },
2735 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { cosAngle = transform.cosAngle || (transform.rotation && Math.cos(transform.rotation)),
2736 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { sinAngle = transform.sinAngle || (transform.rotation && Math.sin(transform.rotation)),
2737 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { // Note: Inverted sinAngle to reverse rotation direction
2738 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { projected = win.proj4(transform.crs, 'WGS84', transform.rotation ? {
2739 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: normalized.x * cosAngle + normalized.y * -sinAngle,
2740 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: normalized.x * sinAngle + normalized.y * cosAngle
2741 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { } : normalized);
2742  
2743 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return {
2744 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { lat: projected.y,
2745 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { lon: projected.x
2746 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2747 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2748  
2749 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Chart.prototype.fromPointToLatLon = function(point) {
2750 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var transforms = this.mapTransforms,
2751 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { transform;
2752  
2753 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (!transforms) {
2754 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { H.error(22);
2755 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return;
2756 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2757  
2758 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { for (transform in transforms) {
2759 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (transforms.hasOwnProperty(transform) && transforms[transform].hitZone &&
2760 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { pointInPolygon({
2761 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: point.x,
2762 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: -point.y
2763 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, transforms[transform].hitZone.coordinates[0])) {
2764 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return this.transformToLatLon(point, transforms[transform]);
2765 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2766 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2767  
2768 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return this.transformToLatLon(point, transforms['default']); // eslint-disable-line dot-notation
2769 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2770  
2771 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { Chart.prototype.fromLatLonToPoint = function(latLon) {
2772 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var transforms = this.mapTransforms,
2773 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { transform,
2774 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { coords;
2775  
2776 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (!transforms) {
2777 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { H.error(22);
2778 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return {
2779 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: 0,
2780 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: null
2781 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2782 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2783  
2784 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { for (transform in transforms) {
2785 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (transforms.hasOwnProperty(transform) && transforms[transform].hitZone) {
2786 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { coords = this.transformFromLatLon(latLon, transforms[transform]);
2787 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { if (pointInPolygon({
2788 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { x: coords.x,
2789 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { y: -coords.y
2790 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }, transforms[transform].hitZone.coordinates[0])) {
2791 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return coords;
2792 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2793 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2794 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { }
2795  
2796 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { return this.transformFromLatLon(latLon, transforms['default']); // eslint-disable-line dot-notation
2797 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { };
2798  
2799 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { /**
2800 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { * Convert a geojson object to map data of a given Highcharts type (map, mappoint or mapline).
2801 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { */
2802 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { H.geojson = function(geojson, hType, series) {
2803 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var mapData = [],
2804 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { path = [],
2805 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { polygonToPath = function(polygon) {
2806 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { var i,
2807 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { len = polygon.length;
2808 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { path.push('M');
2809 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) { for (i = 0; i < len; i++) {
2810 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (i === 1) {
2811 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path.push('L');
2812 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2813 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path.push(polygon[i][0], -polygon[i][1]);
2814 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2815 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
2816  
2817 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { hType = hType || 'map';
2818  
2819 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { each(geojson.features, function(feature) {
2820  
2821 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { var geometry = feature.geometry,
2822 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { type = geometry.type,
2823 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { coordinates = geometry.coordinates,
2824 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { properties = feature.properties,
2825 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { point;
2826  
2827 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path = [];
2828  
2829 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (hType === 'map' || hType === 'mapbubble') {
2830 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (type === 'Polygon') {
2831 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { each(coordinates, polygonToPath);
2832 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path.push('Z');
2833  
2834 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { } else if (type === 'MultiPolygon') {
2835 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { each(coordinates, function(items) {
2836 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { each(items, polygonToPath);
2837 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { });
2838 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path.push('Z');
2839 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2840  
2841 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (path.length) {
2842 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { point = {
2843 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path: path
2844 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
2845 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2846  
2847 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { } else if (hType === 'mapline') {
2848 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (type === 'LineString') {
2849 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { polygonToPath(coordinates);
2850 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { } else if (type === 'MultiLineString') {
2851 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { each(coordinates, polygonToPath);
2852 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2853  
2854 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (path.length) {
2855 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { point = {
2856 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path: path
2857 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
2858 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2859  
2860 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { } else if (hType === 'mappoint') {
2861 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (type === 'Point') {
2862 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { point = {
2863 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { x: coordinates[0],
2864 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { y: -coordinates[1]
2865 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
2866 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2867 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2868 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (point) {
2869 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { mapData.push(extend(point, {
2870 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { name: properties.name || properties.NAME,
2871 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { properties: properties
2872 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }));
2873 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2874  
2875 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { });
2876  
2877 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Create a credits text that includes map source, to be picked up in Chart.addCredits
2878 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (series && geojson.copyrightShort) {
2879 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { series.chart.mapCredits = format(series.chart.options.credits.mapText, {
2880 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { geojson: geojson
2881 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { });
2882 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { series.chart.mapCreditsFull = format(series.chart.options.credits.mapTextFull, {
2883 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { geojson: geojson
2884 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { });
2885 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2886  
2887 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { return mapData;
2888 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
2889  
2890 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { /**
2891 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { * Override addCredits to include map source by default
2892 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { */
2893 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { wrap(Chart.prototype, 'addCredits', function(proceed, credits) {
2894  
2895 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { credits = merge(true, this.options.credits, credits);
2896  
2897 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Disable credits link if map credits enabled. This to allow for in-text anchors.
2898 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (this.mapCredits) {
2899 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { credits.href = null;
2900 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2901  
2902 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { proceed.call(this, credits);
2903  
2904 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Add full map credits to hover
2905 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (this.credits && this.mapCreditsFull) {
2906 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { this.credits.attr({
2907 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { title: this.mapCreditsFull
2908 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { });
2909 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2910 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { });
2911  
2912 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }(Highcharts));
2913 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { (function(H) {
2914 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { /**
2915 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { * (c) 2010-2017 Torstein Honsi
2916 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { *
2917 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { * License: www.highcharts.com/license
2918 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { */
2919 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { var Chart = H.Chart,
2920 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { defaultOptions = H.defaultOptions,
2921 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { each = H.each,
2922 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { extend = H.extend,
2923 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { merge = H.merge,
2924 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { pick = H.pick,
2925 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { Renderer = H.Renderer,
2926 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { SVGRenderer = H.SVGRenderer,
2927 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { VMLRenderer = H.VMLRenderer;
2928  
2929  
2930 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Add language
2931 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { extend(defaultOptions.lang, {
2932 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { zoomIn: 'Zoom in',
2933 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { zoomOut: 'Zoom out'
2934 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { });
2935  
2936  
2937 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Set the default map navigation options
2938 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { defaultOptions.mapNavigation = {
2939 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { buttonOptions: {
2940 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { alignTo: 'plotBox',
2941 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { align: 'left',
2942 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { verticalAlign: 'top',
2943 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { x: 0,
2944 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { width: 18,
2945 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { height: 18,
2946 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { padding: 5,
2947  
2948 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { style: {
2949 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { fontSize: '15px',
2950 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { fontWeight: 'bold'
2951 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
2952 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { theme: {
2953 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'stroke-width': 1,
2954 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'text-align': 'center'
2955 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2956  
2957 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
2958 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { buttons: {
2959 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { zoomIn: {
2960 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { onclick: function() {
2961 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { this.mapZoom(0.5);
2962 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
2963 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { text: '+',
2964 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { y: 0
2965 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
2966 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { zoomOut: {
2967 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { onclick: function() {
2968 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { this.mapZoom(2);
2969 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
2970 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { text: '-',
2971 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { y: 28
2972 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
2973 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
2974 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { mouseWheelSensitivity: 1.1
2975 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // enabled: false,
2976 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // enableButtons: null, // inherit from enabled
2977 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // enableTouchZoom: null, // inherit from enabled
2978 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // enableDoubleClickZoom: null, // inherit from enabled
2979 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // enableDoubleClickZoomTo: false
2980 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // enableMouseWheelZoom: null, // inherit from enabled
2981 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
2982  
2983 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { /**
2984 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { * Utility for reading SVG paths directly.
2985 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { */
2986 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { H.splitPath = function(path) {
2987 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { var i;
2988  
2989 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Move letters apart
2990 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path = path.replace(/([A-Za-z])/g, ' $1 ');
2991 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Trim
2992 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path = path.replace(/^\s*/, '').replace(/\s*$/, '');
2993  
2994 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Split on spaces and commas
2995 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path = path.split(/[ ,]+/); // Extra comma to escape gulp.scripts task
2996  
2997 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Parse numbers
2998 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { for (i = 0; i < path.length; i++) {
2999 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (!/[a-zA-Z]/.test(path[i])) {
3000 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { path[i] = parseFloat(path[i]);
3001 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
3002 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
3003 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { return path;
3004 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
3005  
3006 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // A placeholder for map definitions
3007 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { H.maps = {};
3008  
3009  
3010  
3011  
3012  
3013 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Create symbols for the zoom buttons
3014 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { function selectiveRoundedRect(x, y, w, h, rTopLeft, rTopRight, rBottomRight, rBottomLeft) {
3015 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { return [
3016 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'M', x + rTopLeft, y,
3017 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // top side
3018 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'L', x + w - rTopRight, y,
3019 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // top right corner
3020 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'C', x + w - rTopRight / 2,
3021 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { y, x + w,
3022 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { y + rTopRight / 2, x + w, y + rTopRight,
3023 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // right side
3024 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'L', x + w, y + h - rBottomRight,
3025 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // bottom right corner
3026 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'C', x + w, y + h - rBottomRight / 2,
3027 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { x + w - rBottomRight / 2, y + h,
3028 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { x + w - rBottomRight, y + h,
3029 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // bottom side
3030 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'L', x + rBottomLeft, y + h,
3031 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // bottom left corner
3032 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'C', x + rBottomLeft / 2, y + h,
3033 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { x, y + h - rBottomLeft / 2,
3034 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { x, y + h - rBottomLeft,
3035 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // left side
3036 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'L', x, y + rTopLeft,
3037 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // top left corner
3038 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'C', x, y + rTopLeft / 2,
3039 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { x + rTopLeft / 2, y,
3040 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { x + rTopLeft, y,
3041 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { 'Z'
3042 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { ];
3043 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
3044 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { SVGRenderer.prototype.symbols.topbutton = function(x, y, w, h, attr) {
3045 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { return selectiveRoundedRect(x - 1, y - 1, w, h, attr.r, attr.r, 0, 0);
3046 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
3047 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { SVGRenderer.prototype.symbols.bottombutton = function(x, y, w, h, attr) {
3048 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { return selectiveRoundedRect(x - 1, y - 1, w, h, 0, 0, attr.r, attr.r);
3049 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
3050 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // The symbol callbacks are generated on the SVGRenderer object in all browsers. Even
3051 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // VML browsers need this in order to generate shapes in export. Now share
3052 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // them with the VMLRenderer.
3053 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { if (Renderer === VMLRenderer) {
3054 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { each(['topbutton', 'bottombutton'], function(shape) {
3055 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { VMLRenderer.prototype.symbols[shape] = SVGRenderer.prototype.symbols[shape];
3056 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { });
3057 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
3058  
3059  
3060 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { /**
3061 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { * A wrapper for Chart with all the default values for a Map
3062 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { */
3063 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { H.Map = H.mapChart = function(a, b, c) {
3064  
3065 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { var hasRenderToArg = typeof a === 'string' || a.nodeName,
3066 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { options = arguments[hasRenderToArg ? 1 : 0],
3067 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { hiddenAxis = {
3068 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { endOnTick: false,
3069 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { visible: false,
3070 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { minPadding: 0,
3071 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { maxPadding: 0,
3072 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { startOnTick: false
3073 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
3074 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { seriesOptions,
3075 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { defaultCreditsOptions = H.getOptions().credits;
3076  
3077 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { /* For visual testing
3078 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { hiddenAxis.gridLineWidth = 1;
3079 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { hiddenAxis.gridZIndex = 10;
3080 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { hiddenAxis.tickPositions = undefined;
3081 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // */
3082  
3083 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { // Don't merge the data
3084 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { seriesOptions = options.series;
3085 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { options.series = null;
3086  
3087 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { options = merge({
3088 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { chart: {
3089 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { panning: 'xy',
3090 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { type: 'map'
3091 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
3092 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { credits: {
3093 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { mapText: pick(defaultCreditsOptions.mapText, ' \u00a9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),
3094 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { mapTextFull: pick(defaultCreditsOptions.mapTextFull, '{geojson.copyright}')
3095 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
3096 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { tooltip: {
3097 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { followTouchMove: false
3098 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
3099 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { xAxis: hiddenAxis,
3100 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { yAxis: merge(hiddenAxis, {
3101 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { reversed: true
3102 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { })
3103 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { },
3104 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { options, // user's options
3105  
3106 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { { // forced options
3107 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { chart: {
3108 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { inverted: false,
3109 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { alignTicks: false
3110 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
3111 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }
3112 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { );
3113  
3114 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { options.series = seriesOptions;
3115  
3116  
3117 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { return hasRenderToArg ?
3118 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { new Chart(a, options, c) :
3119 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { new Chart(options, b);
3120 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { };
3121  
3122 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) { }(Highcharts));
3123 < 1 ? this : xAxis;<= to)) {< axisPos) {< ';< 1.01 && scaleY >< 1.01) {< len; i++) {}));