mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Gauge Panel: fix the default value of thresholds cannot be modified (#20190)
* Panel: fix the default value of thresholds cannot be modified in Gauge panel * Panel: fix the default value of thresholds cannot be modified in Gauge panel
This commit is contained in:
parent
be2bf1a297
commit
f2415a319e
@ -24,6 +24,7 @@ describe('PanelModel', () => {
|
||||
},
|
||||
],
|
||||
},
|
||||
arrayWith2Values: [{ value: 'name' }, { value: 'name2' }],
|
||||
showThresholds: true,
|
||||
};
|
||||
|
||||
@ -43,6 +44,7 @@ describe('PanelModel', () => {
|
||||
},
|
||||
],
|
||||
},
|
||||
arrayWith2Values: [{ name: 'changed to only one value' }],
|
||||
};
|
||||
|
||||
modelJson = {
|
||||
@ -72,6 +74,10 @@ describe('PanelModel', () => {
|
||||
expect(model.getOptions().showThresholds).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should apply option defaults but not override if array is changed', () => {
|
||||
expect(model.getOptions().arrayWith2Values.length).toBe(1);
|
||||
});
|
||||
|
||||
it('should set model props on instance', () => {
|
||||
expect(model.showColumns).toBe(true);
|
||||
});
|
||||
|
@ -255,7 +255,16 @@ export class PanelModel {
|
||||
if (plugin.angularConfigCtrl) {
|
||||
return;
|
||||
}
|
||||
this.options = _.defaultsDeep({}, this.options || {}, plugin.defaults);
|
||||
this.options = _.mergeWith(
|
||||
{},
|
||||
plugin.defaults,
|
||||
this.options || {},
|
||||
(objValue: any, srcValue: any): any => {
|
||||
if (_.isArray(srcValue)) {
|
||||
return srcValue;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
pluginLoaded(plugin: PanelPlugin) {
|
||||
|
Loading…
Reference in New Issue
Block a user