mirror of https://github.com/grafana/grafana.git
				
				
				
			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