highstock-rails 2.1.10 → 5.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/css/highcharts.css +760 -0
- data/app/assets/javascripts/highstock.js +511 -419
- data/app/assets/javascripts/highstock/highstock.js +472 -0
- data/app/assets/javascripts/highstock/highstock.js.map +8 -0
- data/app/assets/javascripts/highstock/highstock.src.js +28809 -0
- data/app/assets/javascripts/highstock/modules/accessibility.js +48 -0
- data/app/assets/javascripts/highstock/modules/accessibility.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/accessibility.src.js +1131 -0
- data/app/assets/javascripts/highstock/modules/annotations.js +14 -0
- data/app/assets/javascripts/highstock/modules/annotations.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/annotations.src.js +407 -0
- data/app/assets/javascripts/highstock/modules/boost-canvas.js +23 -0
- data/app/assets/javascripts/highstock/modules/boost-canvas.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/boost-canvas.src.js +771 -0
- data/app/assets/javascripts/highstock/modules/boost.js +51 -12
- data/app/assets/javascripts/highstock/modules/boost.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/boost.src.js +2580 -492
- data/app/assets/javascripts/highstock/modules/broken-axis.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/canvasrenderer.experimental.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/data.js +19 -19
- data/app/assets/javascripts/highstock/modules/data.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/data.src.js +974 -950
- data/app/assets/javascripts/highstock/modules/drilldown.js +25 -17
- data/app/assets/javascripts/highstock/modules/drilldown.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/drilldown.src.js +790 -709
- data/app/assets/javascripts/highstock/modules/export-data.js +17 -0
- data/app/assets/javascripts/highstock/modules/export-data.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/export-data.src.js +417 -0
- data/app/assets/javascripts/highstock/modules/exporting.js +21 -18
- data/app/assets/javascripts/highstock/modules/exporting.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/exporting.src.js +1013 -768
- data/app/assets/javascripts/highstock/modules/funnel.js +6 -7
- data/app/assets/javascripts/highstock/modules/funnel.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/funnel.src.js +284 -308
- data/app/assets/javascripts/highstock/modules/gantt.js +24 -0
- data/app/assets/javascripts/highstock/modules/gantt.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/gantt.src.js +793 -0
- data/app/assets/javascripts/highstock/modules/grid-axis.js +19 -0
- data/app/assets/javascripts/highstock/modules/grid-axis.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/grid-axis.src.js +545 -0
- data/app/assets/javascripts/highstock/modules/heatmap.js +20 -18
- data/app/assets/javascripts/highstock/modules/heatmap.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/heatmap.src.js +738 -633
- data/app/assets/javascripts/highstock/modules/map-parser.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/map.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/no-data-to-display.js +5 -5
- data/app/assets/javascripts/highstock/modules/no-data-to-display.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/no-data-to-display.src.js +140 -133
- data/app/assets/javascripts/highstock/modules/offline-exporting.js +12 -7
- data/app/assets/javascripts/highstock/modules/offline-exporting.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/offline-exporting.src.js +543 -270
- data/app/assets/javascripts/highstock/modules/overlapping-datalabels.js +10 -0
- data/app/assets/javascripts/highstock/modules/overlapping-datalabels.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/overlapping-datalabels.src.js +187 -0
- data/app/assets/javascripts/highstock/modules/series-label.js +19 -0
- data/app/assets/javascripts/highstock/modules/series-label.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/series-label.src.js +606 -0
- data/app/assets/javascripts/highstock/modules/solid-gauge.js +9 -8
- data/app/assets/javascripts/highstock/modules/solid-gauge.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/solid-gauge.src.js +334 -266
- data/app/assets/javascripts/highstock/modules/static-scale.js +12 -0
- data/app/assets/javascripts/highstock/modules/static-scale.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/static-scale.src.js +64 -0
- data/app/assets/javascripts/highstock/modules/stock.js +123 -0
- data/app/assets/javascripts/highstock/modules/stock.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/stock.src.js +6247 -0
- data/app/assets/javascripts/highstock/modules/treemap.js +22 -23
- data/app/assets/javascripts/highstock/modules/treemap.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/treemap.src.js +884 -859
- data/app/assets/javascripts/highstock/modules/xrange-series.js +15 -0
- data/app/assets/javascripts/highstock/modules/xrange-series.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/xrange-series.src.js +258 -0
- data/app/assets/javascripts/highstock/themes/dark-blue.js +307 -244
- data/app/assets/javascripts/highstock/themes/dark-green.js +303 -244
- data/app/assets/javascripts/highstock/themes/dark-unica.js +231 -201
- data/app/assets/javascripts/highstock/themes/gray.js +314 -245
- data/app/assets/javascripts/highstock/themes/grid-light.js +91 -66
- data/app/assets/javascripts/highstock/themes/grid.js +124 -96
- data/app/assets/javascripts/highstock/themes/sand-signika.js +119 -94
- data/app/assets/javascripts/highstock/themes/skies.js +108 -85
- data/lib/highstock/rails/version.rb +1 -1
- metadata +54 -11
- data/app/assets/javascripts/highstock/adapters/standalone-framework.js +0 -18
- data/app/assets/javascripts/highstock/adapters/standalone-framework.src.js +0 -635
- data/app/assets/javascripts/highstock/highcharts-3d.js +0 -48
- data/app/assets/javascripts/highstock/highcharts-3d.src.js +0 -1711
- data/app/assets/javascripts/highstock/highcharts-more.js +0 -55
- data/app/assets/javascripts/highstock/highstock-all.js +0 -637
- data/app/assets/javascripts/highstock/modules/canvas-tools.js +0 -133
- data/app/assets/javascripts/highstock/modules/canvas-tools.src.js +0 -3114
@@ -0,0 +1,8 @@
|
|
1
|
+
{
|
2
|
+
"version":3,
|
3
|
+
"file":"",
|
4
|
+
"lineCount":27,
|
5
|
+
"mappings":"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",
|
6
|
+
"sources":["Input_0"],
|
7
|
+
"names":["factory","module","exports","Highcharts","H","defaultOptions","doc","Chart","addEvent","removeEvent","fireEvent","createElement","discardElement","css","merge","pick","each","objectEach","extend","win","SVGRenderer","symbols","Renderer","prototype","lang","printChart","downloadPNG","downloadJPEG","downloadPDF","downloadSVG","contextButtonTitle","navigation","buttonOptions","theme","symbolSize","symbolX","symbolY","align","buttonSpacing","height","verticalAlign","width","exporting","type","url","printMaxWidth","scale","buttons","contextButton","className","menuClassName","symbol","_titleKey","menuItems","textKey","onclick","print","separator","exportChart","post","H.post","data","formAttributes","form","method","action","enctype","display","body","val","name","value","submit","sanitizeSVG","svg","options","allowHTML","html","match","chart","replace","getChartHTML","inlineStyles","container","innerHTML","getSVG","chartOptions","chartCopy","sandbox","seriesOptions","sourceHeight","createElementNS","doc.createElementNS","ns","tagName","position","top","chartWidth","chartHeight","cssWidth","renderTo","style","cssHeight","sourceWidth","test","parseInt","animation","forExport","renderer","enabled","series","serie","userOptions","enableMouseTracking","showCheckbox","visible","isInternal","push","axes","axis","internalKey","uniqueKey","callback","coll","collOptions","update","axisCopy","find","copy","extremes","getExtremes","userMin","userMax","undefined","setExtremes","destroy","getSVGForExport","chartExportingOptions","borderRadius","exportingOptions","filename","origDisplay","origParent","parentNode","childNodes","resetParams","handleMaxWidth","isPrinting","pointer","reset","setSize","node","i","nodeType","appendChild","focus","setTimeout","apply","contextMenu","items","x","y","button","cacheName","menu","menuPadding","Math","max","innerMenu","hide","zIndex","padding","setState","openMenu","exportEvents","hideTimer","clearTimeout","e","inClass","target","item","element","stopPropagation","arguments","text","exportDivElements","exportMenuWidth","offsetWidth","exportMenuHeight","offsetHeight","menuStyle","right","left","alignOptions","bottom","addButton","btnOptions","btnCount","exportSVGElements","attr","states","hover","select","call","translateX","translateY","paddingLeft","addClass","title","add","buttonOffset","destroyExport","elem","ontouchstart","length","onmouseout","onmouseover","unbind","inlineToAttributes","inlineBlacklist","unstyledElements","Chart.prototype.inlineStyles","hyphenate","prop","a","b","toLowerCase","recurse","styles","parentStyles","cssText","dummy","indexOf","nodeName","getComputedStyle","defaultStyles","dummySVG","SVG_NS","setAttribute","namespaceURI","removeChild","blacklisted","blacklist","styleAttr","getAttribute","children","querySelector","symbols.menu","arr","renderExporting","Chart.prototype.renderExporting","isDirty","isDirtyExporting","callbacks","redraw"]
|
8
|
+
}
|
@@ -1,780 +1,1025 @@
|
|
1
1
|
/**
|
2
|
-
* @license
|
2
|
+
* @license Highcharts JS v5.0.11 (2017-05-04)
|
3
3
|
* Exporting module
|
4
4
|
*
|
5
|
-
* (c) 2010-
|
5
|
+
* (c) 2010-2017 Torstein Honsi
|
6
6
|
*
|
7
7
|
* License: www.highcharts.com/license
|
8
8
|
*/
|
9
|
-
|
10
|
-
|
11
|
-
(function (factory) {
|
9
|
+
'use strict';
|
10
|
+
(function(factory) {
|
12
11
|
if (typeof module === 'object' && module.exports) {
|
13
12
|
module.exports = factory;
|
14
13
|
} else {
|
15
14
|
factory(Highcharts);
|
16
15
|
}
|
17
|
-
}(function
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
//
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
16
|
+
}(function(Highcharts) {
|
17
|
+
(function(H) {
|
18
|
+
/**
|
19
|
+
* Exporting module
|
20
|
+
*
|
21
|
+
* (c) 2010-2017 Torstein Honsi
|
22
|
+
*
|
23
|
+
* License: www.highcharts.com/license
|
24
|
+
*/
|
25
|
+
|
26
|
+
/* eslint indent:0 */
|
27
|
+
|
28
|
+
// create shortcuts
|
29
|
+
var defaultOptions = H.defaultOptions,
|
30
|
+
doc = H.doc,
|
31
|
+
Chart = H.Chart,
|
32
|
+
addEvent = H.addEvent,
|
33
|
+
removeEvent = H.removeEvent,
|
34
|
+
fireEvent = H.fireEvent,
|
35
|
+
createElement = H.createElement,
|
36
|
+
discardElement = H.discardElement,
|
37
|
+
css = H.css,
|
38
|
+
merge = H.merge,
|
39
|
+
pick = H.pick,
|
40
|
+
each = H.each,
|
41
|
+
objectEach = H.objectEach,
|
42
|
+
extend = H.extend,
|
43
|
+
isTouchDevice = H.isTouchDevice,
|
44
|
+
win = H.win,
|
45
|
+
SVGRenderer = H.SVGRenderer;
|
46
|
+
|
47
|
+
var symbols = H.Renderer.prototype.symbols;
|
48
|
+
|
49
|
+
// Add language
|
50
|
+
extend(defaultOptions.lang, {
|
51
|
+
printChart: 'Print chart',
|
52
|
+
downloadPNG: 'Download PNG image',
|
53
|
+
downloadJPEG: 'Download JPEG image',
|
54
|
+
downloadPDF: 'Download PDF document',
|
55
|
+
downloadSVG: 'Download SVG vector image',
|
56
|
+
contextButtonTitle: 'Chart context menu'
|
57
|
+
});
|
58
|
+
|
59
|
+
// Buttons and menus are collected in a separate config option set called 'navigation'.
|
60
|
+
// This can be extended later to add control buttons like zoom and pan right click menus.
|
61
|
+
defaultOptions.navigation = {
|
62
|
+
buttonOptions: {
|
63
|
+
theme: {},
|
64
|
+
symbolSize: 14,
|
65
|
+
symbolX: 12.5,
|
66
|
+
symbolY: 10.5,
|
67
|
+
align: 'right',
|
68
|
+
buttonSpacing: 3,
|
69
|
+
height: 22,
|
70
|
+
// text: null,
|
71
|
+
verticalAlign: 'top',
|
72
|
+
width: 24
|
73
|
+
}
|
74
|
+
};
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
// Add the export related options
|
80
|
+
defaultOptions.exporting = {
|
81
|
+
//enabled: true,
|
82
|
+
//filename: 'chart',
|
83
|
+
type: 'image/png',
|
84
|
+
url: 'https://export.highcharts.com/',
|
85
|
+
//width: undefined,
|
86
|
+
printMaxWidth: 780,
|
87
|
+
scale: 2,
|
88
|
+
buttons: {
|
89
|
+
contextButton: {
|
90
|
+
className: 'highcharts-contextbutton',
|
91
|
+
menuClassName: 'highcharts-contextmenu',
|
92
|
+
//x: -10,
|
93
|
+
symbol: 'menu',
|
94
|
+
_titleKey: 'contextButtonTitle',
|
95
|
+
menuItems: [{
|
96
|
+
textKey: 'printChart',
|
97
|
+
onclick: function() {
|
98
|
+
this.print();
|
99
|
+
}
|
100
|
+
}, {
|
101
|
+
separator: true
|
102
|
+
}, {
|
103
|
+
textKey: 'downloadPNG',
|
104
|
+
onclick: function() {
|
105
|
+
this.exportChart();
|
106
|
+
}
|
107
|
+
}, {
|
108
|
+
textKey: 'downloadJPEG',
|
109
|
+
onclick: function() {
|
110
|
+
this.exportChart({
|
111
|
+
type: 'image/jpeg'
|
112
|
+
});
|
113
|
+
}
|
114
|
+
}, {
|
115
|
+
textKey: 'downloadPDF',
|
116
|
+
onclick: function() {
|
117
|
+
this.exportChart({
|
118
|
+
type: 'application/pdf'
|
119
|
+
});
|
120
|
+
}
|
121
|
+
}, {
|
122
|
+
textKey: 'downloadSVG',
|
123
|
+
onclick: function() {
|
124
|
+
this.exportChart({
|
125
|
+
type: 'image/svg+xml'
|
126
|
+
});
|
127
|
+
}
|
128
|
+
}]
|
129
|
+
}
|
130
|
+
}
|
131
|
+
};
|
132
|
+
|
133
|
+
// Add the H.post utility
|
134
|
+
H.post = function(url, data, formAttributes) {
|
135
|
+
// create the form
|
136
|
+
var form = createElement('form', merge({
|
137
|
+
method: 'post',
|
138
|
+
action: url,
|
139
|
+
enctype: 'multipart/form-data'
|
140
|
+
}, formAttributes), {
|
141
|
+
display: 'none'
|
142
|
+
}, doc.body);
|
143
|
+
|
144
|
+
// add the data
|
145
|
+
objectEach(data, function(val, name) {
|
146
|
+
createElement('input', {
|
147
|
+
type: 'hidden',
|
148
|
+
name: name,
|
149
|
+
value: val
|
150
|
+
}, null, form);
|
151
|
+
});
|
152
|
+
|
153
|
+
// submit
|
154
|
+
form.submit();
|
155
|
+
|
156
|
+
// clean up
|
157
|
+
discardElement(form);
|
158
|
+
};
|
159
|
+
|
160
|
+
extend(Chart.prototype, /** @lends Highcharts.Chart.prototype */ {
|
161
|
+
|
162
|
+
/**
|
163
|
+
* A collection of fixes on the produced SVG to account for expando properties,
|
164
|
+
* browser bugs, VML problems and other. Returns a cleaned SVG.
|
165
|
+
*/
|
166
|
+
sanitizeSVG: function(svg, options) {
|
167
|
+
// Move HTML into a foreignObject
|
168
|
+
if (options && options.exporting && options.exporting.allowHTML) {
|
169
|
+
var html = svg.match(/<\/svg>(.*?$)/);
|
170
|
+
if (html && html[1]) {
|
171
|
+
html = '<foreignObject x="0" y="0" ' +
|
172
|
+
'width="' + options.chart.width + '" ' +
|
173
|
+
'height="' + options.chart.height + '">' +
|
174
|
+
'<body xmlns="http://www.w3.org/1999/xhtml">' +
|
175
|
+
html[1] +
|
176
|
+
'</body>' +
|
177
|
+
'</foreignObject>';
|
178
|
+
svg = svg.replace('</svg>', html + '</svg>');
|
179
|
+
}
|
180
|
+
}
|
181
|
+
|
182
|
+
svg = svg
|
183
|
+
.replace(/zIndex="[^"]+"/g, '')
|
184
|
+
.replace(/isShadow="[^"]+"/g, '')
|
185
|
+
.replace(/symbolName="[^"]+"/g, '')
|
186
|
+
.replace(/jQuery[0-9]+="[^"]+"/g, '')
|
187
|
+
.replace(/url\(("|")(\S+)("|")\)/g, 'url($2)')
|
188
|
+
.replace(/url\([^#]+#/g, 'url(#')
|
189
|
+
.replace(/<svg /, '<svg xmlns:xlink="http://www.w3.org/1999/xlink" ')
|
190
|
+
.replace(/ (NS[0-9]+\:)?href=/g, ' xlink:href=') // #3567
|
191
|
+
.replace(/\n/, ' ')
|
192
|
+
// Any HTML added to the container after the SVG (#894)
|
193
|
+
.replace(/<\/svg>.*?$/, '</svg>')
|
194
|
+
// Batik doesn't support rgba fills and strokes (#3095)
|
195
|
+
.replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g, '$1="rgb($2)" $1-opacity="$3"')
|
196
|
+
/* This fails in IE < 8
|
197
|
+
.replace(/([0-9]+)\.([0-9]+)/g, function(s1, s2, s3) { // round off to save weight
|
198
|
+
return s2 +'.'+ s3[0];
|
199
|
+
})*/
|
200
|
+
|
201
|
+
// Replace HTML entities, issue #347
|
202
|
+
.replace(/ /g, '\u00A0') // no-break space
|
203
|
+
.replace(/­/g, '\u00AD'); // soft hyphen
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
return svg;
|
208
|
+
},
|
209
|
+
|
210
|
+
/**
|
211
|
+
* Return innerHTML of chart. Used as hook for plugins.
|
212
|
+
*/
|
213
|
+
getChartHTML: function() {
|
214
|
+
|
215
|
+
this.inlineStyles();
|
216
|
+
|
217
|
+
return this.container.innerHTML;
|
218
|
+
},
|
219
|
+
|
220
|
+
/**
|
221
|
+
* Return an SVG representation of the chart.
|
222
|
+
*
|
223
|
+
* @param chartOptions {Options}
|
224
|
+
* Additional chart options for the generated SVG representation.
|
225
|
+
* For collections like `xAxis`, `yAxis` or `series`, the additional
|
226
|
+
* options is either merged in to the orininal item of the same
|
227
|
+
* `id`, or to the first item if a common id is not found.
|
228
|
+
* @return {String}
|
229
|
+
* The SVG representation of the rendered chart.
|
230
|
+
* @sample highcharts/members/chart-getsvg/
|
231
|
+
* View the SVG from a button
|
232
|
+
*/
|
233
|
+
getSVG: function(chartOptions) {
|
234
|
+
var chart = this,
|
235
|
+
chartCopy,
|
236
|
+
sandbox,
|
237
|
+
svg,
|
238
|
+
seriesOptions,
|
239
|
+
sourceWidth,
|
240
|
+
sourceHeight,
|
241
|
+
cssWidth,
|
242
|
+
cssHeight,
|
243
|
+
options = merge(chart.options, chartOptions); // copy the options and add extra options
|
244
|
+
|
245
|
+
|
246
|
+
// IE compatibility hack for generating SVG content that it doesn't really understand
|
247
|
+
if (!doc.createElementNS) {
|
248
|
+
doc.createElementNS = function(ns, tagName) {
|
249
|
+
return doc.createElement(tagName);
|
250
|
+
};
|
251
|
+
}
|
252
|
+
|
253
|
+
// create a sandbox where a new chart will be generated
|
254
|
+
sandbox = createElement('div', null, {
|
255
|
+
position: 'absolute',
|
256
|
+
top: '-9999em',
|
257
|
+
width: chart.chartWidth + 'px',
|
258
|
+
height: chart.chartHeight + 'px'
|
259
|
+
}, doc.body);
|
260
|
+
|
261
|
+
// get the source size
|
262
|
+
cssWidth = chart.renderTo.style.width;
|
263
|
+
cssHeight = chart.renderTo.style.height;
|
264
|
+
sourceWidth = options.exporting.sourceWidth ||
|
265
|
+
options.chart.width ||
|
266
|
+
(/px$/.test(cssWidth) && parseInt(cssWidth, 10)) ||
|
267
|
+
600;
|
268
|
+
sourceHeight = options.exporting.sourceHeight ||
|
269
|
+
options.chart.height ||
|
270
|
+
(/px$/.test(cssHeight) && parseInt(cssHeight, 10)) ||
|
271
|
+
400;
|
272
|
+
|
273
|
+
// override some options
|
274
|
+
extend(options.chart, {
|
275
|
+
animation: false,
|
276
|
+
renderTo: sandbox,
|
277
|
+
forExport: true,
|
278
|
+
renderer: 'SVGRenderer',
|
279
|
+
width: sourceWidth,
|
280
|
+
height: sourceHeight
|
281
|
+
});
|
282
|
+
options.exporting.enabled = false; // hide buttons in print
|
283
|
+
delete options.data; // #3004
|
284
|
+
|
285
|
+
// prepare for replicating the chart
|
286
|
+
options.series = [];
|
287
|
+
each(chart.series, function(serie) {
|
288
|
+
seriesOptions = merge(serie.userOptions, { // #4912
|
289
|
+
animation: false, // turn off animation
|
290
|
+
enableMouseTracking: false,
|
291
|
+
showCheckbox: false,
|
292
|
+
visible: serie.visible
|
293
|
+
});
|
294
|
+
|
295
|
+
if (!seriesOptions.isInternal) { // used for the navigator series that has its own option set
|
296
|
+
options.series.push(seriesOptions);
|
297
|
+
}
|
298
|
+
});
|
299
|
+
|
300
|
+
// Assign an internal key to ensure a one-to-one mapping (#5924)
|
301
|
+
each(chart.axes, function(axis) {
|
302
|
+
if (!axis.userOptions.internalKey) { // #6444
|
303
|
+
axis.userOptions.internalKey = H.uniqueKey();
|
304
|
+
}
|
305
|
+
});
|
306
|
+
|
307
|
+
// generate the chart copy
|
308
|
+
chartCopy = new H.Chart(options, chart.callback);
|
309
|
+
|
310
|
+
// Axis options and series options (#2022, #3900, #5982)
|
311
|
+
if (chartOptions) {
|
312
|
+
each(['xAxis', 'yAxis', 'series'], function(coll) {
|
313
|
+
var collOptions = {};
|
314
|
+
if (chartOptions[coll]) {
|
315
|
+
collOptions[coll] = chartOptions[coll];
|
316
|
+
chartCopy.update(collOptions);
|
317
|
+
}
|
318
|
+
});
|
319
|
+
}
|
320
|
+
|
321
|
+
// Reflect axis extremes in the export (#5924)
|
322
|
+
each(chart.axes, function(axis) {
|
323
|
+
var axisCopy = H.find(chartCopy.axes, function(copy) {
|
324
|
+
return copy.options.internalKey ===
|
325
|
+
axis.userOptions.internalKey;
|
326
|
+
}),
|
327
|
+
extremes = axis.getExtremes(),
|
328
|
+
userMin = extremes.userMin,
|
329
|
+
userMax = extremes.userMax;
|
330
|
+
|
331
|
+
if (axisCopy && (userMin !== undefined || userMax !== undefined)) {
|
332
|
+
axisCopy.setExtremes(userMin, userMax, true, false);
|
333
|
+
}
|
334
|
+
});
|
335
|
+
|
336
|
+
// Get the SVG from the container's innerHTML
|
337
|
+
svg = chartCopy.getChartHTML();
|
338
|
+
|
339
|
+
svg = chart.sanitizeSVG(svg, options);
|
340
|
+
|
341
|
+
// free up memory
|
342
|
+
options = null;
|
343
|
+
chartCopy.destroy();
|
344
|
+
discardElement(sandbox);
|
345
|
+
|
346
|
+
return svg;
|
347
|
+
},
|
348
|
+
|
349
|
+
getSVGForExport: function(options, chartOptions) {
|
350
|
+
var chartExportingOptions = this.options.exporting;
|
351
|
+
|
352
|
+
return this.getSVG(merge({
|
353
|
+
chart: {
|
354
|
+
borderRadius: 0
|
355
|
+
}
|
356
|
+
},
|
357
|
+
chartExportingOptions.chartOptions,
|
358
|
+
chartOptions, {
|
359
|
+
exporting: {
|
360
|
+
sourceWidth: (options && options.sourceWidth) || chartExportingOptions.sourceWidth,
|
361
|
+
sourceHeight: (options && options.sourceHeight) || chartExportingOptions.sourceHeight
|
362
|
+
}
|
363
|
+
}
|
364
|
+
));
|
365
|
+
},
|
366
|
+
|
367
|
+
/**
|
368
|
+
* Exporting module required. Submit an SVG version of the chart to a server
|
369
|
+
* along with some parameters for conversion.
|
370
|
+
* @param {Object} exportingOptions
|
371
|
+
* Exporting options in addition to those defined in {@link
|
372
|
+
* https://api.highcharts.com/highcharts/exporting|exporting}.
|
373
|
+
* @param {String} exportingOptions.filename
|
374
|
+
* The file name for the export without extension.
|
375
|
+
* @param {String} exportingOptions.url
|
376
|
+
* The URL for the server module to do the conversion.
|
377
|
+
* @param {Number} exportingOptions.width
|
378
|
+
* The width of the PNG or JPG image generated on the server.
|
379
|
+
* @param {String} exportingOptions.type
|
380
|
+
* The MIME type of the converted image.
|
381
|
+
* @param {Number} exportingOptions.sourceWidth
|
382
|
+
* The pixel width of the source (in-page) chart.
|
383
|
+
* @param {Number} exportingOptions.sourceHeight
|
384
|
+
* The pixel height of the source (in-page) chart.
|
385
|
+
* @param {Options} chartOptions
|
386
|
+
* Additional chart options for the exported chart. For example a
|
387
|
+
* different background color can be added here, or `dataLabels`
|
388
|
+
* for export only.
|
389
|
+
*
|
390
|
+
* @sample highcharts/members/chart-exportchart/
|
391
|
+
* Export with no options
|
392
|
+
* @sample highcharts/members/chart-exportchart-filename/
|
393
|
+
* PDF type and custom filename
|
394
|
+
* @sample highcharts/members/chart-exportchart-custom-background/
|
395
|
+
* Different chart background in export
|
396
|
+
*/
|
397
|
+
exportChart: function(exportingOptions, chartOptions) {
|
398
|
+
|
399
|
+
var svg = this.getSVGForExport(exportingOptions, chartOptions);
|
400
|
+
|
401
|
+
// merge the options
|
402
|
+
exportingOptions = merge(this.options.exporting, exportingOptions);
|
403
|
+
|
404
|
+
// do the post
|
405
|
+
H.post(exportingOptions.url, {
|
406
|
+
filename: exportingOptions.filename || 'chart',
|
407
|
+
type: exportingOptions.type,
|
408
|
+
width: exportingOptions.width || 0, // IE8 fails to post undefined correctly, so use 0
|
409
|
+
scale: exportingOptions.scale,
|
410
|
+
svg: svg
|
411
|
+
}, exportingOptions.formAttributes);
|
412
|
+
|
413
|
+
},
|
414
|
+
|
415
|
+
/**
|
416
|
+
* Exporting module required. Clears away other elements in the page and
|
417
|
+
* prints the chart as it is displayed. By default, when the exporting
|
418
|
+
* module is enabled, a context button with a drop down menu in the upper
|
419
|
+
* right corner accesses this function.
|
420
|
+
*
|
421
|
+
* @sample highcharts/members/chart-print/
|
422
|
+
* Print from a HTML button
|
423
|
+
*/
|
424
|
+
print: function() {
|
425
|
+
|
426
|
+
var chart = this,
|
427
|
+
container = chart.container,
|
428
|
+
origDisplay = [],
|
429
|
+
origParent = container.parentNode,
|
430
|
+
body = doc.body,
|
431
|
+
childNodes = body.childNodes,
|
432
|
+
printMaxWidth = chart.options.exporting.printMaxWidth,
|
433
|
+
resetParams,
|
434
|
+
handleMaxWidth;
|
435
|
+
|
436
|
+
if (chart.isPrinting) { // block the button while in printing mode
|
437
|
+
return;
|
438
|
+
}
|
439
|
+
|
440
|
+
chart.isPrinting = true;
|
441
|
+
chart.pointer.reset(null, 0);
|
442
|
+
|
443
|
+
fireEvent(chart, 'beforePrint');
|
444
|
+
|
445
|
+
// Handle printMaxWidth
|
446
|
+
handleMaxWidth = printMaxWidth && chart.chartWidth > printMaxWidth;
|
447
|
+
if (handleMaxWidth) {
|
448
|
+
resetParams = [chart.options.chart.width, undefined, false];
|
449
|
+
chart.setSize(printMaxWidth, undefined, false);
|
450
|
+
}
|
451
|
+
|
452
|
+
// hide all body content
|
453
|
+
each(childNodes, function(node, i) {
|
454
|
+
if (node.nodeType === 1) {
|
455
|
+
origDisplay[i] = node.style.display;
|
456
|
+
node.style.display = 'none';
|
457
|
+
}
|
458
|
+
});
|
459
|
+
|
460
|
+
// pull out the chart
|
461
|
+
body.appendChild(container);
|
462
|
+
|
463
|
+
// print
|
464
|
+
win.focus(); // #1510
|
465
|
+
win.print();
|
466
|
+
|
467
|
+
// allow the browser to prepare before reverting
|
468
|
+
setTimeout(function() {
|
469
|
+
|
470
|
+
// put the chart back in
|
471
|
+
origParent.appendChild(container);
|
472
|
+
|
473
|
+
// restore all body content
|
474
|
+
each(childNodes, function(node, i) {
|
475
|
+
if (node.nodeType === 1) {
|
476
|
+
node.style.display = origDisplay[i];
|
477
|
+
}
|
478
|
+
});
|
479
|
+
|
480
|
+
chart.isPrinting = false;
|
481
|
+
|
482
|
+
// Reset printMaxWidth
|
483
|
+
if (handleMaxWidth) {
|
484
|
+
chart.setSize.apply(chart, resetParams);
|
485
|
+
}
|
486
|
+
|
487
|
+
fireEvent(chart, 'afterPrint');
|
488
|
+
|
489
|
+
}, 1000);
|
490
|
+
|
491
|
+
},
|
492
|
+
|
493
|
+
/**
|
494
|
+
* Display a popup menu for choosing the export type
|
495
|
+
*
|
496
|
+
* @param {String} className An identifier for the menu
|
497
|
+
* @param {Array} items A collection with text and onclicks for the items
|
498
|
+
* @param {Number} x The x position of the opener button
|
499
|
+
* @param {Number} y The y position of the opener button
|
500
|
+
* @param {Number} width The width of the opener button
|
501
|
+
* @param {Number} height The height of the opener button
|
502
|
+
*/
|
503
|
+
contextMenu: function(className, items, x, y, width, height, button) {
|
504
|
+
var chart = this,
|
505
|
+
navOptions = chart.options.navigation,
|
506
|
+
chartWidth = chart.chartWidth,
|
507
|
+
chartHeight = chart.chartHeight,
|
508
|
+
cacheName = 'cache-' + className,
|
509
|
+
menu = chart[cacheName],
|
510
|
+
menuPadding = Math.max(width, height), // for mouse leave detection
|
511
|
+
innerMenu,
|
512
|
+
hide,
|
513
|
+
menuStyle;
|
514
|
+
|
515
|
+
// create the menu only the first time
|
516
|
+
if (!menu) {
|
517
|
+
|
518
|
+
// create a HTML element above the SVG
|
519
|
+
chart[cacheName] = menu = createElement('div', {
|
520
|
+
className: className
|
521
|
+
}, {
|
522
|
+
position: 'absolute',
|
523
|
+
zIndex: 1000,
|
524
|
+
padding: menuPadding + 'px'
|
525
|
+
}, chart.container);
|
526
|
+
|
527
|
+
innerMenu = createElement('div', {
|
528
|
+
className: 'highcharts-menu'
|
529
|
+
}, null, menu);
|
530
|
+
|
531
|
+
|
532
|
+
|
533
|
+
// hide on mouse out
|
534
|
+
hide = function() {
|
535
|
+
css(menu, {
|
536
|
+
display: 'none'
|
537
|
+
});
|
538
|
+
if (button) {
|
539
|
+
button.setState(0);
|
540
|
+
}
|
541
|
+
chart.openMenu = false;
|
542
|
+
};
|
543
|
+
|
544
|
+
// Hide the menu some time after mouse leave (#1357)
|
545
|
+
chart.exportEvents.push(
|
546
|
+
addEvent(menu, 'mouseleave', function() {
|
547
|
+
menu.hideTimer = setTimeout(hide, 500);
|
548
|
+
}),
|
549
|
+
addEvent(menu, 'mouseenter', function() {
|
550
|
+
clearTimeout(menu.hideTimer);
|
551
|
+
}),
|
552
|
+
|
553
|
+
// Hide it on clicking or touching outside the menu (#2258, #2335,
|
554
|
+
// #2407)
|
555
|
+
addEvent(doc, 'mouseup', function(e) {
|
556
|
+
if (!chart.pointer.inClass(e.target, className)) {
|
557
|
+
hide();
|
558
|
+
}
|
559
|
+
})
|
560
|
+
);
|
561
|
+
|
562
|
+
// create the items
|
563
|
+
each(items, function(item) {
|
564
|
+
if (item) {
|
565
|
+
var element;
|
566
|
+
|
567
|
+
if (item.separator) {
|
568
|
+
element = createElement('hr', null, null, innerMenu);
|
569
|
+
|
570
|
+
} else {
|
571
|
+
element = createElement('div', {
|
572
|
+
className: 'highcharts-menu-item',
|
573
|
+
onclick: function(e) {
|
574
|
+
if (e) { // IE7
|
575
|
+
e.stopPropagation();
|
576
|
+
}
|
577
|
+
hide();
|
578
|
+
if (item.onclick) {
|
579
|
+
item.onclick.apply(chart, arguments);
|
580
|
+
}
|
581
|
+
},
|
582
|
+
innerHTML: item.text || chart.options.lang[item.textKey]
|
583
|
+
}, null, innerMenu);
|
584
|
+
|
585
|
+
|
586
|
+
}
|
587
|
+
|
588
|
+
// Keep references to menu divs to be able to destroy them
|
589
|
+
chart.exportDivElements.push(element);
|
590
|
+
}
|
591
|
+
});
|
592
|
+
|
593
|
+
// Keep references to menu and innerMenu div to be able to destroy them
|
594
|
+
chart.exportDivElements.push(innerMenu, menu);
|
595
|
+
|
596
|
+
chart.exportMenuWidth = menu.offsetWidth;
|
597
|
+
chart.exportMenuHeight = menu.offsetHeight;
|
598
|
+
}
|
599
|
+
|
600
|
+
menuStyle = {
|
601
|
+
display: 'block'
|
602
|
+
};
|
603
|
+
|
604
|
+
// if outside right, right align it
|
605
|
+
if (x + chart.exportMenuWidth > chartWidth) {
|
606
|
+
menuStyle.right = (chartWidth - x - width - menuPadding) + 'px';
|
607
|
+
} else {
|
608
|
+
menuStyle.left = (x - menuPadding) + 'px';
|
609
|
+
}
|
610
|
+
// if outside bottom, bottom align it
|
611
|
+
if (y + height + chart.exportMenuHeight > chartHeight && button.alignOptions.verticalAlign !== 'top') {
|
612
|
+
menuStyle.bottom = (chartHeight - y - menuPadding) + 'px';
|
613
|
+
} else {
|
614
|
+
menuStyle.top = (y + height - menuPadding) + 'px';
|
615
|
+
}
|
616
|
+
|
617
|
+
css(menu, menuStyle);
|
618
|
+
chart.openMenu = true;
|
619
|
+
},
|
620
|
+
|
621
|
+
/**
|
622
|
+
* Add the export button to the chart
|
623
|
+
*/
|
624
|
+
addButton: function(options) {
|
625
|
+
var chart = this,
|
626
|
+
renderer = chart.renderer,
|
627
|
+
btnOptions = merge(chart.options.navigation.buttonOptions, options),
|
628
|
+
onclick = btnOptions.onclick,
|
629
|
+
menuItems = btnOptions.menuItems,
|
630
|
+
symbol,
|
631
|
+
button,
|
632
|
+
symbolSize = btnOptions.symbolSize || 12;
|
633
|
+
if (!chart.btnCount) {
|
634
|
+
chart.btnCount = 0;
|
635
|
+
}
|
636
|
+
|
637
|
+
// Keeps references to the button elements
|
638
|
+
if (!chart.exportDivElements) {
|
639
|
+
chart.exportDivElements = [];
|
640
|
+
chart.exportSVGElements = [];
|
641
|
+
}
|
642
|
+
|
643
|
+
if (btnOptions.enabled === false) {
|
644
|
+
return;
|
645
|
+
}
|
646
|
+
|
647
|
+
|
648
|
+
var attr = btnOptions.theme,
|
649
|
+
states = attr.states,
|
650
|
+
hover = states && states.hover,
|
651
|
+
select = states && states.select,
|
652
|
+
callback;
|
653
|
+
|
654
|
+
delete attr.states;
|
655
|
+
|
656
|
+
if (onclick) {
|
657
|
+
callback = function(e) {
|
658
|
+
e.stopPropagation();
|
659
|
+
onclick.call(chart, e);
|
660
|
+
};
|
661
|
+
|
662
|
+
} else if (menuItems) {
|
663
|
+
callback = function() {
|
664
|
+
chart.contextMenu(
|
665
|
+
button.menuClassName,
|
666
|
+
menuItems,
|
667
|
+
button.translateX,
|
668
|
+
button.translateY,
|
669
|
+
button.width,
|
670
|
+
button.height,
|
671
|
+
button
|
672
|
+
);
|
673
|
+
button.setState(2);
|
674
|
+
};
|
675
|
+
}
|
676
|
+
|
677
|
+
|
678
|
+
if (btnOptions.text && btnOptions.symbol) {
|
679
|
+
attr.paddingLeft = pick(attr.paddingLeft, 25);
|
680
|
+
|
681
|
+
} else if (!btnOptions.text) {
|
682
|
+
extend(attr, {
|
683
|
+
width: btnOptions.width,
|
684
|
+
height: btnOptions.height,
|
685
|
+
padding: 0
|
686
|
+
});
|
687
|
+
}
|
688
|
+
|
689
|
+
button = renderer.button(btnOptions.text, 0, 0, callback, attr, hover, select)
|
690
|
+
.addClass(options.className)
|
691
|
+
.attr({
|
692
|
+
|
693
|
+
title: chart.options.lang[btnOptions._titleKey],
|
694
|
+
zIndex: 3 // #4955
|
695
|
+
});
|
696
|
+
button.menuClassName = options.menuClassName || 'highcharts-menu-' + chart.btnCount++;
|
697
|
+
|
698
|
+
if (btnOptions.symbol) {
|
699
|
+
symbol = renderer.symbol(
|
700
|
+
btnOptions.symbol,
|
701
|
+
btnOptions.symbolX - (symbolSize / 2),
|
702
|
+
btnOptions.symbolY - (symbolSize / 2),
|
703
|
+
symbolSize,
|
704
|
+
symbolSize
|
705
|
+
)
|
706
|
+
.addClass('highcharts-button-symbol')
|
707
|
+
.attr({
|
708
|
+
zIndex: 1
|
709
|
+
}).add(button);
|
710
|
+
|
711
|
+
|
712
|
+
}
|
713
|
+
|
714
|
+
button.add()
|
715
|
+
.align(extend(btnOptions, {
|
716
|
+
width: button.width,
|
717
|
+
x: pick(btnOptions.x, chart.buttonOffset) // #1654
|
718
|
+
}), true, 'spacingBox');
|
719
|
+
|
720
|
+
chart.buttonOffset += (button.width + btnOptions.buttonSpacing) * (btnOptions.align === 'right' ? -1 : 1);
|
721
|
+
|
722
|
+
chart.exportSVGElements.push(button, symbol);
|
723
|
+
|
724
|
+
},
|
725
|
+
|
726
|
+
/**
|
727
|
+
* Destroy the buttons.
|
728
|
+
*/
|
729
|
+
destroyExport: function(e) {
|
730
|
+
var chart = e ? e.target : this,
|
731
|
+
exportSVGElements = chart.exportSVGElements,
|
732
|
+
exportDivElements = chart.exportDivElements,
|
733
|
+
exportEvents = chart.exportEvents,
|
734
|
+
cacheName;
|
735
|
+
|
736
|
+
// Destroy the extra buttons added
|
737
|
+
if (exportSVGElements) {
|
738
|
+
each(exportSVGElements, function(elem, i) {
|
739
|
+
|
740
|
+
// Destroy and null the svg/vml elements
|
741
|
+
if (elem) { // #1822
|
742
|
+
elem.onclick = elem.ontouchstart = null;
|
743
|
+
cacheName = 'cache-' + elem.menuClassName;
|
744
|
+
|
745
|
+
if (chart[cacheName]) {
|
746
|
+
delete chart[cacheName];
|
747
|
+
}
|
748
|
+
|
749
|
+
chart.exportSVGElements[i] = elem.destroy();
|
750
|
+
}
|
751
|
+
});
|
752
|
+
exportSVGElements.length = 0;
|
753
|
+
}
|
754
|
+
|
755
|
+
// Destroy the divs for the menu
|
756
|
+
if (exportDivElements) {
|
757
|
+
each(exportDivElements, function(elem, i) {
|
758
|
+
|
759
|
+
// Remove the event handler
|
760
|
+
clearTimeout(elem.hideTimer); // #5427
|
761
|
+
removeEvent(elem, 'mouseleave');
|
762
|
+
|
763
|
+
// Remove inline events
|
764
|
+
chart.exportDivElements[i] = elem.onmouseout = elem.onmouseover = elem.ontouchstart = elem.onclick = null;
|
765
|
+
|
766
|
+
// Destroy the div by moving to garbage bin
|
767
|
+
discardElement(elem);
|
768
|
+
});
|
769
|
+
exportDivElements.length = 0;
|
770
|
+
}
|
771
|
+
|
772
|
+
if (exportEvents) {
|
773
|
+
each(exportEvents, function(unbind) {
|
774
|
+
unbind();
|
775
|
+
});
|
776
|
+
exportEvents.length = 0;
|
777
|
+
}
|
778
|
+
}
|
779
|
+
});
|
780
|
+
|
781
|
+
|
782
|
+
// These ones are translated to attributes rather than styles
|
783
|
+
SVGRenderer.prototype.inlineToAttributes = [
|
784
|
+
'fill',
|
785
|
+
'stroke',
|
786
|
+
'strokeLinecap',
|
787
|
+
'strokeLinejoin',
|
788
|
+
'strokeWidth',
|
789
|
+
'textAnchor',
|
790
|
+
'x',
|
791
|
+
'y'
|
792
|
+
];
|
793
|
+
// These CSS properties are not inlined. Remember camelCase.
|
794
|
+
SVGRenderer.prototype.inlineBlacklist = [
|
795
|
+
/-/, // In Firefox, both hyphened and camelCased names are listed
|
796
|
+
/^(clipPath|cssText|d|height|width)$/, // Full words
|
797
|
+
/^font$/, // more specific props are set
|
798
|
+
/[lL]ogical(Width|Height)$/,
|
799
|
+
/perspective/,
|
800
|
+
/TapHighlightColor/,
|
801
|
+
/^transition/
|
802
|
+
// /^text (border|color|cursor|height|webkitBorder)/
|
803
|
+
];
|
804
|
+
SVGRenderer.prototype.unstyledElements = [
|
805
|
+
'clipPath',
|
806
|
+
'defs',
|
807
|
+
'desc'
|
808
|
+
];
|
809
|
+
|
810
|
+
/**
|
811
|
+
* Analyze inherited styles from stylesheets and add them inline
|
812
|
+
*
|
813
|
+
* @todo: What are the border styles for text about? In general, text has a lot of properties.
|
814
|
+
* @todo: Make it work with IE9 and IE10.
|
815
|
+
*/
|
816
|
+
Chart.prototype.inlineStyles = function() {
|
817
|
+
var renderer = this.renderer,
|
818
|
+
inlineToAttributes = renderer.inlineToAttributes,
|
819
|
+
blacklist = renderer.inlineBlacklist,
|
820
|
+
unstyledElements = renderer.unstyledElements,
|
821
|
+
defaultStyles = {},
|
822
|
+
dummySVG;
|
823
|
+
|
824
|
+
/**
|
825
|
+
* Make hyphenated property names out of camelCase
|
826
|
+
*/
|
827
|
+
function hyphenate(prop) {
|
828
|
+
return prop.replace(
|
829
|
+
/([A-Z])/g,
|
830
|
+
function(a, b) {
|
831
|
+
return '-' + b.toLowerCase();
|
832
|
+
}
|
833
|
+
);
|
834
|
+
}
|
835
|
+
|
836
|
+
/**
|
837
|
+
* Call this on all elements and recurse to children
|
838
|
+
*/
|
839
|
+
function recurse(node) {
|
840
|
+
var styles,
|
841
|
+
parentStyles,
|
842
|
+
cssText = '',
|
843
|
+
dummy,
|
844
|
+
styleAttr,
|
845
|
+
blacklisted,
|
846
|
+
i,
|
847
|
+
prop;
|
848
|
+
|
849
|
+
if (node.nodeType === 1 && unstyledElements.indexOf(node.nodeName) === -1) {
|
850
|
+
styles = win.getComputedStyle(node, null);
|
851
|
+
parentStyles = node.nodeName === 'svg' ? {} : win.getComputedStyle(node.parentNode, null);
|
852
|
+
|
853
|
+
// Get default styles from the browser so that we don't have to add these
|
854
|
+
if (!defaultStyles[node.nodeName]) {
|
855
|
+
if (!dummySVG) {
|
856
|
+
dummySVG = doc.createElementNS(H.SVG_NS, 'svg');
|
857
|
+
dummySVG.setAttribute('version', '1.1');
|
858
|
+
doc.body.appendChild(dummySVG);
|
859
|
+
}
|
860
|
+
dummy = doc.createElementNS(node.namespaceURI, node.nodeName);
|
861
|
+
dummySVG.appendChild(dummy);
|
862
|
+
defaultStyles[node.nodeName] = merge(win.getComputedStyle(dummy, null)); // Copy, so we can remove the node
|
863
|
+
dummySVG.removeChild(dummy);
|
864
|
+
}
|
865
|
+
|
866
|
+
// Loop over all the computed styles and check whether they are in
|
867
|
+
// the white list for styles or atttributes. Use a plain for-in loop
|
868
|
+
// because the styles object also contains numerically indexed
|
869
|
+
// pointers to its keys, and objectEach will fail in Firefox.
|
870
|
+
for (prop in styles) {
|
871
|
+
// Check against blacklist
|
872
|
+
blacklisted = false;
|
873
|
+
i = blacklist.length;
|
874
|
+
while (i-- && !blacklisted) {
|
875
|
+
blacklisted = blacklist[i].test(prop) ||
|
876
|
+
typeof styles[prop] === 'function';
|
877
|
+
}
|
878
|
+
|
879
|
+
if (!blacklisted) {
|
880
|
+
|
881
|
+
// If parent node has the same style, it gets inherited, no
|
882
|
+
// need to inline it
|
883
|
+
if (
|
884
|
+
parentStyles[prop] !== styles[prop] &&
|
885
|
+
defaultStyles[node.nodeName][prop] !== styles[prop]
|
886
|
+
) {
|
887
|
+
|
888
|
+
// Attributes
|
889
|
+
if (inlineToAttributes.indexOf(prop) !== -1) {
|
890
|
+
node.setAttribute(hyphenate(prop), styles[prop]);
|
891
|
+
|
892
|
+
// Styles
|
893
|
+
} else {
|
894
|
+
cssText += hyphenate(prop) + ':' +
|
895
|
+
styles[prop] + ';';
|
896
|
+
}
|
897
|
+
}
|
898
|
+
}
|
899
|
+
}
|
900
|
+
|
901
|
+
// Apply styles
|
902
|
+
if (cssText) {
|
903
|
+
styleAttr = node.getAttribute('style');
|
904
|
+
node.setAttribute('style', (styleAttr ? styleAttr + ';' : '') + cssText);
|
905
|
+
}
|
906
|
+
|
907
|
+
if (node.nodeName === 'text') {
|
908
|
+
return;
|
909
|
+
}
|
910
|
+
|
911
|
+
// Recurse
|
912
|
+
each(node.children || node.childNodes, recurse);
|
913
|
+
}
|
914
|
+
}
|
915
|
+
|
916
|
+
/**
|
917
|
+
* Remove the dummy objects used to get defaults
|
918
|
+
*/
|
919
|
+
function tearDown() {
|
920
|
+
dummySVG.parentNode.removeChild(dummySVG);
|
921
|
+
}
|
922
|
+
|
923
|
+
recurse(this.container.querySelector('svg'));
|
924
|
+
tearDown();
|
925
|
+
|
926
|
+
};
|
927
|
+
|
928
|
+
|
929
|
+
|
930
|
+
symbols.menu = function(x, y, width, height) {
|
931
|
+
var arr = [
|
932
|
+
'M', x, y + 2.5,
|
933
|
+
'L', x + width, y + 2.5,
|
934
|
+
'M', x, y + height / 2 + 0.5,
|
935
|
+
'L', x + width, y + height / 2 + 0.5,
|
936
|
+
'M', x, y + height - 1.5,
|
937
|
+
'L', x + width, y + height - 1.5
|
938
|
+
];
|
939
|
+
return arr;
|
940
|
+
};
|
941
|
+
|
942
|
+
// Add the buttons on chart load
|
943
|
+
Chart.prototype.renderExporting = function() {
|
944
|
+
var chart = this,
|
945
|
+
exportingOptions = chart.options.exporting,
|
946
|
+
buttons = exportingOptions.buttons,
|
947
|
+
isDirty = chart.isDirtyExporting || !chart.exportSVGElements;
|
948
|
+
|
949
|
+
chart.buttonOffset = 0;
|
950
|
+
if (chart.isDirtyExporting) {
|
951
|
+
chart.destroyExport();
|
952
|
+
}
|
953
|
+
|
954
|
+
if (isDirty && exportingOptions.enabled !== false) {
|
955
|
+
chart.exportEvents = [];
|
956
|
+
|
957
|
+
objectEach(buttons, function(button) {
|
958
|
+
chart.addButton(button);
|
959
|
+
});
|
960
|
+
|
961
|
+
chart.isDirtyExporting = false;
|
962
|
+
}
|
963
|
+
|
964
|
+
// Destroy the export elements at chart destroy
|
965
|
+
addEvent(chart, 'destroy', chart.destroyExport);
|
966
|
+
};
|
967
|
+
|
968
|
+
Chart.prototype.callbacks.push(function(chart) {
|
969
|
+
|
970
|
+
function update(prop, options, redraw) {
|
971
|
+
chart.isDirtyExporting = true;
|
972
|
+
merge(true, chart.options[prop], options);
|
973
|
+
if (pick(redraw, true)) {
|
974
|
+
chart.redraw();
|
975
|
+
}
|
976
|
+
|
977
|
+
}
|
978
|
+
|
979
|
+
chart.renderExporting();
|
980
|
+
|
981
|
+
addEvent(chart, 'redraw', chart.renderExporting);
|
982
|
+
|
983
|
+
// Add update methods to handle chart.update and chart.exporting.update
|
984
|
+
// and chart.navigation.update.
|
985
|
+
each(['exporting', 'navigation'], function(prop) {
|
986
|
+
chart[prop] = {
|
987
|
+
update: function(options, redraw) {
|
988
|
+
update(prop, options, redraw);
|
989
|
+
}
|
990
|
+
};
|
991
|
+
});
|
992
|
+
|
993
|
+
// Uncomment this to see a button directly below the chart, for quick
|
994
|
+
// testing of export
|
995
|
+
/*
|
996
|
+
if (!chart.renderer.forExport) {
|
997
|
+
var button;
|
998
|
+
|
999
|
+
// View SVG Image
|
1000
|
+
button = doc.createElement('button');
|
1001
|
+
button.innerHTML = 'View SVG Image';
|
1002
|
+
chart.renderTo.parentNode.appendChild(button);
|
1003
|
+
button.onclick = function () {
|
1004
|
+
var div = doc.createElement('div');
|
1005
|
+
div.innerHTML = chart.getSVGForExport();
|
1006
|
+
chart.renderTo.parentNode.appendChild(div);
|
1007
|
+
};
|
1008
|
+
|
1009
|
+
// View SVG Source
|
1010
|
+
button = doc.createElement('button');
|
1011
|
+
button.innerHTML = 'View SVG Source';
|
1012
|
+
chart.renderTo.parentNode.appendChild(button);
|
1013
|
+
button.onclick = function () {
|
1014
|
+
var pre = doc.createElement('pre');
|
1015
|
+
pre.innerHTML = chart.getSVGForExport()
|
1016
|
+
.replace(/</g, '\n<')
|
1017
|
+
.replace(/>/g, '>');
|
1018
|
+
chart.renderTo.parentNode.appendChild(pre);
|
1019
|
+
};
|
1020
|
+
}
|
1021
|
+
// */
|
1022
|
+
});
|
1023
|
+
|
1024
|
+
}(Highcharts));
|
780
1025
|
}));
|