Merge pull request #11802 from svenklemm/variable-interpolation

dont shadow format passed in as function parameter in replace function in templatesrv
This commit is contained in:
Marcus Efraimsson 2018-05-03 19:09:40 +02:00 committed by GitHub
commit 6eba9c2438
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 5 deletions

View File

@ -136,6 +136,11 @@ describe('templateSrv', function() {
var target = _templateSrv.replace('this=${test:pipe}', {});
expect(target).toBe('this=value1|value2');
});
it('should replace ${test:pipe} with piped value and $test with globbed value', function() {
var target = _templateSrv.replace('${test:pipe},$test', {}, 'glob');
expect(target).toBe('value1|value2,{value1,value2}');
});
});
describe('variable with all option', function() {
@ -164,6 +169,11 @@ describe('templateSrv', function() {
var target = _templateSrv.replace('this.${test:glob}.filters', {});
expect(target).toBe('this.{value1,value2}.filters');
});
it('should replace ${test:pipe} with piped value and $test with globbed value', function() {
var target = _templateSrv.replace('${test:pipe},$test', {}, 'glob');
expect(target).toBe('value1|value2,{value1,value2}');
});
});
describe('variable with all option and custom value', function() {

View File

@ -179,16 +179,16 @@ export class TemplateSrv {
return target;
}
var variable, systemValue, value;
var variable, systemValue, value, fmt;
this.regex.lastIndex = 0;
return target.replace(this.regex, (match, var1, var2, fmt2, var3, fmt3) => {
variable = this.index[var1 || var2 || var3];
format = fmt2 || fmt3 || format;
fmt = fmt2 || fmt3 || format;
if (scopedVars) {
value = scopedVars[var1 || var2 || var3];
if (value) {
return this.formatValue(value.value, format, variable);
return this.formatValue(value.value, fmt, variable);
}
}
@ -198,7 +198,7 @@ export class TemplateSrv {
systemValue = this.grafanaVariables[variable.current.value];
if (systemValue) {
return this.formatValue(systemValue, format, variable);
return this.formatValue(systemValue, fmt, variable);
}
value = variable.current.value;
@ -210,7 +210,7 @@ export class TemplateSrv {
}
}
var res = this.formatValue(value, format, variable);
var res = this.formatValue(value, fmt, variable);
return res;
});
}