diff --git a/packages/grafana-data/src/types/pluginExtensions.ts b/packages/grafana-data/src/types/pluginExtensions.ts index 08767dcd549..4707c9123dd 100644 --- a/packages/grafana-data/src/types/pluginExtensions.ts +++ b/packages/grafana-data/src/types/pluginExtensions.ts @@ -165,6 +165,8 @@ export type PluginExtensionOpenModalOptions = { export type PluginExtensionEventHelpers = { context?: Readonly; + // The ID of the extension point that triggered this event + extensionPointId: string; // Opens a modal dialog and renders the provided React component inside it openModal: (options: PluginExtensionOpenModalOptions) => void; /** diff --git a/public/app/features/plugins/extensions/getPluginExtensions.test.tsx b/public/app/features/plugins/extensions/getPluginExtensions.test.tsx index e4f2ea1d762..1282eb93f05 100644 --- a/public/app/features/plugins/extensions/getPluginExtensions.test.tsx +++ b/public/app/features/plugins/extensions/getPluginExtensions.test.tsx @@ -405,6 +405,7 @@ describe('getPluginExtensions()', () => { expect.objectContaining({ context, openModal: expect.any(Function), + extensionPointId: extensionPoint2, }) ); }); diff --git a/public/app/features/plugins/extensions/utils.tsx b/public/app/features/plugins/extensions/utils.tsx index 5d5498ce0ac..5077da479d3 100644 --- a/public/app/features/plugins/extensions/utils.tsx +++ b/public/app/features/plugins/extensions/utils.tsx @@ -537,6 +537,7 @@ export function getLinkExtensionOnClick( const helpers: PluginExtensionEventHelpers = { context, + extensionPointId, openModal: createOpenModalFunction(config), openSidebar: (componentTitle, context) => { appEvents.publish(