diff --git a/.betterer.results b/.betterer.results index 11f9acdc59b..e605baa2fd0 100644 --- a/.betterer.results +++ b/.betterer.results @@ -226,7 +226,8 @@ exports[`better eslint`] = { "packages/grafana-data/src/panel/registryFactories.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"], [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Do not use any type assertions.", "2"] + [0, 0, 0, "Do not use any type assertions.", "2"], + [0, 0, 0, "Do not use any type assertions.", "3"] ], "packages/grafana-data/src/text/text.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] diff --git a/packages/grafana-data/src/panel/PanelPlugin.ts b/packages/grafana-data/src/panel/PanelPlugin.ts index f4227054aae..150c53e7895 100644 --- a/packages/grafana-data/src/panel/PanelPlugin.ts +++ b/packages/grafana-data/src/panel/PanelPlugin.ts @@ -23,6 +23,7 @@ import { createFieldConfigRegistry } from './registryFactories'; export type StandardOptionConfig = { defaultValue?: any; settings?: any; + hideFromDefaults?: boolean; }; /** @beta */ diff --git a/packages/grafana-data/src/panel/registryFactories.ts b/packages/grafana-data/src/panel/registryFactories.ts index 54a292a984f..1cd6e8524d1 100644 --- a/packages/grafana-data/src/panel/registryFactories.ts +++ b/packages/grafana-data/src/panel/registryFactories.ts @@ -50,8 +50,18 @@ export function createFieldConfigRegistry( } } if (config.standardOptions) { + const customHideFromDefaults = + config.standardOptions[fieldConfigProp.id as FieldConfigProperty]?.hideFromDefaults; const customDefault = config.standardOptions[fieldConfigProp.id as FieldConfigProperty]?.defaultValue; const customSettings = config.standardOptions[fieldConfigProp.id as FieldConfigProperty]?.settings; + + if (customHideFromDefaults) { + fieldConfigProp = { + ...fieldConfigProp, + hideFromDefaults: customHideFromDefaults, + }; + } + if (customDefault) { fieldConfigProp = { ...fieldConfigProp,