From cbb9a63b9b4fc18b85a1667f7179915bb55da383 Mon Sep 17 00:00:00 2001 From: Ryan McKinley Date: Tue, 30 Jun 2020 22:55:04 -0700 Subject: [PATCH] Azure: query builder cleanup (#25956) --- .../azure_monitor_datasource.test.ts | 21 ++++++++++++++----- .../azure_monitor/azure_monitor_datasource.ts | 17 ++++++++------- .../azure_monitor/response_parser.ts | 4 ---- .../partials/query.editor.html | 5 ++++- .../query_ctrl.ts | 1 - 5 files changed, 30 insertions(+), 18 deletions(-) diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.test.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.test.ts index d03b0fa8e82..f70544139ca 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.test.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.test.ts @@ -931,11 +931,22 @@ describe('AzureMonitorDatasource', () => { 'Transactions' ) .then((results: any) => { - expect(results.dimensions.length).toEqual(4); - expect(results.dimensions[0].text).toEqual('None'); - expect(results.dimensions[0].value).toEqual('None'); - expect(results.dimensions[1].text).toEqual('Response type'); - expect(results.dimensions[1].value).toEqual('ResponseType'); + expect(results.dimensions).toMatchInlineSnapshot(` + Array [ + Object { + "text": "Response type", + "value": "ResponseType", + }, + Object { + "text": "Geo type", + "value": "GeoType", + }, + Object { + "text": "API name", + "value": "ApiName", + }, + ] + `); }); }); diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.ts index 47f1d56905b..f28f07e5535 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.ts @@ -74,13 +74,16 @@ export default class AzureMonitorDatasource extends DataSourceWithBackend { - return { - dimension: templateSrv.replace(f.dimension, scopedVars), - operator: f.operator || 'eq', - filter: templateSrv.replace(f.filter, scopedVars), - }; - }); + const dimensionsFilters = item.dimensionFilters + .filter(f => f.dimension && f.dimension !== 'None') + .map(f => { + const filter = templateSrv.replace(f.filter, scopedVars); + return { + dimension: templateSrv.replace(f.dimension, scopedVars), + operator: f.operator || 'eq', + filter: filter || '*', // send * when empty + }; + }); return { refId: target.refId, diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/response_parser.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/response_parser.ts index 2fb45d85327..93c6e142643 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/response_parser.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/response_parser.ts @@ -92,10 +92,6 @@ export default class ResponseParser { return dimensions; } - if (!metricData.isDimensionRequired) { - dimensions.push({ text: 'None', value: 'None' }); - } - for (let i = 0; i < metricData.dimensions.length; i++) { const text = metricData.dimensions[i].localizedValue; const value = metricData.dimensions[i].value; 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 4aa499e1aad..8c18df0dbb2 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 @@ -100,7 +100,7 @@ > -
+
+
+
+
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 7a7a14b7c09..512f21abcad 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 @@ -533,7 +533,6 @@ export class AzureMonitorQueryCtrl extends QueryCtrl { operator: 'eq', filter: '', }); - this.refresh(); } azureMonitorRemoveDimensionFilter(index: number) {