mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
feat(graph panel): more refactoring of #5917
This commit is contained in:
@@ -23,7 +23,7 @@ class GraphCtrl extends MetricsPanelCtrl {
|
||||
logScales: any;
|
||||
unitFormats: any;
|
||||
xAxisModes: any;
|
||||
xAxisSeriesStats: any;
|
||||
xNameSegment: any;
|
||||
annotationsPromise: any;
|
||||
datapointsCount: number;
|
||||
datapointsOutside: boolean;
|
||||
@@ -154,7 +154,6 @@ class GraphCtrl extends MetricsPanelCtrl {
|
||||
'Json': 'json'
|
||||
};
|
||||
|
||||
this.xAxisSeriesStats = ['min', 'max', 'avg', 'current', 'count', 'total'];
|
||||
this.subTabIndex = 0;
|
||||
}
|
||||
|
||||
@@ -288,7 +287,6 @@ class GraphCtrl extends MetricsPanelCtrl {
|
||||
});
|
||||
|
||||
var alias = valueField;
|
||||
|
||||
return this.seriesHandler(seriesData, index, datapoints, alias);
|
||||
}
|
||||
|
||||
@@ -396,6 +394,22 @@ class GraphCtrl extends MetricsPanelCtrl {
|
||||
fileExport.exportSeriesListToCsvColumns(this.seriesList);
|
||||
}
|
||||
|
||||
xAxisModeChanged() {
|
||||
// set defaults
|
||||
this.refresh();
|
||||
}
|
||||
|
||||
getXAxisNameOptions() {
|
||||
return this.$q.when([
|
||||
{text: 'Avg', value: 'avg'}
|
||||
]);
|
||||
}
|
||||
|
||||
getXAxisValueOptions() {
|
||||
return this.$q.when([
|
||||
{text: 'Avg', value: 'avg'}
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
function getFieldsFromESDoc(doc) {
|
||||
|
||||
@@ -47,68 +47,23 @@
|
||||
<select class="gf-form-input"
|
||||
ng-model="ctrl.panel.xaxis.mode"
|
||||
ng-options="v as k for (k, v) in ctrl.xAxisModes"
|
||||
ng-change="ctrl.refresh()">
|
||||
ng-change="ctrl.xAxisModeChanged()">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Table mode -->
|
||||
<div class="gf-form" ng-if="ctrl.panel.xaxis.mode === 'table' || ctrl.panel.xaxis.mode === 'json'">
|
||||
<label class="gf-form-label width-5">Name</label>
|
||||
<metric-segment-model property="ctrl.panel.xaxis.name" get-options="ctrl.getXAxisNameOptions()" on-change="ctrl.render()" custom="false" css-class="width-10" select-mode="true"></metric-segment-model>
|
||||
</div>
|
||||
|
||||
<!-- Series mode -->
|
||||
<div class="gf-form" ng-if="ctrl.panel.xaxis.mode === 'series'">
|
||||
<div class="gf-form" ng-if="ctrl.panel.xaxis.mode !== 'time'">
|
||||
<label class="gf-form-label width-5">Value</label>
|
||||
<div class="gf-form-select-wrapper max-width-15">
|
||||
<select class="gf-form-input"
|
||||
ng-model="ctrl.panel.xaxis.values[0]"
|
||||
ng-options="v for v in ctrl.xAxisSeriesStats"
|
||||
ng-change="ctrl.render()">
|
||||
</select>
|
||||
</div>
|
||||
<metric-segment-model property="ctrl.panel.xaxis.values[0]" get-options="ctrl.getXAxisValueOptions()" on-change="ctrl.render()" custom="false" css-class="width-10" select-mode="true"></metric-segment-model>
|
||||
</div>
|
||||
|
||||
<!-- Table mode -->
|
||||
<div class="gf-form" ng-if="ctrl.panel.xaxis.mode === 'table'">
|
||||
<label class="gf-form-label width-5">Column</label>
|
||||
<div class="gf-form-select-wrapper max-width-15">
|
||||
<select class="gf-form-input"
|
||||
ng-model="ctrl.panel.xaxis.nameField"
|
||||
ng-options="col.index as col.text for col in ctrl.xAxisColumns"
|
||||
ng-change="ctrl.refresh()">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="gf-form" ng-if="ctrl.panel.xaxis.mode === 'table'">
|
||||
<label class="gf-form-label width-5">Value</label>
|
||||
<div class="gf-form-select-wrapper max-width-15">
|
||||
<select class="gf-form-input"
|
||||
ng-model="ctrl.panel.xaxis.valueFields[0]"
|
||||
ng-options="col.index as col.text for col in ctrl.xAxisColumns"
|
||||
ng-change="ctrl.refresh()">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Elastic Raw Document mode -->
|
||||
<div class="gf-form" ng-if="ctrl.panel.xaxis.mode === 'json'">
|
||||
<label class="gf-form-label width-5">Column</label>
|
||||
<div class="gf-form-select-wrapper max-width-15">
|
||||
<select class="gf-form-input"
|
||||
ng-model="ctrl.panel.xaxis.nameField"
|
||||
ng-options="field for field in ctrl.xAxisColumns"
|
||||
ng-change="ctrl.refresh()">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="gf-form" ng-if="ctrl.panel.xaxis.mode === 'elastic'">
|
||||
<label class="gf-form-label width-5">Value</label>
|
||||
<div class="gf-form-select-wrapper max-width-15">
|
||||
<select class="gf-form-input"
|
||||
ng-model="ctrl.panel.xaxis.valueFields[0]"
|
||||
ng-options="field for field in ctrl.xAxisColumns"
|
||||
ng-change="ctrl.refresh()">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user