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