@@ -68,7 +93,7 @@ export const HelpFooter: React.FC = ({ className }) => {
const buttonProps = button.href
? {
href: button.href,
- target: '_blank',
+ target: button.target || '_blank',
rel: 'noopener noreferrer',
}
: {
diff --git a/src/components/docs-panel/context-panel.tsx b/src/components/docs-panel/context-panel.tsx
index 69ef6005..1c19c50d 100644
--- a/src/components/docs-panel/context-panel.tsx
+++ b/src/components/docs-panel/context-panel.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import { SceneComponentProps, SceneObjectBase, SceneObjectState } from '@grafana/scenes';
import { Icon, useStyles2, Card } from '@grafana/ui';
-import { usePluginContext } from '@grafana/data';
+import { usePluginContext, NavModelItem } from '@grafana/data';
import { t } from '@grafana/i18n';
import logoSvg from '../../img/logo.svg';
import { SkeletonLoader } from '../SkeletonLoader';
@@ -20,6 +20,7 @@ import { getConfigWithDefaults } from '../../constants';
interface ContextPanelState extends SceneObjectState {
onOpenLearningJourney?: (url: string, title: string) => void;
onOpenDocsPage?: (url: string, title: string) => void;
+ helpNode?: NavModelItem;
}
export class ContextPanel extends SceneObjectBase {
@@ -31,11 +32,13 @@ export class ContextPanel extends SceneObjectBase {
public constructor(
onOpenLearningJourney?: (url: string, title: string) => void,
- onOpenDocsPage?: (url: string, title: string) => void
+ onOpenDocsPage?: (url: string, title: string) => void,
+ helpNode?: NavModelItem
) {
super({
onOpenLearningJourney,
onOpenDocsPage,
+ helpNode,
});
}
@@ -410,8 +413,8 @@ function ContextPanelRenderer({ model }: SceneComponentProps) {
)}
- {/* Help Footer */}
-
+ {/* Help Footer - now receives helpNode */}
+
);
diff --git a/src/components/docs-panel/docs-panel.tsx b/src/components/docs-panel/docs-panel.tsx
index 8e2cca69..066dfa10 100644
--- a/src/components/docs-panel/docs-panel.tsx
+++ b/src/components/docs-panel/docs-panel.tsx
@@ -4,7 +4,7 @@
import React, { useState, useEffect, useRef, useCallback } from 'react';
import { SceneObjectBase, SceneObjectState, SceneComponentProps } from '@grafana/scenes';
import { IconButton, Alert, Icon, useStyles2 } from '@grafana/ui';
-import { GrafanaTheme2 } from '@grafana/data';
+import { GrafanaTheme2, NavModelItem } from '@grafana/data';
import { t } from '@grafana/i18n';
import { getConfigWithDefaults, DocsPluginConfig } from '../../constants';
@@ -77,11 +77,12 @@ class CombinedLearningJourneyPanel extends SceneObjectBase