1import { ScopedVars, UrlQueryMap } from '@grafana/data'; 2import { getTemplateSrv } from '@grafana/runtime'; 3import { variableAdapters } from './adapters'; 4 5export function getVariablesUrlParams(scopedVars?: ScopedVars): UrlQueryMap { 6 const params: UrlQueryMap = {}; 7 const variables = getTemplateSrv().getVariables(); 8 9 // console.log(variables) 10 for (let i = 0; i < variables.length; i++) { 11 const variable = variables[i]; 12 if (scopedVars && scopedVars[variable.name] !== void 0) { 13 if (scopedVars[variable.name].skipUrlSync) { 14 continue; 15 } 16 params['var-' + variable.name] = scopedVars[variable.name].value; 17 } else { 18 // @ts-ignore 19 if (variable.skipUrlSync) { 20 continue; 21 } 22 params['var-' + variable.name] = variableAdapters.get(variable.type).getValueForUrl(variable as any); 23 } 24 } 25 26 return params; 27} 28