Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
usr
/
share
/
grafana
/
public
/
app
/
features
/
datasources
/
components
/
File Content:
CloudInfoBox.tsx
import React from 'react'; import { DataSourceSettings } from '@grafana/data'; import { GrafanaEdition } from '@grafana/data/src/types/config'; import { Alert } from '@grafana/ui'; import { LocalStorageValueProvider } from 'app/core/components/LocalStorageValueProvider'; import { config } from 'app/core/config'; const LOCAL_STORAGE_KEY = 'datasources.settings.cloudInfoBox.isDismissed'; export interface Props { dataSource: DataSourceSettings; } export function CloudInfoBox({ dataSource }: Props) { let mainDS = ''; let extraDS = ''; // don't show for already configured data sources or provisioned data sources if (dataSource.readOnly || (dataSource.version ?? 0) > 2) { return null; } // Skip showing this info box in some editions if (config.buildInfo.edition !== GrafanaEdition.OpenSource) { return null; } switch (dataSource.type) { case 'prometheus': mainDS = 'Prometheus'; extraDS = 'Loki'; break; case 'loki': mainDS = 'Loki'; extraDS = 'Prometheus'; break; default: return null; } return ( <LocalStorageValueProvider<boolean> storageKey={LOCAL_STORAGE_KEY} defaultValue={false}> {(isDismissed, onDismiss) => { if (isDismissed) { return null; } return ( <Alert title={`Configure your ${mainDS} data source below`} severity="info" bottomSpacing={4} onRemove={() => { onDismiss(true); }} > Or skip the effort and get {mainDS} (and {extraDS}) as fully-managed, scalable, and hosted data sources from Grafana Labs with the{' '} <a className="external-link" href={`https://grafana.com/signup/cloud/connect-account?src=grafana-oss&cnt=${dataSource.type}-settings`} target="_blank" rel="noreferrer" title="The free plan includes 10k active metrics and 50gb storage." > free-forever Grafana Cloud plan </a> . </Alert> ); }} </LocalStorageValueProvider> ); }
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
picker
---
0755
BasicSettings.test.tsx
682 bytes
0644
BasicSettings.tsx
2358 bytes
0644
ButtonRow.test.tsx
876 bytes
0644
ButtonRow.tsx
1160 bytes
0644
CloudInfoBox.tsx
2179 bytes
0644
DashboardsTable.test.tsx
3372 bytes
0644
DashboardsTable.tsx
2137 bytes
0644
DataSourceAddButton.tsx
754 bytes
0644
DataSourceCategories.tsx
1379 bytes
0644
DataSourceDashboards.test.tsx
1476 bytes
0644
DataSourceDashboards.tsx
2417 bytes
0644
DataSourceLoadError.tsx
917 bytes
0644
DataSourceMissingRightsMessage.tsx
379 bytes
0644
DataSourcePluginConfigPage.tsx
576 bytes
0644
DataSourcePluginSettings.tsx
2480 bytes
0644
DataSourcePluginState.tsx
508 bytes
0644
DataSourceReadOnlyMessage.tsx
520 bytes
0644
DataSourceTabPage.tsx
1166 bytes
0644
DataSourceTestingStatus.test.tsx
3313 bytes
0644
DataSourceTestingStatus.tsx
4054 bytes
0644
DataSourceTitle.tsx
779 bytes
0644
DataSourceTypeCard.tsx
3209 bytes
0644
DataSourceTypeCardList.tsx
961 bytes
0644
DataSourcesList.test.tsx
1787 bytes
0644
DataSourcesList.tsx
3664 bytes
0644
DataSourcesListCard.tsx
3749 bytes
0644
DataSourcesListHeader.tsx
1672 bytes
0644
EditDataSource.test.tsx
10928 bytes
0644
EditDataSource.tsx
7557 bytes
0644
EditDataSourceActions.tsx
1717 bytes
0644
NewDataSource.tsx
3154 bytes
0644
useDataSourceInfo.tsx
691 bytes
0644
N4ST4R_ID | Naxtarrr