mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
stackdriver: handle default state
This commit is contained in:
parent
3c5f8325f5
commit
1791e7329c
@ -49,7 +49,13 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
|
||||
name: m.displayName,
|
||||
}));
|
||||
const metricType = this.state.metricType || metricTypes[0].value;
|
||||
this.setState({ services, service, metricTypes, metricType, metricDescriptors });
|
||||
let state: any = { services, service, metricTypes, metricType, metricDescriptors };
|
||||
if (this.isLabelQuery(this.state.queryType)) {
|
||||
const labels = await this.getLabelKeys(this.state.metricType);
|
||||
const labelKey = labels.indexOf(this.state.labelKey) !== -1 ? this.state.labelKey : labels[0];
|
||||
state = { ...state, labels, labelKey };
|
||||
}
|
||||
this.setState(state);
|
||||
}
|
||||
|
||||
async handleQueryTypeChange(event) {
|
||||
@ -107,31 +113,6 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
|
||||
return [MetricFindQueryTypes.MetricLabels, MetricFindQueryTypes.ResourceLabels].indexOf(queryType) !== -1;
|
||||
}
|
||||
|
||||
getLabelType(queryType) {
|
||||
switch (queryType) {
|
||||
case MetricFindQueryTypes.ResourceLabels:
|
||||
return (
|
||||
<SimpleDropdown
|
||||
value={this.state.labelKey}
|
||||
options={this.state.labels.map(l => ({ value: l, name: l }))}
|
||||
onValueChange={this.onLabelKeyChange}
|
||||
label="Resource Labels"
|
||||
/>
|
||||
);
|
||||
case MetricFindQueryTypes.MetricLabels:
|
||||
return (
|
||||
<SimpleDropdown
|
||||
value={this.state.labelKey}
|
||||
options={this.state.labels.map(l => ({ value: l, name: l }))}
|
||||
onValueChange={this.onLabelKeyChange}
|
||||
label="Metric Labels"
|
||||
/>
|
||||
);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
renderQueryTypeSwitch(queryType) {
|
||||
switch (queryType) {
|
||||
case MetricFindQueryTypes.MetricTypes:
|
||||
@ -146,10 +127,8 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
|
||||
case MetricFindQueryTypes.MetricLabels:
|
||||
case MetricFindQueryTypes.ResourceLabels:
|
||||
case MetricFindQueryTypes.ResourceTypes:
|
||||
const labelSelect = this.getLabelType(queryType);
|
||||
return (
|
||||
<React.Fragment>
|
||||
{this.state.labels.join(',')}
|
||||
<SimpleDropdown
|
||||
value={this.state.service}
|
||||
options={this.state.services}
|
||||
@ -162,7 +141,14 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
|
||||
onValueChange={this.onMetricTypeChange}
|
||||
label="Metric Types"
|
||||
/>
|
||||
{labelSelect}
|
||||
<SimpleDropdown
|
||||
value={this.state.labelKey}
|
||||
options={this.state.labels.map(l => ({ value: l, name: l }))}
|
||||
onValueChange={this.onLabelKeyChange}
|
||||
label={
|
||||
this.state.type === MetricFindQueryTypes.ResourceLabels ? 'Resource Label Key' : 'Metric Label Key'
|
||||
}
|
||||
/>
|
||||
</React.Fragment>
|
||||
);
|
||||
case MetricFindQueryTypes.Alignerns:
|
||||
|
Loading…
Reference in New Issue
Block a user