From 492676773737439af27bcf64113a7c0d9d2a7bd0 Mon Sep 17 00:00:00 2001 From: Leo <108552997+lpskdl@users.noreply.github.com> Date: Wed, 10 Aug 2022 15:30:00 +0200 Subject: [PATCH] Dashboard: Reverted the changes of hiding multi-select and all variable in the datasource picker (#53521) * REVERT PanelEdit: Hide multi-/all-select datasource variables in datasource picker, PR 52142 * user essentials mob! :trident: lastFile:public/app/features/dashboard/dashgrid/PanelChrome.tsx * user essentials mob! :trident: lastFile:public/app/features/dashboard/dashgrid/PanelChrome.tsx * removed todo comments Co-authored-by: polinaboneva Co-authored-by: Joao Silva Co-authored-by: eledobleefe --- public/app/features/plugins/datasource_srv.ts | 10 +++++++--- public/app/features/variables/guard.ts | 5 ----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/public/app/features/plugins/datasource_srv.ts b/public/app/features/plugins/datasource_srv.ts index 32cc1b0deef..6483056f97b 100644 --- a/public/app/features/plugins/datasource_srv.ts +++ b/public/app/features/plugins/datasource_srv.ts @@ -244,11 +244,15 @@ export class DatasourceSrv implements DataSourceService { if (filters.variables) { for (const variable of this.templateSrv.getVariables()) { - if (variable.type !== 'datasource' || variable.multi || variable.includeAll) { + if (variable.type !== 'datasource') { continue; } - const dsName = variable.current.value === 'default' ? this.defaultName : variable.current.value; - const dsSettings = !Array.isArray(dsName) && this.settingsMapByName[dsName]; + let dsValue = variable.current.value === 'default' ? this.defaultName : variable.current.value; + if (Array.isArray(dsValue) && dsValue.length === 1) { + // Support for multi-value variables with only one selected datasource + dsValue = dsValue[0]; + } + const dsSettings = !Array.isArray(dsValue) && this.settingsMapByName[dsValue]; if (dsSettings) { const key = `$\{${variable.name}\}`; diff --git a/public/app/features/variables/guard.ts b/public/app/features/variables/guard.ts index f6097fc5f35..524e959d061 100644 --- a/public/app/features/variables/guard.ts +++ b/public/app/features/variables/guard.ts @@ -25,7 +25,6 @@ import { VariableQueryEditorProps, VariableWithMultiSupport, VariableWithOptions, - DataSourceVariableModel, } from './types'; /** @deprecated use a if (model.type === "query") type narrowing check instead */ @@ -43,10 +42,6 @@ export const isConstant = (model: VariableModel): model is ConstantVariableModel return model.type === 'constant'; }; -export const isDataSource = (model: VariableModel): model is DataSourceVariableModel => { - return model.type === 'datasource'; -}; - export const isMulti = (model: VariableModel): model is VariableWithMultiSupport => { const withMulti = model as VariableWithMultiSupport; return withMulti.hasOwnProperty('multi') && typeof withMulti.multi === 'boolean';