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,17 @@
|
|
1
|
+
/*
|
2
|
+
Highcharts JS v5.0.11 (2017-05-04)
|
3
|
+
Exporting module
|
4
|
+
|
5
|
+
(c) 2010-2017 Torstein Honsi
|
6
|
+
|
7
|
+
License: www.highcharts.com/license
|
8
|
+
*/
|
9
|
+
(function(f){"object"===typeof module&&module.exports?module.exports=f:f(Highcharts)})(function(f){(function(c){function f(a,k,m,b,l){var g,e=((a.options.exporting||{}).csv||{}).url||"http://www.highcharts.com/studies/csv-export/download.php";g=a.options.exporting.filename?a.options.exporting.filename:a.title?a.title.textStr.replace(/ /g,"-").toLowerCase():"chart";d.Blob&&d.navigator.msSaveOrOpenBlob?(a=new d.Blob([b]),d.navigator.msSaveOrOpenBlob(a,g+"."+m)):w?(b=t.createElement("a"),b.href=k,b.target=
|
10
|
+
"_blank",b.download=g+"."+m,a.container.append(b),b.click(),b.remove()):c.post(e,{data:b,type:l,extension:m})}var q=c.each,v=c.pick,d=c.win,t=d.document,n=c.seriesTypes,w=void 0!==t.createElement("a").download;c.setOptions({lang:{downloadCSV:"Download CSV",downloadXLS:"Download XLS",viewData:"View data table"}});c.Chart.prototype.getDataRows=function(){var a=(this.options.exporting||{}).csv||{},k,m=this.xAxis,b={},l=[],g=[],e,p,u=a.dateFormat||"%Y-%m-%d %H:%M:%S",f=a.columnHeaderFormatter||function(h,
|
11
|
+
b,a){return h instanceof c.Axis?h.options.title&&h.options.title.text||(h.isDatetimeAxis?"DateTime":"Category"):h?h.name+(1<a?" ("+b+")":""):"Category"},r=[];e=0;q(this.series,function(h){var a=h.options.keys||h.pointArrayMap||["y"],k=a.length,u=h.requireSorting,p={},l=c.inArray(h.xAxis,m),d;q(a,function(a){p[a]=h[a+"Axis"]&&h[a+"Axis"].categories||[]});if(!1!==h.options.includeInCSVExport&&!1!==h.visible){c.find(r,function(a){return a[0]===l})||r.push([l,e]);for(d=0;d<k;)g.push(f(h,a[d],a.length)),
|
12
|
+
d++;q(h.points,function(c,g){g=u?c.x:g;var m,f;d=0;b[g]||(b[g]=[],b[g].xValues=[]);b[g].x=c.x;b[g].xValues[l]=c.x;h.xAxis&&"name"!==h.exportKey||(b[g].name=c.name);for(;d<k;)m=a[d],f=c[m],b[g][e+d]=v(p[m][f],f),d++});e+=d}});for(p in b)b.hasOwnProperty(p)&&l.push(b[p]);var d,n,a=[g];for(e=r.length;e--;)d=r[e][0],n=r[e][1],k=m[d],l.sort(function(a,b){return a.xValues[d]-b.xValues[d]}),p=f(k),a[0].splice(n,0,p),q(l,function(a){var b=a.name;b||(k.isDatetimeAxis?(a.x instanceof Date&&(a.x=a.x.getTime()),
|
13
|
+
b=c.dateFormat(u,a.x)):b=k.categories?v(k.names[a.x],k.categories[a.x],a.x):a.x);a.splice(n,0,b)});return a=a.concat(l)};c.Chart.prototype.getCSV=function(a){var c="",d=this.getDataRows(),b=(this.options.exporting||{}).csv||{},l=b.itemDelimiter||",",g=b.lineDelimiter||"\n";q(d,function(b,k){for(var e,f=b.length,p=a?(1.1).toLocaleString()[1]:".";f--;)e=b[f],"string"===typeof e&&(e='"'+e+'"'),"number"===typeof e&&","===p&&(e=e.toString().replace(".",",")),b[f]=e;c+=b.join(l);k<d.length-1&&(c+=g)});
|
14
|
+
return c};c.Chart.prototype.getTable=function(a){var c="\x3ctable\x3e\x3cthead\x3e",d=this.getDataRows();q(d,function(b,d){var g=d?"td":"th",e,f,k=a?(1.1).toLocaleString()[1]:".";c+="\x3ctr\x3e";for(f=0;f<b.length;f+=1)e=b[f],"number"===typeof e?(e=e.toString(),","===k&&(e=e.replace(".",k)),c+="\x3c"+g+' class\x3d"number"\x3e'+e+"\x3c/"+g+"\x3e"):c+="\x3c"+g+"\x3e"+(void 0===e?"":e)+"\x3c/"+g+"\x3e";c+="\x3c/tr\x3e";d||(c+="\x3c/thead\x3e\x3ctbody\x3e")});return c+="\x3c/tbody\x3e\x3c/table\x3e"};
|
15
|
+
c.Chart.prototype.downloadCSV=function(){var a=this.getCSV(!0);f(this,"data:text/csv,\ufeff"+encodeURIComponent(a),"csv",a,"text/csv")};c.Chart.prototype.downloadXLS=function(){var a='\x3chtml xmlns:o\x3d"urn:schemas-microsoft-com:office:office" xmlns:x\x3d"urn:schemas-microsoft-com:office:excel" xmlns\x3d"http://www.w3.org/TR/REC-html40"\x3e\x3chead\x3e\x3c!--[if gte mso 9]\x3e\x3cxml\x3e\x3cx:ExcelWorkbook\x3e\x3cx:ExcelWorksheets\x3e\x3cx:ExcelWorksheet\x3e\x3cx:Name\x3eArk1\x3c/x:Name\x3e\x3cx:WorksheetOptions\x3e\x3cx:DisplayGridlines/\x3e\x3c/x:WorksheetOptions\x3e\x3c/x:ExcelWorksheet\x3e\x3c/x:ExcelWorksheets\x3e\x3c/x:ExcelWorkbook\x3e\x3c/xml\x3e\x3c![endif]--\x3e\x3cstyle\x3etd{border:none;font-family: Calibri, sans-serif;} .number{mso-number-format:"0.00";}\x3c/style\x3e\x3cmeta name\x3dProgId content\x3dExcel.Sheet\x3e\x3cmeta charset\x3dUTF-8\x3e\x3c/head\x3e\x3cbody\x3e'+
|
16
|
+
this.getTable(!0)+"\x3c/body\x3e\x3c/html\x3e";f(this,"data:application/vnd.ms-excel;base64,"+d.btoa(unescape(encodeURIComponent(a))),"xls",a,"application/vnd.ms-excel")};c.Chart.prototype.viewData=function(){this.dataTableDiv||(this.dataTableDiv=t.createElement("div"),this.dataTableDiv.className="highcharts-data-table",this.renderTo.parentNode.insertBefore(this.dataTableDiv,this.renderTo.nextSibling));this.dataTableDiv.innerHTML=this.getTable()};c.getOptions().exporting&&c.getOptions().exporting.buttons.contextButton.menuItems.push({textKey:"downloadCSV",
|
17
|
+
onclick:function(){this.downloadCSV()}},{textKey:"downloadXLS",onclick:function(){this.downloadXLS()}},{textKey:"viewData",onclick:function(){this.viewData()}});n.map&&(n.map.prototype.exportKey="name");n.mapbubble&&(n.mapbubble.prototype.exportKey="name");n.treemap&&(n.treemap.prototype.exportKey="name")})(f)});
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{
|
2
|
+
"version":3,
|
3
|
+
"file":"",
|
4
|
+
"lineCount":17,
|
5
|
+
"mappings":"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",
|
6
|
+
"sources":["Input_0"],
|
7
|
+
"names":["factory","module","exports","Highcharts","getContent","chart","href","extension","content","MIME","name","url","csv","options","exporting","filename","title","textStr","replace","toLowerCase","win","Blob","navigator","msSaveOrOpenBlob","blobObject","downloadAttrSupported","a","doc","createElement","target","download","container","append","click","remove","post","data","type","each","pick","document","seriesTypes","undefined","setOptions","lang","downloadCSV","downloadXLS","viewData","Chart","prototype","getDataRows","Highcharts.Chart.prototype.getDataRows","xAxis","xAxes","rows","rowArr","names","i","x","dateFormat","columnHeaderFormatter","item","key","keyLength","Axis","text","isDatetimeAxis","xAxisIndices","series","pointArrayMap","keys","valueCount","length","requireSorting","categoryMap","xAxisIndex","inArray","j","prop","categories","includeInCSVExport","visible","find","index","push","points","point","pIdx","val","xValues","exportKey","hasOwnProperty","column","dataRows","sort","b","xTitle","splice","row","category","Date","getTime","concat","getCSV","Highcharts.Chart.prototype.getCSV","useLocalDecimalPoint","itemDelimiter","lineDelimiter","n","toLocaleString","toString","join","getTable","Highcharts.Chart.prototype.getTable","html","tag","Highcharts.Chart.prototype.downloadCSV","encodeURIComponent","Highcharts.Chart.prototype.downloadXLS","template","uri","btoa","unescape","Highcharts.Chart.prototype.viewData","dataTableDiv","className","renderTo","parentNode","insertBefore","nextSibling","innerHTML","getOptions","buttons","contextButton","menuItems","textKey","onclick","map","mapbubble","treemap"]
|
8
|
+
}
|
@@ -0,0 +1,417 @@
|
|
1
|
+
/**
|
2
|
+
* @license Highcharts JS v5.0.11 (2017-05-04)
|
3
|
+
* Exporting module
|
4
|
+
*
|
5
|
+
* (c) 2010-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(Highcharts) {
|
18
|
+
/**
|
19
|
+
* Expoerimental data export module for Highcharts
|
20
|
+
*
|
21
|
+
* (c) 2010-2017 Torstein Honsi
|
22
|
+
*
|
23
|
+
* License: www.highcharts.com/license
|
24
|
+
*/
|
25
|
+
|
26
|
+
// docs
|
27
|
+
// - After experimental release:
|
28
|
+
// - Move info in repo readme to docs/API.
|
29
|
+
// - Deprecate repo and plugins page
|
30
|
+
// - Update demos (esp accessibility) to use new URL
|
31
|
+
// - Before official release, set up systematic tests for all series types
|
32
|
+
|
33
|
+
/* eslint indent:0 */
|
34
|
+
|
35
|
+
var each = Highcharts.each,
|
36
|
+
pick = Highcharts.pick,
|
37
|
+
win = Highcharts.win,
|
38
|
+
doc = win.document,
|
39
|
+
seriesTypes = Highcharts.seriesTypes,
|
40
|
+
downloadAttrSupported = doc.createElement('a').download !== undefined;
|
41
|
+
|
42
|
+
Highcharts.setOptions({
|
43
|
+
lang: {
|
44
|
+
downloadCSV: 'Download CSV',
|
45
|
+
downloadXLS: 'Download XLS',
|
46
|
+
viewData: 'View data table'
|
47
|
+
}
|
48
|
+
});
|
49
|
+
|
50
|
+
/**
|
51
|
+
* Get the data rows as a two dimensional array
|
52
|
+
*/
|
53
|
+
Highcharts.Chart.prototype.getDataRows = function() {
|
54
|
+
var options = (this.options.exporting || {}).csv || {},
|
55
|
+
xAxis,
|
56
|
+
xAxes = this.xAxis,
|
57
|
+
rows = {},
|
58
|
+
rowArr = [],
|
59
|
+
dataRows,
|
60
|
+
names = [],
|
61
|
+
i,
|
62
|
+
x,
|
63
|
+
xTitle,
|
64
|
+
// Options
|
65
|
+
dateFormat = options.dateFormat || '%Y-%m-%d %H:%M:%S',
|
66
|
+
columnHeaderFormatter = options.columnHeaderFormatter || function(item, key, keyLength) {
|
67
|
+
if (item instanceof Highcharts.Axis) {
|
68
|
+
return (item.options.title && item.options.title.text) ||
|
69
|
+
(item.isDatetimeAxis ? 'DateTime' : 'Category');
|
70
|
+
}
|
71
|
+
return item ?
|
72
|
+
item.name + (keyLength > 1 ? ' (' + key + ')' : '') :
|
73
|
+
'Category';
|
74
|
+
},
|
75
|
+
xAxisIndices = [];
|
76
|
+
|
77
|
+
// Loop the series and index values
|
78
|
+
i = 0;
|
79
|
+
each(this.series, function(series) {
|
80
|
+
var keys = series.options.keys,
|
81
|
+
pointArrayMap = keys || series.pointArrayMap || ['y'],
|
82
|
+
valueCount = pointArrayMap.length,
|
83
|
+
requireSorting = series.requireSorting,
|
84
|
+
categoryMap = {},
|
85
|
+
xAxisIndex = Highcharts.inArray(series.xAxis, xAxes),
|
86
|
+
j;
|
87
|
+
|
88
|
+
// Map the categories for value axes
|
89
|
+
each(pointArrayMap, function(prop) {
|
90
|
+
categoryMap[prop] = (series[prop + 'Axis'] && series[prop + 'Axis'].categories) || [];
|
91
|
+
});
|
92
|
+
|
93
|
+
if (series.options.includeInCSVExport !== false && series.visible !== false) { // #55
|
94
|
+
|
95
|
+
// Build a lookup for X axis index and the position of the first
|
96
|
+
// series that belongs to that X axis. Includes -1 for non-axis
|
97
|
+
// series types like pies.
|
98
|
+
if (!Highcharts.find(xAxisIndices, function(index) {
|
99
|
+
return index[0] === xAxisIndex;
|
100
|
+
})) {
|
101
|
+
xAxisIndices.push([xAxisIndex, i]);
|
102
|
+
}
|
103
|
+
|
104
|
+
// Add the column headers, usually the same as series names
|
105
|
+
j = 0;
|
106
|
+
while (j < valueCount) {
|
107
|
+
names.push(columnHeaderFormatter(series, pointArrayMap[j], pointArrayMap.length));
|
108
|
+
j++;
|
109
|
+
}
|
110
|
+
|
111
|
+
each(series.points, function(point, pIdx) {
|
112
|
+
var key = requireSorting ? point.x : pIdx,
|
113
|
+
prop,
|
114
|
+
val;
|
115
|
+
|
116
|
+
j = 0;
|
117
|
+
|
118
|
+
if (!rows[key]) {
|
119
|
+
// Generate the row
|
120
|
+
rows[key] = [];
|
121
|
+
// Contain the X values from one or more X axes
|
122
|
+
rows[key].xValues = [];
|
123
|
+
}
|
124
|
+
rows[key].x = point.x;
|
125
|
+
rows[key].xValues[xAxisIndex] = point.x;
|
126
|
+
|
127
|
+
// Pies, funnels, geo maps etc. use point name in X row
|
128
|
+
if (!series.xAxis || series.exportKey === 'name') {
|
129
|
+
rows[key].name = point.name;
|
130
|
+
}
|
131
|
+
|
132
|
+
while (j < valueCount) {
|
133
|
+
prop = pointArrayMap[j]; // y, z etc
|
134
|
+
val = point[prop];
|
135
|
+
// Pick a Y axis category if present
|
136
|
+
rows[key][i + j] = pick(categoryMap[prop][val], val);
|
137
|
+
j++;
|
138
|
+
}
|
139
|
+
|
140
|
+
});
|
141
|
+
i = i + j;
|
142
|
+
}
|
143
|
+
});
|
144
|
+
|
145
|
+
// Make a sortable array
|
146
|
+
for (x in rows) {
|
147
|
+
if (rows.hasOwnProperty(x)) {
|
148
|
+
rowArr.push(rows[x]);
|
149
|
+
}
|
150
|
+
}
|
151
|
+
|
152
|
+
var xAxisIndex, column;
|
153
|
+
dataRows = [names];
|
154
|
+
|
155
|
+
i = xAxisIndices.length;
|
156
|
+
while (i--) { // Start from end to splice in
|
157
|
+
xAxisIndex = xAxisIndices[i][0];
|
158
|
+
column = xAxisIndices[i][1];
|
159
|
+
xAxis = xAxes[xAxisIndex];
|
160
|
+
|
161
|
+
// Sort it by X values
|
162
|
+
rowArr.sort(function(a, b) { // eslint-disable-line no-loop-func
|
163
|
+
return a.xValues[xAxisIndex] - b.xValues[xAxisIndex];
|
164
|
+
});
|
165
|
+
|
166
|
+
// Add header row
|
167
|
+
xTitle = columnHeaderFormatter(xAxis);
|
168
|
+
//dataRows = [[xTitle].concat(names)];
|
169
|
+
dataRows[0].splice(column, 0, xTitle);
|
170
|
+
|
171
|
+
// Add the category column
|
172
|
+
each(rowArr, function(row) { // eslint-disable-line no-loop-func
|
173
|
+
var category = row.name;
|
174
|
+
if (!category) {
|
175
|
+
if (xAxis.isDatetimeAxis) {
|
176
|
+
if (row.x instanceof Date) {
|
177
|
+
row.x = row.x.getTime();
|
178
|
+
}
|
179
|
+
category = Highcharts.dateFormat(dateFormat, row.x);
|
180
|
+
} else if (xAxis.categories) {
|
181
|
+
category = pick(
|
182
|
+
xAxis.names[row.x],
|
183
|
+
xAxis.categories[row.x],
|
184
|
+
row.x
|
185
|
+
);
|
186
|
+
} else {
|
187
|
+
category = row.x;
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
// Add the X/date/category
|
192
|
+
row.splice(column, 0, category);
|
193
|
+
});
|
194
|
+
}
|
195
|
+
dataRows = dataRows.concat(rowArr);
|
196
|
+
|
197
|
+
return dataRows;
|
198
|
+
};
|
199
|
+
|
200
|
+
/**
|
201
|
+
* Get a CSV string
|
202
|
+
*/
|
203
|
+
Highcharts.Chart.prototype.getCSV = function(useLocalDecimalPoint) {
|
204
|
+
var csv = '',
|
205
|
+
rows = this.getDataRows(),
|
206
|
+
options = (this.options.exporting || {}).csv || {},
|
207
|
+
itemDelimiter = options.itemDelimiter || ',', // use ';' for direct to Excel
|
208
|
+
lineDelimiter = options.lineDelimiter || '\n'; // '\n' isn't working with the js csv data extraction
|
209
|
+
|
210
|
+
// Transform the rows to CSV
|
211
|
+
each(rows, function(row, i) {
|
212
|
+
var val = '',
|
213
|
+
j = row.length,
|
214
|
+
n = useLocalDecimalPoint ? (1.1).toLocaleString()[1] : '.';
|
215
|
+
while (j--) {
|
216
|
+
val = row[j];
|
217
|
+
if (typeof val === 'string') {
|
218
|
+
val = '"' + val + '"';
|
219
|
+
}
|
220
|
+
if (typeof val === 'number') {
|
221
|
+
if (n === ',') {
|
222
|
+
val = val.toString().replace('.', ',');
|
223
|
+
}
|
224
|
+
}
|
225
|
+
row[j] = val;
|
226
|
+
}
|
227
|
+
// Add the values
|
228
|
+
csv += row.join(itemDelimiter);
|
229
|
+
|
230
|
+
// Add the line delimiter
|
231
|
+
if (i < rows.length - 1) {
|
232
|
+
csv += lineDelimiter;
|
233
|
+
}
|
234
|
+
});
|
235
|
+
return csv;
|
236
|
+
};
|
237
|
+
|
238
|
+
/**
|
239
|
+
* Build a HTML table with the data
|
240
|
+
*/
|
241
|
+
Highcharts.Chart.prototype.getTable = function(useLocalDecimalPoint) {
|
242
|
+
var html = '<table><thead>',
|
243
|
+
rows = this.getDataRows();
|
244
|
+
|
245
|
+
// Transform the rows to HTML
|
246
|
+
each(rows, function(row, i) {
|
247
|
+
var tag = i ? 'td' : 'th',
|
248
|
+
val,
|
249
|
+
j,
|
250
|
+
n = useLocalDecimalPoint ? (1.1).toLocaleString()[1] : '.';
|
251
|
+
|
252
|
+
html += '<tr>';
|
253
|
+
for (j = 0; j < row.length; j = j + 1) {
|
254
|
+
val = row[j];
|
255
|
+
// Add the cell
|
256
|
+
if (typeof val === 'number') {
|
257
|
+
val = val.toString();
|
258
|
+
if (n === ',') {
|
259
|
+
val = val.replace('.', n);
|
260
|
+
}
|
261
|
+
html += '<' + tag + ' class="number">' + val + '</' + tag + '>';
|
262
|
+
|
263
|
+
} else {
|
264
|
+
html += '<' + tag + '>' + (val === undefined ? '' : val) + '</' + tag + '>';
|
265
|
+
}
|
266
|
+
}
|
267
|
+
|
268
|
+
html += '</tr>';
|
269
|
+
|
270
|
+
// After the first row, end head and start body
|
271
|
+
if (!i) {
|
272
|
+
html += '</thead><tbody>';
|
273
|
+
}
|
274
|
+
|
275
|
+
});
|
276
|
+
html += '</tbody></table>';
|
277
|
+
|
278
|
+
return html;
|
279
|
+
};
|
280
|
+
|
281
|
+
function getContent(chart, href, extension, content, MIME) {
|
282
|
+
var a,
|
283
|
+
blobObject,
|
284
|
+
name,
|
285
|
+
options = (chart.options.exporting || {}).csv || {},
|
286
|
+
url = options.url || 'http://www.highcharts.com/studies/csv-export/download.php';
|
287
|
+
|
288
|
+
if (chart.options.exporting.filename) {
|
289
|
+
name = chart.options.exporting.filename;
|
290
|
+
} else if (chart.title) {
|
291
|
+
name = chart.title.textStr.replace(/ /g, '-').toLowerCase();
|
292
|
+
} else {
|
293
|
+
name = 'chart';
|
294
|
+
}
|
295
|
+
|
296
|
+
// MS specific. Check this first because of bug with Edge (#76)
|
297
|
+
if (win.Blob && win.navigator.msSaveOrOpenBlob) {
|
298
|
+
// Falls to msSaveOrOpenBlob if download attribute is not supported
|
299
|
+
blobObject = new win.Blob([content]);
|
300
|
+
win.navigator.msSaveOrOpenBlob(blobObject, name + '.' + extension);
|
301
|
+
|
302
|
+
// Download attribute supported
|
303
|
+
} else if (downloadAttrSupported) {
|
304
|
+
a = doc.createElement('a');
|
305
|
+
a.href = href;
|
306
|
+
a.target = '_blank';
|
307
|
+
a.download = name + '.' + extension;
|
308
|
+
chart.container.append(a); // #111
|
309
|
+
a.click();
|
310
|
+
a.remove();
|
311
|
+
|
312
|
+
} else {
|
313
|
+
// Fall back to server side handling
|
314
|
+
Highcharts.post(url, {
|
315
|
+
data: content,
|
316
|
+
type: MIME,
|
317
|
+
extension: extension
|
318
|
+
});
|
319
|
+
}
|
320
|
+
}
|
321
|
+
|
322
|
+
/**
|
323
|
+
* Call this on click of 'Download CSV' button
|
324
|
+
*/
|
325
|
+
Highcharts.Chart.prototype.downloadCSV = function() {
|
326
|
+
var csv = this.getCSV(true);
|
327
|
+
getContent(
|
328
|
+
this,
|
329
|
+
'data:text/csv,\uFEFF' + encodeURIComponent(csv),
|
330
|
+
'csv',
|
331
|
+
csv,
|
332
|
+
'text/csv'
|
333
|
+
);
|
334
|
+
};
|
335
|
+
|
336
|
+
/**
|
337
|
+
* Call this on click of 'Download XLS' button
|
338
|
+
*/
|
339
|
+
Highcharts.Chart.prototype.downloadXLS = function() {
|
340
|
+
var uri = 'data:application/vnd.ms-excel;base64,',
|
341
|
+
template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">' +
|
342
|
+
'<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>' +
|
343
|
+
'<x:Name>Ark1</x:Name>' +
|
344
|
+
'<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->' +
|
345
|
+
'<style>td{border:none;font-family: Calibri, sans-serif;} .number{mso-number-format:"0.00";}</style>' +
|
346
|
+
'<meta name=ProgId content=Excel.Sheet>' +
|
347
|
+
'<meta charset=UTF-8>' +
|
348
|
+
'</head><body>' +
|
349
|
+
this.getTable(true) +
|
350
|
+
'</body></html>',
|
351
|
+
base64 = function(s) {
|
352
|
+
return win.btoa(unescape(encodeURIComponent(s))); // #50
|
353
|
+
};
|
354
|
+
getContent(
|
355
|
+
this,
|
356
|
+
uri + base64(template),
|
357
|
+
'xls',
|
358
|
+
template,
|
359
|
+
'application/vnd.ms-excel'
|
360
|
+
);
|
361
|
+
};
|
362
|
+
|
363
|
+
/**
|
364
|
+
* View the data in a table below the chart
|
365
|
+
*/
|
366
|
+
Highcharts.Chart.prototype.viewData = function() {
|
367
|
+
if (!this.dataTableDiv) {
|
368
|
+
this.dataTableDiv = doc.createElement('div');
|
369
|
+
this.dataTableDiv.className = 'highcharts-data-table';
|
370
|
+
|
371
|
+
// Insert after the chart container
|
372
|
+
this.renderTo.parentNode.insertBefore(
|
373
|
+
this.dataTableDiv,
|
374
|
+
this.renderTo.nextSibling
|
375
|
+
);
|
376
|
+
}
|
377
|
+
|
378
|
+
this.dataTableDiv.innerHTML = this.getTable();
|
379
|
+
};
|
380
|
+
|
381
|
+
|
382
|
+
// Add "Download CSV" to the exporting menu. Use download attribute if supported, else
|
383
|
+
// run a simple PHP script that returns a file. The source code for the PHP script can be viewed at
|
384
|
+
// https://raw.github.com/highslide-software/highcharts.com/master/studies/csv-export/csv.php
|
385
|
+
if (Highcharts.getOptions().exporting) {
|
386
|
+
Highcharts.getOptions().exporting.buttons.contextButton.menuItems.push({
|
387
|
+
textKey: 'downloadCSV',
|
388
|
+
onclick: function() {
|
389
|
+
this.downloadCSV();
|
390
|
+
}
|
391
|
+
}, {
|
392
|
+
textKey: 'downloadXLS',
|
393
|
+
onclick: function() {
|
394
|
+
this.downloadXLS();
|
395
|
+
}
|
396
|
+
}, {
|
397
|
+
textKey: 'viewData',
|
398
|
+
onclick: function() {
|
399
|
+
this.viewData();
|
400
|
+
}
|
401
|
+
});
|
402
|
+
}
|
403
|
+
|
404
|
+
// Series specific
|
405
|
+
if (seriesTypes.map) {
|
406
|
+
seriesTypes.map.prototype.exportKey = 'name';
|
407
|
+
}
|
408
|
+
if (seriesTypes.mapbubble) {
|
409
|
+
seriesTypes.mapbubble.prototype.exportKey = 'name';
|
410
|
+
}
|
411
|
+
if (seriesTypes.treemap) {
|
412
|
+
seriesTypes.treemap.prototype.exportKey = 'name';
|
413
|
+
}
|
414
|
+
|
415
|
+
|
416
|
+
}(Highcharts));
|
417
|
+
}));
|
@@ -1,24 +1,27 @@
|
|
1
1
|
/*
|
2
|
-
|
2
|
+
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
|
-
(function(
|
10
|
-
contextButtonTitle:"Chart context menu"});
|
11
|
-
|
12
|
-
|
13
|
-
" xlink:href
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
9
|
+
(function(r){"object"===typeof module&&module.exports?module.exports=r:r(Highcharts)})(function(r){(function(f){var r=f.defaultOptions,t=f.doc,A=f.Chart,x=f.addEvent,I=f.removeEvent,F=f.fireEvent,w=f.createElement,C=f.discardElement,G=f.css,v=f.merge,D=f.pick,k=f.each,H=f.objectEach,y=f.extend,z=f.win,E=f.SVGRenderer,J=f.Renderer.prototype.symbols;y(r.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",
|
10
|
+
contextButtonTitle:"Chart context menu"});r.navigation={buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}};r.exporting={type:"image/png",url:"https://export.highcharts.com/",printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",_titleKey:"contextButtonTitle",menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},
|
11
|
+
{textKey:"downloadPNG",onclick:function(){this.exportChart()}},{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}]}}};f.post=function(a,b,d){var c=w("form",v({method:"post",action:a,enctype:"multipart/form-data"},d),{display:"none"},t.body);H(b,function(a,b){w("input",{type:"hidden",name:b,value:a},
|
12
|
+
null,c)});c.submit();C(c)};y(A.prototype,{sanitizeSVG:function(a,b){if(b&&b.exporting&&b.exporting.allowHTML){var d=a.match(/<\/svg>(.*?$)/);d&&d[1]&&(d='\x3cforeignObject x\x3d"0" y\x3d"0" width\x3d"'+b.chart.width+'" height\x3d"'+b.chart.height+'"\x3e\x3cbody xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e'+d[1]+"\x3c/body\x3e\x3c/foreignObject\x3e",a=a.replace("\x3c/svg\x3e",d+"\x3c/svg\x3e"))}return a=a.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,
|
13
|
+
"").replace(/url\(("|")(\S+)("|")\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'\x3csvg xmlns:xlink\x3d"http://www.w3.org/1999/xlink" ').replace(/ (NS[0-9]+\:)?href=/g," xlink:href\x3d").replace(/\n/," ").replace(/<\/svg>.*?$/,"\x3c/svg\x3e").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1\x3d"rgb($2)" $1-opacity\x3d"$3"').replace(/ /g,"\u00a0").replace(/­/g,"\u00ad")},getChartHTML:function(){this.inlineStyles();return this.container.innerHTML},
|
14
|
+
getSVG:function(a){var b,d,c,u,n,g=v(this.options,a);t.createElementNS||(t.createElementNS=function(a,b){return t.createElement(b)});d=w("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},t.body);c=this.renderTo.style.width;n=this.renderTo.style.height;c=g.exporting.sourceWidth||g.chart.width||/px$/.test(c)&&parseInt(c,10)||600;n=g.exporting.sourceHeight||g.chart.height||/px$/.test(n)&&parseInt(n,10)||400;y(g.chart,{animation:!1,renderTo:d,forExport:!0,
|
15
|
+
renderer:"SVGRenderer",width:c,height:n});g.exporting.enabled=!1;delete g.data;g.series=[];k(this.series,function(a){u=v(a.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});u.isInternal||g.series.push(u)});k(this.axes,function(a){a.userOptions.internalKey||(a.userOptions.internalKey=f.uniqueKey())});b=new f.Chart(g,this.callback);a&&k(["xAxis","yAxis","series"],function(c){var e={};a[c]&&(e[c]=a[c],b.update(e))});k(this.axes,function(a){var c=f.find(b.axes,function(b){return b.options.internalKey===
|
16
|
+
a.userOptions.internalKey}),e=a.getExtremes(),d=e.userMin,e=e.userMax;!c||void 0===d&&void 0===e||c.setExtremes(d,e,!0,!1)});c=b.getChartHTML();c=this.sanitizeSVG(c,g);g=null;b.destroy();C(d);return c},getSVGForExport:function(a,b){var d=this.options.exporting;return this.getSVG(v({chart:{borderRadius:0}},d.chartOptions,b,{exporting:{sourceWidth:a&&a.sourceWidth||d.sourceWidth,sourceHeight:a&&a.sourceHeight||d.sourceHeight}}))},exportChart:function(a,b){b=this.getSVGForExport(a,b);a=v(this.options.exporting,
|
17
|
+
a);f.post(a.url,{filename:a.filename||"chart",type:a.type,width:a.width||0,scale:a.scale,svg:b},a.formAttributes)},print:function(){var a=this,b=a.container,d=[],c=b.parentNode,f=t.body,n=f.childNodes,g=a.options.exporting.printMaxWidth,e,q;if(!a.isPrinting){a.isPrinting=!0;a.pointer.reset(null,0);F(a,"beforePrint");if(q=g&&a.chartWidth>g)e=[a.options.chart.width,void 0,!1],a.setSize(g,void 0,!1);k(n,function(a,b){1===a.nodeType&&(d[b]=a.style.display,a.style.display="none")});f.appendChild(b);z.focus();
|
18
|
+
z.print();setTimeout(function(){c.appendChild(b);k(n,function(a,b){1===a.nodeType&&(a.style.display=d[b])});a.isPrinting=!1;q&&a.setSize.apply(a,e);F(a,"afterPrint")},1E3)}},contextMenu:function(a,b,d,c,f,n,g){var e=this,q=e.chartWidth,h=e.chartHeight,u="cache-"+a,l=e[u],m=Math.max(f,n),B,p;l||(e[u]=l=w("div",{className:a},{position:"absolute",zIndex:1E3,padding:m+"px"},e.container),B=w("div",{className:"highcharts-menu"},null,l),p=function(){G(l,{display:"none"});g&&g.setState(0);e.openMenu=!1},
|
19
|
+
e.exportEvents.push(x(l,"mouseleave",function(){l.hideTimer=setTimeout(p,500)}),x(l,"mouseenter",function(){clearTimeout(l.hideTimer)}),x(t,"mouseup",function(b){e.pointer.inClass(b.target,a)||p()})),k(b,function(a){if(a){var b;b=a.separator?w("hr",null,null,B):w("div",{className:"highcharts-menu-item",onclick:function(b){b&&b.stopPropagation();p();a.onclick&&a.onclick.apply(e,arguments)},innerHTML:a.text||e.options.lang[a.textKey]},null,B);e.exportDivElements.push(b)}}),e.exportDivElements.push(B,
|
20
|
+
l),e.exportMenuWidth=l.offsetWidth,e.exportMenuHeight=l.offsetHeight);b={display:"block"};d+e.exportMenuWidth>q?b.right=q-d-f-m+"px":b.left=d-m+"px";c+n+e.exportMenuHeight>h&&"top"!==g.alignOptions.verticalAlign?b.bottom=h-c-m+"px":b.top=c+n-m+"px";G(l,b);e.openMenu=!0},addButton:function(a){var b=this,d=b.renderer,c=v(b.options.navigation.buttonOptions,a),f=c.onclick,n=c.menuItems,g,e,q=c.symbolSize||12;b.btnCount||(b.btnCount=0);b.exportDivElements||(b.exportDivElements=[],b.exportSVGElements=[]);
|
21
|
+
if(!1!==c.enabled){var h=c.theme,k=h.states,l=k&&k.hover,k=k&&k.select,m;delete h.states;f?m=function(a){a.stopPropagation();f.call(b,a)}:n&&(m=function(){b.contextMenu(e.menuClassName,n,e.translateX,e.translateY,e.width,e.height,e);e.setState(2)});c.text&&c.symbol?h.paddingLeft=D(h.paddingLeft,25):c.text||y(h,{width:c.width,height:c.height,padding:0});e=d.button(c.text,0,0,m,h,l,k).addClass(a.className).attr({title:b.options.lang[c._titleKey],zIndex:3});e.menuClassName=a.menuClassName||"highcharts-menu-"+
|
22
|
+
b.btnCount++;c.symbol&&(g=d.symbol(c.symbol,c.symbolX-q/2,c.symbolY-q/2,q,q).addClass("highcharts-button-symbol").attr({zIndex:1}).add(e));e.add().align(y(c,{width:e.width,x:D(c.x,b.buttonOffset)}),!0,"spacingBox");b.buttonOffset+=(e.width+c.buttonSpacing)*("right"===c.align?-1:1);b.exportSVGElements.push(e,g)}},destroyExport:function(a){var b=a?a.target:this;a=b.exportSVGElements;var d=b.exportDivElements,c=b.exportEvents,f;a&&(k(a,function(a,c){a&&(a.onclick=a.ontouchstart=null,f="cache-"+a.menuClassName,
|
23
|
+
b[f]&&delete b[f],b.exportSVGElements[c]=a.destroy())}),a.length=0);d&&(k(d,function(a,c){clearTimeout(a.hideTimer);I(a,"mouseleave");b.exportDivElements[c]=a.onmouseout=a.onmouseover=a.ontouchstart=a.onclick=null;C(a)}),d.length=0);c&&(k(c,function(a){a()}),c.length=0)}});E.prototype.inlineToAttributes="fill stroke strokeLinecap strokeLinejoin strokeWidth textAnchor x y".split(" ");E.prototype.inlineBlacklist=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/perspective/,
|
24
|
+
/TapHighlightColor/,/^transition/];E.prototype.unstyledElements=["clipPath","defs","desc"];A.prototype.inlineStyles=function(){function a(a){return a.replace(/([A-Z])/g,function(a,b){return"-"+b.toLowerCase()})}function b(d){var h,q,l="",m,r,p;if(1===d.nodeType&&-1===n.indexOf(d.nodeName)){h=z.getComputedStyle(d,null);q="svg"===d.nodeName?{}:z.getComputedStyle(d.parentNode,null);g[d.nodeName]||(e||(e=t.createElementNS(f.SVG_NS,"svg"),e.setAttribute("version","1.1"),t.body.appendChild(e)),m=t.createElementNS(d.namespaceURI,
|
25
|
+
d.nodeName),e.appendChild(m),g[d.nodeName]=v(z.getComputedStyle(m,null)),e.removeChild(m));for(p in h){m=!1;for(r=u.length;r--&&!m;)m=u[r].test(p)||"function"===typeof h[p];m||q[p]!==h[p]&&g[d.nodeName][p]!==h[p]&&(-1!==c.indexOf(p)?d.setAttribute(a(p),h[p]):l+=a(p)+":"+h[p]+";")}l&&(h=d.getAttribute("style"),d.setAttribute("style",(h?h+";":"")+l));"text"!==d.nodeName&&k(d.children||d.childNodes,b)}}var d=this.renderer,c=d.inlineToAttributes,u=d.inlineBlacklist,n=d.unstyledElements,g={},e;b(this.container.querySelector("svg"));
|
26
|
+
e.parentNode.removeChild(e)};J.menu=function(a,b,d,c){return["M",a,b+2.5,"L",a+d,b+2.5,"M",a,b+c/2+.5,"L",a+d,b+c/2+.5,"M",a,b+c-1.5,"L",a+d,b+c-1.5]};A.prototype.renderExporting=function(){var a=this,b=a.options.exporting,d=b.buttons,c=a.isDirtyExporting||!a.exportSVGElements;a.buttonOffset=0;a.isDirtyExporting&&a.destroyExport();c&&!1!==b.enabled&&(a.exportEvents=[],H(d,function(b){a.addButton(b)}),a.isDirtyExporting=!1);x(a,"destroy",a.destroyExport)};A.prototype.callbacks.push(function(a){a.renderExporting();
|
27
|
+
x(a,"redraw",a.renderExporting);k(["exporting","navigation"],function(b){a[b]={update:function(d,c){a.isDirtyExporting=!0;v(!0,a.options[b],d);D(c,!0)&&a.redraw()}}})})})(r)});
|