diff --git a/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.tsx b/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.tsx index df50de45c86..3c3b0ea8c44 100644 --- a/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.tsx +++ b/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.tsx @@ -49,22 +49,19 @@ export class StackdriverTemplateQueryComponent extends PureComponent m.value === this.state.metricType); const metricType = metricTypeExistInArray ? metricTypeExistInArray.value : metricTypes[0].value; - let state: any = { service: event.target.value, metricTypes, metricType }; - if (this.isLabelQuery(this.state.type)) { - const labels = await this.getLabelKeys(metricType); - const labelKey = labels.indexOf(this.state.labelKey) !== -1 ? this.state.labelKey : labels[0]; - state = { ...state, labelKey, labels: labels }; - } + const state: any = { service: event.target.value, metricTypes, metricType, ...await this.getLabels(metricType) }; this.setState(state); } async onMetricTypeChange(event) { - let state: any = { metricType: event.target.value }; - if (this.isLabelQuery(this.state.type)) { - const labels = await this.getLabelKeys(event.target.value); - const labelKey = labels.indexOf(this.state.labelKey) !== -1 ? this.state.labelKey : labels[0]; - state = { ...state, labels, labelKey }; - } + const state: any = { metricType: event.target.value, ...await this.getLabels(event.target.value) }; this.setState(state); } @@ -100,6 +87,18 @@ export class StackdriverTemplateQueryComponent extends PureComponent