Sfoglia il codice sorgente

stackdriver: streamline label change

Erik Sundell 7 anni fa
parent
commit
d80025d215

+ 10 - 14
public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.tsx

@@ -35,8 +35,7 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
     this.handleQueryTypeChange = this.handleQueryTypeChange.bind(this);
     this.handleQueryTypeChange = this.handleQueryTypeChange.bind(this);
     this.onServiceChange = this.onServiceChange.bind(this);
     this.onServiceChange = this.onServiceChange.bind(this);
     this.onMetricTypeChange = this.onMetricTypeChange.bind(this);
     this.onMetricTypeChange = this.onMetricTypeChange.bind(this);
-    this.onMetricLabelKeyChange = this.onMetricLabelKeyChange.bind(this);
-    this.onResourceLabelKeyChange = this.onResourceLabelKeyChange.bind(this);
+    this.onLabelKeyChange = this.onLabelKeyChange.bind(this);
     this.state = defaultsDeep(this.props.query, this.defaults);
     this.state = defaultsDeep(this.props.query, this.defaults);
   }
   }
 
 
@@ -71,12 +70,9 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
     }
     }
   }
   }
 
 
-  onMetricLabelKeyChange(event) {
-    this.setState({ metricLabelKey: event.target.value });
-  }
-
-  onResourceLabelKeyChange(event) {
-    this.setState({ resourceLabelKey: event.target.value });
+  onLabelKeyChange(event) {
+    const key = this.state.type === MetricFindQueryTypes.MetricLabels ? 'metricLabelKey' : 'resourceLabelKey';
+    this.setState({ [key]: event.target.value });
   }
   }
 
 
   componentDidUpdate() {
   componentDidUpdate() {
@@ -84,6 +80,10 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
     this.props.onChange(queryModel);
     this.props.onChange(queryModel);
   }
   }
 
 
+  isLabelQuery(queryType) {
+    return [MetricFindQueryTypes.MetricLabels, MetricFindQueryTypes.ResourceLabels].indexOf(queryType) !== -1;
+  }
+
   getDropdown(queryType) {
   getDropdown(queryType) {
     switch (queryType) {
     switch (queryType) {
       case MetricFindQueryTypes.ResourceLabels:
       case MetricFindQueryTypes.ResourceLabels:
@@ -91,7 +91,7 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
           <SimpleDropdown
           <SimpleDropdown
             value={this.state.resourceLabelKey}
             value={this.state.resourceLabelKey}
             options={this.state.resourceLabels}
             options={this.state.resourceLabels}
-            onValueChange={this.onResourceLabelKeyChange}
+            onValueChange={this.onLabelKeyChange}
             label="Resource Labels"
             label="Resource Labels"
           />
           />
         );
         );
@@ -100,7 +100,7 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
           <SimpleDropdown
           <SimpleDropdown
             value={this.state.metricLabelKey}
             value={this.state.metricLabelKey}
             options={this.state.metricLabels}
             options={this.state.metricLabels}
-            onValueChange={this.onMetricLabelKeyChange}
+            onValueChange={this.onLabelKeyChange}
             label="Metric Labels"
             label="Metric Labels"
           />
           />
         );
         );
@@ -147,10 +147,6 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue
     }
     }
   }
   }
 
 
-  isLabelQuery(queryType) {
-    return [MetricFindQueryTypes.MetricLabels, MetricFindQueryTypes.ResourceLabels].indexOf(queryType) !== -1;
-  }
-
   render() {
   render() {
     return (
     return (
       <React.Fragment>
       <React.Fragment>