From f65da93d72de3694a05dc1710b91bfe92800ffc9 Mon Sep 17 00:00:00 2001 From: Shavonn Brown Date: Fri, 13 Dec 2019 11:03:08 -0500 Subject: [PATCH] Azure Monitor: Use default from datasource if not saved on dashboard/query (#20899) * use default from datasource if not saved on dash/query * find datasource default workspace in returned workspace list * don't need the find * fix dropdown --- .../azure_log_analytics_datasource.ts | 6 +++++- .../partials/query.editor.html | 2 +- .../grafana-azure-monitor-datasource/query_ctrl.ts | 11 ++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_log_analytics/azure_log_analytics_datasource.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_log_analytics/azure_log_analytics_datasource.ts index d05209d0a6a..c40f34197c5 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_log_analytics/azure_log_analytics_datasource.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_log_analytics/azure_log_analytics_datasource.ts @@ -87,7 +87,11 @@ export default class AzureLogAnalyticsDatasource { ); const generated = querystringBuilder.generate(); - const workspace = this.templateSrv.replace(item.workspace, options.scopedVars); + let workspace = this.templateSrv.replace(item.workspace, options.scopedVars); + + if (!workspace && this.defaultOrFirstWorkspace) { + workspace = this.defaultOrFirstWorkspace; + } const url = `${this.baseUrl}/${workspace}/query?${generated.uriString}`; 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 368a433df35..f7e4e310f8b 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 @@ -118,7 +118,7 @@
+ get-options="ctrl.getWorkspaces()" on-change="ctrl.refresh()" 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 1c6926440b0..167286d02ac 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 @@ -537,9 +537,18 @@ export class AzureMonitorQueryCtrl extends QueryCtrl { .getWorkspaces(this.target.subscription) .then((list: any[]) => { this.workspaces = list; + if (list.length > 0 && !this.target.azureLogAnalytics.workspace) { - this.target.azureLogAnalytics.workspace = list[0].value; + if (this.datasource.azureLogAnalyticsDatasource.defaultOrFirstWorkspace) { + this.target.azureLogAnalytics.workspace = this.datasource.azureLogAnalyticsDatasource.defaultOrFirstWorkspace; + } + + if (!this.target.azureLogAnalytics.workspace) { + this.target.azureLogAnalytics.workspace = list[0].value; + } } + + return this.workspaces; }) .catch(this.handleQueryCtrlError.bind(this)); };