mirror of https://github.com/grafana/grafana
Alerting: display datasource information under each section (#76070)
* display datasource information under each section * Minor - change legend to multi in some panels that were missing it * Don't show ds info to grafana sections * Remove unused classname * Remove unused import * Fix pickers styling by placing it to the rightpull/75911/head
parent
16d77dda67
commit
095749b131
@ -0,0 +1,38 @@ |
||||
import { css } from '@emotion/css'; |
||||
import React from 'react'; |
||||
|
||||
import { GrafanaTheme2 } from '@grafana/data/src/themes'; |
||||
import { useStyles2 } from '@grafana/ui'; |
||||
|
||||
import { DataSourceInformation } from '../home/Insights'; |
||||
|
||||
export function DataSourcesInfo({ datasources }: { datasources: DataSourceInformation[] }) { |
||||
const styles = useStyles2(getStyles); |
||||
|
||||
const displayDs = datasources.map((ds) => ( |
||||
<div key={ds.uid}> |
||||
{ds.settings?.meta.info.logos.small && ( |
||||
<img className={styles.dsImage} src={ds.settings?.meta.info.logos.small} alt={ds.settings?.name || ds.uid} /> |
||||
)} |
||||
<span>{ds.settings?.name || ds.uid}</span> |
||||
</div> |
||||
)); |
||||
|
||||
return <div className={styles.dsContainer}>{displayDs}</div>; |
||||
} |
||||
|
||||
const getStyles = (theme: GrafanaTheme2) => ({ |
||||
dsImage: css({ |
||||
label: 'ds-image', |
||||
width: '16px', |
||||
marginRight: '3px', |
||||
}), |
||||
dsContainer: css({ |
||||
display: 'flex', |
||||
flexDirection: 'row', |
||||
fontSize: theme.typography.bodySmall.fontSize, |
||||
gap: '10px', |
||||
marginBottom: '10px', |
||||
justifyContent: 'flex-end', |
||||
}), |
||||
}); |
@ -0,0 +1,31 @@ |
||||
import { css } from '@emotion/css'; |
||||
import React from 'react'; |
||||
|
||||
import { GrafanaTheme2 } from '@grafana/data/src/themes'; |
||||
import { useStyles2 } from '@grafana/ui'; |
||||
|
||||
import { DataSourceInformation } from '../home/Insights'; |
||||
|
||||
import { DataSourcesInfo } from './DataSourcesInfo'; |
||||
|
||||
export function SectionSubheader({ |
||||
children, |
||||
datasources, |
||||
}: React.PropsWithChildren<{ datasources: DataSourceInformation[] }>) { |
||||
const styles = useStyles2(getStyles); |
||||
|
||||
return ( |
||||
<div className={styles.container}> |
||||
<div>{children}</div> |
||||
<DataSourcesInfo datasources={datasources} /> |
||||
</div> |
||||
); |
||||
} |
||||
|
||||
const getStyles = (theme: GrafanaTheme2) => ({ |
||||
container: css({ |
||||
display: 'flex', |
||||
flexDirection: 'row', |
||||
justifyContent: 'space-between', |
||||
}), |
||||
}); |
Loading…
Reference in new issue