瀏覽代碼

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

Torkel Ödegaard 9 年之前
父節點
當前提交
9d5928ddd6

+ 1 - 0
CHANGELOG.md

@@ -9,6 +9,7 @@
 
 ### Enhancements
 * **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)
 

+ 6 - 0
public/app/features/templating/datasource_variable.ts

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

+ 6 - 0
public/app/features/templating/query_variable.ts

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

+ 9 - 1
public/app/features/templating/specs/query_variable_specs.ts

@@ -33,7 +33,15 @@ describe('QueryVariable', function() {
       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);
+    });
+
+  });
 });