From ee6703fedd8623649fa4d073d79ddcb4fa6071d5 Mon Sep 17 00:00:00 2001 From: Daniel Lee Date: Wed, 22 May 2019 11:34:54 +0200 Subject: [PATCH] azuremonitor: revert to clearing chained dropdowns (#17212) * azuremonitor: revert to clearing chained dropdowns After feedback from users, changing back to clearing dropdowns to the right in the chain. E.g. if the user changes the subscription dropdown which is first in the chain then all the dependent dropdowns to the right should be cleared (reset to default values). Also, now triggers getting subscriptions every time the dropdown menu is shown rather than just the first time. It is apparently common to add subscriptions while building queries. (cherry picked from commit 577beebcca1c279e5631a127169b0514d3ddda97) --- .../partials/query.editor.html | 2 +- .../query_ctrl.ts | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html b/public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html index 6761502dd2a..4690bc5be26 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html @@ -10,7 +10,7 @@
+ get-options="ctrl.getSubscriptions()" on-change="ctrl.onSubscriptionChange()" css-class="min-width-12">
diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/query_ctrl.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/query_ctrl.ts index a6c95d6afde..cc623d8df98 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/query_ctrl.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/query_ctrl.ts @@ -197,6 +197,8 @@ export class AzureMonitorQueryCtrl extends QueryCtrl { if (!this.target.subscription && this.subscriptions.length > 0) { this.target.subscription = this.subscriptions[0].value; } + + return this.subscriptions; }); } @@ -204,6 +206,18 @@ export class AzureMonitorQueryCtrl extends QueryCtrl { if (this.target.queryType === 'Azure Log Analytics') { return this.getWorkspaces(); } + + if (this.target.queryType === 'Azure Monitor') { + this.target.azureMonitor.resourceGroup = this.defaultDropdownValue; + this.target.azureMonitor.metricDefinition = this.defaultDropdownValue; + this.target.azureMonitor.resourceName = this.defaultDropdownValue; + this.target.azureMonitor.metricName = this.defaultDropdownValue; + this.target.azureMonitor.aggregation = ''; + this.target.azureMonitor.timeGrains = []; + this.target.azureMonitor.timeGrain = ''; + this.target.azureMonitor.dimensions = []; + this.target.azureMonitor.dimension = ''; + } } /* Azure Monitor Section */ @@ -279,6 +293,12 @@ export class AzureMonitorQueryCtrl extends QueryCtrl { } onResourceGroupChange() { + this.target.azureMonitor.metricDefinition = this.defaultDropdownValue; + this.target.azureMonitor.resourceName = this.defaultDropdownValue; + this.target.azureMonitor.metricName = this.defaultDropdownValue; + this.target.azureMonitor.aggregation = ''; + this.target.azureMonitor.timeGrains = []; + this.target.azureMonitor.timeGrain = ''; this.target.azureMonitor.dimensions = []; this.target.azureMonitor.dimension = ''; } @@ -286,11 +306,18 @@ export class AzureMonitorQueryCtrl extends QueryCtrl { onMetricDefinitionChange() { this.target.azureMonitor.resourceName = this.defaultDropdownValue; this.target.azureMonitor.metricName = this.defaultDropdownValue; + this.target.azureMonitor.aggregation = ''; + this.target.azureMonitor.timeGrains = []; + this.target.azureMonitor.timeGrain = ''; this.target.azureMonitor.dimensions = []; this.target.azureMonitor.dimension = ''; } onResourceNameChange() { + this.target.azureMonitor.metricName = this.defaultDropdownValue; + this.target.azureMonitor.aggregation = ''; + this.target.azureMonitor.timeGrains = []; + this.target.azureMonitor.timeGrain = ''; this.target.azureMonitor.dimensions = []; this.target.azureMonitor.dimension = ''; } @@ -312,6 +339,7 @@ export class AzureMonitorQueryCtrl extends QueryCtrl { this.target.azureMonitor.aggOptions = metadata.supportedAggTypes || [metadata.primaryAggType]; this.target.azureMonitor.aggregation = metadata.primaryAggType; this.target.azureMonitor.timeGrains = [{ text: 'auto', value: 'auto' }].concat(metadata.supportedTimeGrains); + this.target.azureMonitor.timeGrain = 'auto'; this.target.azureMonitor.dimensions = metadata.dimensions; if (metadata.dimensions.length > 0) {