Dashboards: Add restricted extension point for empty state (#111788)

* Dashboards: Add restricted extension point for empty state

* FeatureToggles: Regenerate files with new toggle

* Dashboards: Pass default empty UI as component, not children

* Dashboards: Expose hooks for empty state methods to extensions

* Dashboards: Move empty state button hooks to dedicated file

* Dashboards: Render loader while empty state plugin components loading

* Dashboards: Pass empty state default UI as method

* Dashboards: De-duplicate hook usages in empty state

* Dashboards: De-duplicate read-only repo check in empty state
This commit is contained in:
Matt Cowley
2025-10-13 09:03:13 +02:00
committed by GitHub
parent 1e5f65faf9
commit 85174e3313
12 changed files with 217 additions and 59 deletions
@@ -1093,6 +1093,11 @@ export interface FeatureToggles {
*/
enableAppChromeExtensions?: boolean;
/**
* Set this to true to enable all dashboard empty state extensions registered by plugins.
* @default false
*/
enableDashboardEmptyExtensions?: boolean;
/**
* Enables use of app platform API for folders
* @default false
*/
@@ -195,6 +195,7 @@ export enum PluginExtensionPoints {
AlertingRuleQueryEditor = 'grafana/alerting/alertingrule/queryeditor',
CommandPalette = 'grafana/commandpalette/action',
DashboardPanelMenu = 'grafana/dashboard/panel/menu',
DashboardEmpty = 'grafana/dashboard/empty',
DataSourceConfig = 'grafana/datasources/config',
DataSourceConfigActions = 'grafana/datasources/config/actions',
DataSourceConfigErrorStatus = 'grafana/datasources/config/error-status',