mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
fix(templating): fix for setting template variable value via url and having repeated panels or rows, fixes #2534
This commit is contained in:
parent
4f3a3329e2
commit
0d8303cf5d
@ -1,4 +1,10 @@
|
|||||||
# 2.1.1 (unreleased)
|
# 2.1.2 (unreleased)
|
||||||
|
|
||||||
|
**Fixes**
|
||||||
|
- [Issue #2534](https://github.com/grafana/grafana/issues/2534). Templating: fix for setting template variable value via url and having repeated panels or rows
|
||||||
|
|
||||||
|
|
||||||
|
# 2.1.1 (2015-08-11)
|
||||||
|
|
||||||
**Fixes**
|
**Fixes**
|
||||||
- [Issue #2443](https://github.com/grafana/grafana/issues/2443). Templating: Fix for buggy repeat row behavior when combined with with repeat panel due to recent change before 2.1 release
|
- [Issue #2443](https://github.com/grafana/grafana/issues/2443). Templating: Fix for buggy repeat row behavior when combined with with repeat panel due to recent change before 2.1 release
|
||||||
|
@ -80,9 +80,10 @@ function (angular, _, kbn) {
|
|||||||
|
|
||||||
if (_.isArray(variable.current.value)) {
|
if (_.isArray(variable.current.value)) {
|
||||||
variable.current.text = variable.current.value.join(' + ');
|
variable.current.text = variable.current.value.join(' + ');
|
||||||
self.selectOptionsForCurrentValue(variable);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.selectOptionsForCurrentValue(variable);
|
||||||
|
|
||||||
templateSrv.updateTemplateData();
|
templateSrv.updateTemplateData();
|
||||||
return self.updateOptionsInChildVariables(variable);
|
return self.updateOptionsInChildVariables(variable);
|
||||||
};
|
};
|
||||||
@ -130,14 +131,21 @@ function (angular, _, kbn) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.selectOptionsForCurrentValue = function(variable) {
|
this.selectOptionsForCurrentValue = function(variable) {
|
||||||
for (var i = 0; i < variable.current.value.length; i++) {
|
var i, y, value, option;
|
||||||
var value = variable.current.value[i];
|
|
||||||
for (var y = 0; y < variable.options.length; y++) {
|
for (i = 0; i < variable.options.length; i++) {
|
||||||
var option = variable.options[y];
|
option = variable.options[i];
|
||||||
|
option.selected = false;
|
||||||
|
if (_.isArray(variable.current.value)) {
|
||||||
|
for (y = 0; y < variable.current.value.length; y++) {
|
||||||
|
value = variable.current.value[i];
|
||||||
if (option.value === value) {
|
if (option.value === value) {
|
||||||
option.selected = true;
|
option.selected = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (option.value === variable.current.value) {
|
||||||
|
option.selected = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ define([
|
|||||||
name: 'apps',
|
name: 'apps',
|
||||||
multi: true,
|
multi: true,
|
||||||
current: {text: "val1", value: "val1"},
|
current: {text: "val1", value: "val1"},
|
||||||
options: [{text: "val1", value: "val1"}, {text: 'val2', value: 'val2'}]
|
options: [{text: "val1", value: "val1"}, {text: 'val2', value: 'val2'}, {text: 'val3', value: 'val3', selected: true}]
|
||||||
};
|
};
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
@ -72,8 +72,11 @@ define([
|
|||||||
expect(variable.options[0].selected).to.be(true);
|
expect(variable.options[0].selected).to.be(true);
|
||||||
expect(variable.options[1].selected).to.be(true);
|
expect(variable.options[1].selected).to.be(true);
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
|
it('should set options that are not in value to selected false', function() {
|
||||||
|
expect(variable.options[2].selected).to.be(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
function describeUpdateVariable(desc, fn) {
|
function describeUpdateVariable(desc, fn) {
|
||||||
describe(desc, function() {
|
describe(desc, function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user