diff --git a/public/app/plugins/panel/graph/graph.js b/public/app/plugins/panel/graph/graph.js index 5657d1eb9d2..83129a3efc8 100755 --- a/public/app/plugins/panel/graph/graph.js +++ b/public/app/plugins/panel/graph/graph.js @@ -238,9 +238,7 @@ function (angular, $, moment, _, kbn, GraphTooltip, thresholdManExports) { series.data = series.getFlotPairs(series.nullPointMode || panel.nullPointMode); if (panel.xaxis.mode === 'series') { - series.data = [ - [i + 1, series.stats[panel.xaxis.seriesValue]] - ]; + series.data = [[i + 1, series.stats[panel.xaxis.values[0]]]]; } else if (panel.xaxis.mode === 'table' || panel.xaxis.mode === 'elastic') { series.data = []; diff --git a/public/app/plugins/panel/graph/module.ts b/public/app/plugins/panel/graph/module.ts index f616bb28f70..f1b54c03e11 100644 --- a/public/app/plugins/panel/graph/module.ts +++ b/public/app/plugins/panel/graph/module.ts @@ -23,8 +23,7 @@ class GraphCtrl extends MetricsPanelCtrl { logScales: any; unitFormats: any; xAxisModes: any; - xAxisSeriesValues: any; - xAxisColumns: any = []; + xAxisSeriesStats: any; annotationsPromise: any; datapointsCount: number; datapointsOutside: boolean; @@ -58,11 +57,8 @@ class GraphCtrl extends MetricsPanelCtrl { xaxis: { show: true, mode: 'time', - seriesValue: 'avg' - }, - alert: { - warn: {op: '>', value: undefined}, - crit: {op: '>', value: undefined}, + name: null, + values: [], }, // show/hide lines lines : true, @@ -120,7 +116,6 @@ class GraphCtrl extends MetricsPanelCtrl { _.defaults(this.panel, this.panelDefaults); _.defaults(this.panel.tooltip, this.panelDefaults.tooltip); - _.defaults(this.panel.alert, this.panelDefaults.alert); _.defaults(this.panel.legend, this.panelDefaults.legend); _.defaults(this.panel.xaxis, this.panelDefaults.xaxis); @@ -156,10 +151,10 @@ class GraphCtrl extends MetricsPanelCtrl { 'Time': 'time', 'Series': 'series', 'Table': 'table', - 'Elastic Raw Doc': 'elastic' + 'Json': 'json' }; - this.xAxisSeriesValues = ['min', 'max', 'avg', 'current', 'total']; + this.xAxisSeriesStats = ['min', 'max', 'avg', 'current', 'count', 'total']; this.subTabIndex = 0; } @@ -199,35 +194,21 @@ class GraphCtrl extends MetricsPanelCtrl { this.datapointsOutside = false; let dataHandler: (seriesData, index)=>any; - if (this.panel.xaxis.mode === 'table') { - if (dataList.length) { - // Table panel uses only first enabled tagret, so we can use dataList[0] - // for table data representation - dataList.splice(1, dataList.length - 1); - this.xAxisColumns = _.map(dataList[0].columns, (column, index) => { - return { - text: column.text, - index: index - }; - }); - - // Set last column as default value - if (!this.panel.xaxis.valueColumnIndex) { - this.panel.xaxis.valueColumnIndex = this.xAxisColumns.length - 1; - } + switch (this.panel.xaxis.mode) { + case 'series': + case 'time': { + dataHandler = this.timeSeriesHandler; + break; } - - dataHandler = this.tableHandler; - } else if (this.panel.xaxis.mode === 'elastic') { - if (dataList.length) { - dataList.splice(1, dataList.length - 1); - var point = _.first(dataList[0].datapoints); - this.xAxisColumns = getFieldsFromESDoc(point); + case 'table': { + // Table panel uses only first enabled target, so we can use dataList[0] + dataList.splice(1, dataList.length - 1); + dataHandler = this.tableHandler; + break; + } + case 'json': { + break; } - - dataHandler = this.esRawDocHandler; - } else { - dataHandler = this.timeSeriesHandler; } this.seriesList = dataList.map(dataHandler.bind(this)); diff --git a/public/app/plugins/panel/graph/tab_axes.html b/public/app/plugins/panel/graph/tab_axes.html index 3a2135cd360..c5ebfcc92d0 100644 --- a/public/app/plugins/panel/graph/tab_axes.html +++ b/public/app/plugins/panel/graph/tab_axes.html @@ -57,8 +57,8 @@