Browse Source

Fix adhoc filters restoration (#9303)

tamayika 8 years ago
parent
commit
bef4b9b3b0

+ 2 - 2
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[]) {

+ 4 - 4
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');
     });
 
   });