diff --git a/packages/grafana-data/src/field/fieldOverrides.ts b/packages/grafana-data/src/field/fieldOverrides.ts index c81cc7c4a35..8e15f689d68 100644 --- a/packages/grafana-data/src/field/fieldOverrides.ts +++ b/packages/grafana-data/src/field/fieldOverrides.ts @@ -150,23 +150,6 @@ export function applyFieldOverrides(options: ApplyFieldOverrideOptions): DataFra } } - // Some units have an implied range - if (config.unit === 'percent') { - if (!isNumber(config.min)) { - config.min = 0; - } - if (!isNumber(config.max)) { - config.max = 100; - } - } else if (config.unit === 'percentunit') { - if (!isNumber(config.min)) { - config.min = 0; - } - if (!isNumber(config.max)) { - config.max = 1; - } - } - // Set the Min/Max value automatically let range: NumericRange | undefined = undefined; if (field.type === FieldType.number) { diff --git a/packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.test.ts b/packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.test.ts index 5458e37eda7..21f2ed6e6dc 100644 --- a/packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.test.ts +++ b/packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.test.ts @@ -229,4 +229,22 @@ describe('sharedSingleStatMigrationHandler', () => { expect(panel.fieldConfig.defaults.min).toBe(undefined); expect(panel.fieldConfig.defaults.max).toBe(undefined); }); + + it('auto set min/max for percent units before 8.0', () => { + const panel = ({ + options: { + fieldOptions: { + defaults: { + unit: 'percentunit', + }, + }, + }, + title: 'Usage', + type: 'bargauge', + } as unknown) as PanelModel; + sharedSingleStatMigrationHandler(panel as any); + expect(panel.fieldConfig.defaults.unit).toBe('percentunit'); + expect(panel.fieldConfig.defaults.min).toBe(0); + expect(panel.fieldConfig.defaults.max).toBe(1); + }); }); diff --git a/packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.ts b/packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.ts index 1657624bb91..0238ac9290f 100644 --- a/packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.ts +++ b/packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.ts @@ -1,4 +1,4 @@ -import { cloneDeep, omit } from 'lodash'; +import { cloneDeep, isNumber, omit } from 'lodash'; import { fieldReducers, @@ -216,6 +216,27 @@ export function sharedSingleStatMigrationHandler(panel: PanelModel