From bef4b9b3b0e77e492393f04f8e4e08e70fc44c5e Mon Sep 17 00:00:00 2001 From: tamayika Date: Tue, 19 Sep 2017 21:25:35 +0900 Subject: [PATCH] Fix adhoc filters restoration (#9303) --- public/app/features/templating/adhoc_variable.ts | 4 ++-- .../app/features/templating/specs/adhoc_variable_specs.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) 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'); }); });