diff --git a/public/app/features/templating/adhoc_variable.ts b/public/app/features/templating/adhoc_variable.ts index f3ff80acfc8..7262173a72e 100644 --- a/public/app/features/templating/adhoc_variable.ts +++ b/public/app/features/templating/adhoc_variable.ts @@ -67,11 +67,11 @@ export class AdhocVariable implements Variable { } escapeDelimiter(value) { - return value.replace('|', '__gfp__'); + return value.replace(/\|/g, '__gfp__'); } unescapeDelimiter(value) { - return value.replace('__gfp__', '|'); + return value.replace(/__gfp__/g, '|'); } setFilters(filters: any[]) { diff --git a/public/app/features/templating/specs/adhoc_variable_specs.ts b/public/app/features/templating/specs/adhoc_variable_specs.ts index c9246941309..a7b14a4c0e1 100644 --- a/public/app/features/templating/specs/adhoc_variable_specs.ts +++ b/public/app/features/templating/specs/adhoc_variable_specs.ts @@ -11,11 +11,11 @@ describe('AdhocVariable', function() { filters: [ {key: 'key1', operator: '=', value: 'value1'}, {key: 'key2', operator: '!=', value: 'value2'}, - {key: 'key3', operator: '=', value: 'value3a|value3b'}, + {key: 'key3', operator: '=', value: 'value3a|value3b|value3c'}, ] }); var urlValue = variable.getValueForUrl(); - expect(urlValue).to.eql(["key1|=|value1", "key2|!=|value2", "key3|=|value3a__gfp__value3b"]); + expect(urlValue).to.eql(["key1|=|value1", "key2|!=|value2", "key3|=|value3a__gfp__value3b__gfp__value3c"]); }); }); @@ -24,7 +24,7 @@ describe('AdhocVariable', function() { it('should restore filters', function() { var variable = new AdhocVariable({}); - variable.setValueFromUrl(["key1|=|value1", "key2|!=|value2", "key3|=|value3a__gfp__value3b"]); + variable.setValueFromUrl(["key1|=|value1", "key2|!=|value2", "key3|=|value3a__gfp__value3b__gfp__value3c"]); expect(variable.filters[0].key).to.be('key1'); expect(variable.filters[0].operator).to.be('='); @@ -36,7 +36,7 @@ describe('AdhocVariable', function() { expect(variable.filters[2].key).to.be('key3'); expect(variable.filters[2].operator).to.be('='); - expect(variable.filters[2].value).to.be('value3a|value3b'); + expect(variable.filters[2].value).to.be('value3a|value3b|value3c'); }); });