feat(templating): don't persist template variable options when variable has refresh enabled, closes #6586

This commit is contained in:
Torkel Ödegaard 2016-11-17 11:38:06 +01:00
parent eafe0d6bfa
commit 9d5928ddd6
4 changed files with 22 additions and 1 deletions

View File

@ -9,6 +9,7 @@
### Enhancements ### Enhancements
* **Singlestat**: Support repeated template variables in prefix/postfix [#6595](https://github.com/grafana/grafana/issues/6595) * **Singlestat**: Support repeated template variables in prefix/postfix [#6595](https://github.com/grafana/grafana/issues/6595)
* **Templating**: Don't persist variable options with refresh option [#6586](https://github.com/grafana/grafana/issues/6586)
# 4.0-beta1 (2016-11-09) # 4.0-beta1 (2016-11-09)

View File

@ -32,6 +32,12 @@ export class DatasourceVariable implements Variable {
getSaveModel() { getSaveModel() {
assignModelProperties(this.model, this, this.defaults); assignModelProperties(this.model, this, this.defaults);
// dont persist options
if (this.refresh !== 0) {
this.model.options = [];
}
return this.model; return this.model;
} }

View File

@ -50,6 +50,12 @@ export class QueryVariable implements Variable {
getSaveModel() { getSaveModel() {
// copy back model properties to model // copy back model properties to model
assignModelProperties(this.model, this, this.defaults); assignModelProperties(this.model, this, this.defaults);
// remove options
if (this.refresh !== 0) {
this.model.options = [];
}
return this.model; return this.model;
} }

View File

@ -33,7 +33,15 @@ describe('QueryVariable', function() {
expect(model.sort).to.be(50); expect(model.sort).to.be(50);
}); });
}); it('if refresh != 0 then remove options in presisted mode', () => {
var variable = new QueryVariable({}, null, null, null, null);
variable.options = [{text: 'test'}];
variable.refresh = 1;
var model = variable.getSaveModel();
expect(model.options.length).to.be(0);
});
});
}); });