refactor: use DataSourceConfigErrorStatus extension point for troubleshooting guide

Use the specific DataSourceConfigErrorStatus extension point instead of
DataSourceConfigStatus with conditional logic in configure function.
This simplifies the code by leveraging the right abstraction level.
This commit is contained in:
Miguel Palau Zarza
2025-07-29 15:03:58 -06:00
parent 5a6d90ae1b
commit bbac247f2c
@@ -2,7 +2,7 @@ import {
PluginExtensionAddedLinkConfig,
PluginExtensionPoints,
PluginExtensionDataSourceConfigActionsContext,
PluginExtensionDataSourceConfigStatusContext,
DataSourceConfigErrorStatusContext,
} from '@grafana/data';
import { createAddedLinkConfig } from '../../plugins/extensions/utils';
@@ -35,23 +35,16 @@ export function getDataSourceExtensionConfigs(): PluginExtensionAddedLinkConfig[
}),
// Example: Add troubleshooting link for error status
createAddedLinkConfig<PluginExtensionDataSourceConfigStatusContext>({
createAddedLinkConfig<DataSourceConfigErrorStatusContext>({
// This is called at the top level, so will break if we add a translation here 😱
// eslint-disable-next-line @grafana/i18n/no-untranslated-strings
title: 'Troubleshooting Guide',
// eslint-disable-next-line @grafana/i18n/no-untranslated-strings
description: 'Get help resolving this datasource issue',
targets: [PluginExtensionPoints.DataSourceConfigStatus],
targets: [PluginExtensionPoints.DataSourceConfigErrorStatus],
icon: 'question-circle',
// eslint-disable-next-line @grafana/i18n/no-untranslated-strings
category: 'Help',
configure: (context) => {
// Only show for error status
if (context?.severity !== 'error') {
return undefined;
}
return {};
},
path: '/a/grafana/docs/troubleshooting/datasources',
}),
];