diff --git a/public/app/features/datasources/components/picker/DataSourceCard.tsx b/public/app/features/datasources/components/picker/DataSourceCard.tsx
index dbdbdc2512a..4f30c07d894 100644
--- a/public/app/features/datasources/components/picker/DataSourceCard.tsx
+++ b/public/app/features/datasources/components/picker/DataSourceCard.tsx
@@ -41,6 +41,7 @@ export function DataSourceCard({
{description || ds.meta.name}
{onToggleFavorite && !ds.meta.builtIn && (
{
e.stopPropagation();
diff --git a/public/app/features/datasources/components/picker/DataSourceList.tsx b/public/app/features/datasources/components/picker/DataSourceList.tsx
index 77e332dbc5f..691f6ae0d34 100644
--- a/public/app/features/datasources/components/picker/DataSourceList.tsx
+++ b/public/app/features/datasources/components/picker/DataSourceList.tsx
@@ -6,7 +6,7 @@ import { Observable } from 'rxjs';
import { DataSourceInstanceSettings, DataSourceJsonData, DataSourceRef, GrafanaTheme2 } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors';
import { Trans } from '@grafana/i18n';
-import { getTemplateSrv, reportInteraction, useFavoriteDatasources } from '@grafana/runtime';
+import { FavoriteDatasources, getTemplateSrv, reportInteraction } from '@grafana/runtime';
import { useStyles2, useTheme2 } from '@grafana/ui';
import { useDatasources, useKeyboardNavigatableList, useRecentlyUsedDataSources } from '../../hooks';
@@ -45,6 +45,7 @@ export interface DataSourceListProps {
onClickEmptyStateCTA?: () => void;
enableKeyboardNavigation?: boolean;
dataSources?: Array>;
+ favoriteDataSources: FavoriteDatasources;
}
export function DataSourceList(props: DataSourceListProps) {
@@ -58,7 +59,7 @@ export function DataSourceList(props: DataSourceListProps) {
const theme = useTheme2();
const styles = getStyles(theme, selectedItemCssSelector);
- const { className, current, onChange, enableKeyboardNavigation, onClickEmptyStateCTA } = props;
+ const { className, current, onChange, enableKeyboardNavigation, onClickEmptyStateCTA, favoriteDataSources } = props;
const dataSources = useDatasources(
{
alerting: props.alerting,
@@ -76,7 +77,6 @@ export function DataSourceList(props: DataSourceListProps) {
);
const [recentlyUsedDataSources, pushRecentlyUsedDataSource] = useRecentlyUsedDataSources();
- const favoriteDataSources = useFavoriteDatasources();
const filteredDataSources = props.filter ? dataSources.filter(props.filter) : dataSources;
diff --git a/public/app/features/datasources/components/picker/DataSourceModal.tsx b/public/app/features/datasources/components/picker/DataSourceModal.tsx
index ea6f7e63d80..8bbf5f367a5 100644
--- a/public/app/features/datasources/components/picker/DataSourceModal.tsx
+++ b/public/app/features/datasources/components/picker/DataSourceModal.tsx
@@ -219,6 +219,7 @@ export function DataSourceModal({
dashboard={dashboard}
mixed={mixed}
dataSources={dataSources}
+ favoriteDataSources={favoriteDataSources}
/>
diff --git a/public/app/features/datasources/components/picker/DataSourcePicker.tsx b/public/app/features/datasources/components/picker/DataSourcePicker.tsx
index 7d2be3aa341..fef92a8e0c0 100644
--- a/public/app/features/datasources/components/picker/DataSourcePicker.tsx
+++ b/public/app/features/datasources/components/picker/DataSourcePicker.tsx
@@ -11,7 +11,7 @@ import { Observable } from 'rxjs';
import { DataSourceInstanceSettings, GrafanaTheme2 } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors';
import { Trans, t } from '@grafana/i18n';
-import { reportInteraction, useFavoriteDatasources } from '@grafana/runtime';
+import { FavoriteDatasources, reportInteraction, useFavoriteDatasources } from '@grafana/runtime';
import { DataQuery, DataSourceJsonData, DataSourceRef } from '@grafana/schema';
import { Button, floatingUtils, Icon, Input, ModalsController, Portal, ScrollContainer, useStyles2 } from '@grafana/ui';
import config from 'app/core/config';
@@ -306,6 +306,7 @@ export function DataSourcePicker(props: DataSourcePickerProps) {
onDismiss={onClose}
onNavigateOutsiteFooter={onNavigateOutsiteFooter}
dataSources={dataSources}
+ favoriteDataSources={favoriteDataSources}
/>
@@ -343,10 +344,11 @@ export interface PickerContentProps extends DataSourcePickerProps {
footerRef: (element: HTMLElement | null) => void;
onNavigateOutsiteFooter: (e: React.KeyboardEvent) => void;
dataSources: Array>;
+ favoriteDataSources: FavoriteDatasources;
}
const PickerContent = React.forwardRef((props, ref) => {
- const { filterTerm, onChange, onClose, onClickAddCSV, current, filter, dataSources } = props;
+ const { filterTerm, onChange, onClose, onClickAddCSV, current, filter, dataSources, favoriteDataSources } = props;
const changeCallback = useCallback(
(ds: DataSourceInstanceSettings) => {
@@ -368,6 +370,7 @@ const PickerContent = React.forwardRef((prop