From 9719ee9bd30cd3750fa86558c6ba78dea9b7552e Mon Sep 17 00:00:00 2001 From: Marcus Andersson Date: Wed, 5 Apr 2023 07:55:44 +0200 Subject: [PATCH] PluginExtensions: Fixed issue in typings for the onClick link callback (#65978) * Fixed bug with event being forced. * Made onClick undefinable in the config as well. * Fixed some more type issues. --- packages/grafana-data/src/types/pluginExtensions.ts | 4 ++-- public/app/features/plugins/extensions/getPluginExtensions.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/grafana-data/src/types/pluginExtensions.ts b/packages/grafana-data/src/types/pluginExtensions.ts index 0d1fc7ff143..dcc312a9c9c 100644 --- a/packages/grafana-data/src/types/pluginExtensions.ts +++ b/packages/grafana-data/src/types/pluginExtensions.ts @@ -20,7 +20,7 @@ export type PluginExtension = { export type PluginExtensionLink = PluginExtension & { type: PluginExtensionTypes.link; path?: string; - onClick?: (event: React.MouseEvent) => void; + onClick?: (event?: React.MouseEvent) => void; }; // Objects used for registering extensions (in app plugins) @@ -45,7 +45,7 @@ export type PluginExtensionLinkConfig = PluginE Context, Pick & { type: PluginExtensionTypes.link; - onClick?: (event: React.MouseEvent, helpers: PluginExtensionEventHelpers) => void; + onClick?: (event: React.MouseEvent | undefined, helpers: PluginExtensionEventHelpers) => void; } >; diff --git a/public/app/features/plugins/extensions/getPluginExtensions.ts b/public/app/features/plugins/extensions/getPluginExtensions.ts index 0a46015036c..7440528c4bc 100644 --- a/public/app/features/plugins/extensions/getPluginExtensions.ts +++ b/public/app/features/plugins/extensions/getPluginExtensions.ts @@ -108,14 +108,14 @@ function getLinkExtensionOverrides(pluginId: string, config: PluginExtensionLink function getLinkExtensionOnClick( config: PluginExtensionLinkConfig, context?: object -): ((event: React.MouseEvent) => void) | undefined { +): ((event?: React.MouseEvent) => void) | undefined { const { onClick } = config; if (!onClick) { return; } - return function onClickExtensionLink(event: React.MouseEvent) { + return function onClickExtensionLink(event?: React.MouseEvent) { try { const result = onClick(event, getEventHelpers(context));