File tree Expand file tree Collapse file tree 2 files changed +41
-1
lines changed Expand file tree Collapse file tree 2 files changed +41
-1
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,41 @@ export function exportSeriesListToCsv(seriesList) {
14
14
saveSaveBlob ( text , 'grafana_data_export.csv' ) ;
15
15
} ;
16
16
17
+ export function exportSeriesListToCsvColumns ( seriesList ) {
18
+ var text = 'Time;' ;
19
+ // add header
20
+ _ . each ( seriesList , function ( series ) {
21
+ text += series . alias + ';' ;
22
+ } ) ;
23
+ text = text . substring ( 0 , text . length - 1 ) ;
24
+ text += '\n' ;
25
+
26
+ // process data
27
+ var dataArr = [ [ ] ] ;
28
+ var sIndex = 1 ;
29
+ _ . each ( seriesList , function ( series ) {
30
+ var cIndex = 0 ;
31
+ dataArr . push ( [ ] ) ;
32
+ _ . each ( series . datapoints , function ( dp ) {
33
+ dataArr [ 0 ] [ cIndex ] = new Date ( dp [ 1 ] ) . toISOString ( ) ;
34
+ dataArr [ sIndex ] [ cIndex ] = dp [ 0 ] ;
35
+ cIndex ++ ;
36
+ } ) ;
37
+ sIndex ++ ;
38
+ } ) ;
39
+
40
+ // make text
41
+ for ( var i = 0 ; i < dataArr [ 0 ] . length ; i ++ ) {
42
+ text += dataArr [ 0 ] [ i ] + ';' ;
43
+ for ( var j = 1 ; j < dataArr . length ; j ++ ) {
44
+ text += dataArr [ j ] [ i ] + ';' ;
45
+ }
46
+ text = text . substring ( 0 , text . length - 1 ) ;
47
+ text += '\n' ;
48
+ }
49
+ saveSaveBlob ( text , 'grafana_data_export.csv' ) ;
50
+ } ;
51
+
17
52
export function exportTableDataToCsv ( table ) {
18
53
var text = '' ;
19
54
// add header
Original file line number Diff line number Diff line change @@ -125,7 +125,8 @@ class GraphCtrl extends MetricsPanelCtrl {
125
125
126
126
getExtendedMenu ( ) {
127
127
var menu = super . getExtendedMenu ( ) ;
128
- menu . push ( { text : 'Export CSV' , click : 'ctrl.exportCsv()' } ) ;
128
+ menu . push ( { text : 'Export CSV (series as rows)' , click : 'ctrl.exportCsv()' } ) ;
129
+ menu . push ( { text : 'Export CSV (series as columns)' , click : 'ctrl.exportCsvColumns()' } ) ;
129
130
menu . push ( { text : 'Toggle legend' , click : 'ctrl.toggleLegend()' } ) ;
130
131
return menu ;
131
132
}
@@ -295,6 +296,10 @@ class GraphCtrl extends MetricsPanelCtrl {
295
296
exportCsv ( ) {
296
297
fileExport . exportSeriesListToCsv ( this . seriesList ) ;
297
298
}
299
+
300
+ exportCsvColumns ( ) {
301
+ fileExport . exportSeriesListToCsvColumns ( this . seriesList ) ;
302
+ }
298
303
}
299
304
300
305
export { GraphCtrl , GraphCtrl as PanelCtrl }
You can’t perform that action at this time.
0 commit comments