Commit 85f3a999 by Ivana Huckova Committed by GitHub

Fix matrics comparison to know when to refresh (#26382)

parent f9239a4d
...@@ -15,6 +15,7 @@ export class ElasticQueryCtrl extends QueryCtrl { ...@@ -15,6 +15,7 @@ export class ElasticQueryCtrl extends QueryCtrl {
esVersion: any; esVersion: any;
rawQueryOld: string; rawQueryOld: string;
targetMetricsOld: string;
/** @ngInject */ /** @ngInject */
constructor( constructor(
...@@ -51,18 +52,17 @@ export class ElasticQueryCtrl extends QueryCtrl { ...@@ -51,18 +52,17 @@ export class ElasticQueryCtrl extends QueryCtrl {
} }
queryUpdated() { queryUpdated() {
// As Raw Data and Raw Document have the same request, we need to run refresh if they are updated const newJsonTargetMetrics = angular.toJson(this.target.metrics);
const isPossiblyRawDataSwitch = this.target.metrics.some( const newJsonRawQuery = angular.toJson(this.datasource.queryBuilder.build(this.target), true);
(metric: any) => metric.type === 'raw_data' || metric.type === 'raw_document' if (
); (this.rawQueryOld && newJsonRawQuery !== this.rawQueryOld) ||
const newJson = angular.toJson(this.datasource.queryBuilder.build(this.target), true); (this.targetMetricsOld && newJsonTargetMetrics !== this.targetMetricsOld)
if (this.rawQueryOld && newJson !== this.rawQueryOld) { ) {
this.refresh();
} else if (isPossiblyRawDataSwitch) {
this.refresh(); this.refresh();
} }
this.rawQueryOld = newJson; this.rawQueryOld = newJsonRawQuery;
this.targetMetricsOld = newJsonTargetMetrics;
this.$rootScope.appEvent(CoreEvents.elasticQueryUpdated); this.$rootScope.appEvent(CoreEvents.elasticQueryUpdated);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment