diff --git a/public/app/core/services/bridge_srv.test.ts b/public/app/core/services/bridge_srv.test.ts index 00767d2cdb0..f668e0f988e 100644 --- a/public/app/core/services/bridge_srv.test.ts +++ b/public/app/core/services/bridge_srv.test.ts @@ -12,4 +12,32 @@ describe('when checking template variables', () => { expect(findTemplateVarChanges(b, a)).toEqual({ 'var-xyz': 'hello' }); expect(findTemplateVarChanges(a, b)).toEqual({ 'var-xyz': '' }); }); + + it('then should ignore equal values', () => { + const a: UrlQueryMap = { + 'var-xyz': 'hello', + bbb: 'ignore me', + }; + const b: UrlQueryMap = { + 'var-xyz': 'hello', + aaa: 'ignore me', + }; + + expect(findTemplateVarChanges(b, a)).toBeUndefined(); + expect(findTemplateVarChanges(a, b)).toBeUndefined(); + }); + + it('then should ignore equal values with empty values', () => { + const a: UrlQueryMap = { + 'var-xyz': '', + bbb: 'ignore me', + }; + const b: UrlQueryMap = { + 'var-xyz': '', + aaa: 'ignore me', + }; + + expect(findTemplateVarChanges(b, a)).toBeUndefined(); + expect(findTemplateVarChanges(a, b)).toBeUndefined(); + }); }); diff --git a/public/app/core/services/bridge_srv.ts b/public/app/core/services/bridge_srv.ts index ca7a3442aab..440385d887d 100644 --- a/public/app/core/services/bridge_srv.ts +++ b/public/app/core/services/bridge_srv.ts @@ -124,7 +124,7 @@ export function findTemplateVarChanges(query: UrlQueryMap, old: UrlQueryMap): Ur if (!key.startsWith('var-')) { continue; } - if (!query[key]) { + if (!query.hasOwnProperty(key)) { changes[key] = ''; // removed count++; }