diff --git a/src/app/services/filterSrv.js b/src/app/services/filterSrv.js index dd1957f9ce7..c9707fec36e 100644 --- a/src/app/services/filterSrv.js +++ b/src/app/services/filterSrv.js @@ -17,7 +17,7 @@ define([ var result = { _updateTemplateData : function( initial ) { - this._templateData = {}; + var _templateData = {}; _.each(this.templateParameters, function( templateParameter ) { if (initial) { var urlValue = $routeParams[ templateParameter.name ]; @@ -29,8 +29,9 @@ define([ return; } - this._templateData[ templateParameter.name ] = templateParameter.current.value; + _templateData[ templateParameter.name ] = templateParameter.current.value; }); + this._templateData = _templateData; }, templateOptionSelected : function(option) { @@ -40,6 +41,7 @@ define([ addTemplateParameter : function( templateParameter ) { this.templateParameters.push( templateParameter ); + this._updateTemplateData(); }, applyTemplateToTarget : function(target) { diff --git a/src/test/specs/filterSrv-specs.js b/src/test/specs/filterSrv-specs.js index 1719827077f..e1d6467ea8c 100644 --- a/src/test/specs/filterSrv-specs.js +++ b/src/test/specs/filterSrv-specs.js @@ -21,12 +21,12 @@ define([ describe('init', function() { beforeEach(function() { - _filterSrv.add({ name: 'test', current: { value: 'oogle' } }); _filterSrv.init(); + _filterSrv.addTemplateParameter({ name: 'test', current: { value: 'oogle' } }); }); it('should initialize template data', function() { - var target = _filterSrv.applyFilterToTarget('this.[[test]].filters'); + var target = _filterSrv.applyTemplateToTarget('this.[[test]].filters'); expect(target).to.be('this.oogle.filters'); }); });