2019-01-17 11:51:07 -06:00
|
|
|
// Libraries
|
2021-02-22 06:02:10 -06:00
|
|
|
import React, { FC } from 'react';
|
2019-01-17 11:51:07 -06:00
|
|
|
|
|
|
|
// Types
|
2021-04-21 09:39:56 -05:00
|
|
|
import { DataSourceSettings, LayoutMode } from '@grafana/data';
|
2021-02-22 06:02:10 -06:00
|
|
|
import { Card, Tag, useStyles } from '@grafana/ui';
|
2021-04-01 07:15:23 -05:00
|
|
|
import { css } from '@emotion/css';
|
2018-09-28 04:05:34 -05:00
|
|
|
|
|
|
|
export interface Props {
|
2019-01-17 11:51:07 -06:00
|
|
|
dataSources: DataSourceSettings[];
|
2018-09-28 04:05:34 -05:00
|
|
|
layoutMode: LayoutMode;
|
|
|
|
}
|
|
|
|
|
2021-02-22 06:02:10 -06:00
|
|
|
export const DataSourcesList: FC<Props> = ({ dataSources, layoutMode }) => {
|
|
|
|
const styles = useStyles(getStyles);
|
2018-09-28 04:05:34 -05:00
|
|
|
|
2021-02-22 06:02:10 -06:00
|
|
|
return (
|
|
|
|
<ul className={styles.list}>
|
|
|
|
{dataSources.map((dataSource, index) => {
|
|
|
|
return (
|
|
|
|
<li key={dataSource.id}>
|
2021-05-08 11:13:26 -05:00
|
|
|
<Card heading={dataSource.name} href={`datasources/edit/${dataSource.uid}`}>
|
2021-02-22 06:02:10 -06:00
|
|
|
<Card.Figure>
|
|
|
|
<img src={dataSource.typeLogoUrl} alt={dataSource.name} />
|
|
|
|
</Card.Figure>
|
|
|
|
<Card.Meta>
|
|
|
|
{[
|
|
|
|
dataSource.typeName,
|
|
|
|
dataSource.url,
|
|
|
|
dataSource.isDefault && <Tag key="default-tag" name={'default'} colorIndex={1} />,
|
|
|
|
]}
|
|
|
|
</Card.Meta>
|
|
|
|
</Card>
|
|
|
|
</li>
|
|
|
|
);
|
|
|
|
})}
|
|
|
|
</ul>
|
|
|
|
);
|
|
|
|
};
|
2018-09-28 04:05:34 -05:00
|
|
|
|
|
|
|
export default DataSourcesList;
|
2021-02-22 06:02:10 -06:00
|
|
|
|
|
|
|
const getStyles = () => {
|
|
|
|
return {
|
|
|
|
list: css`
|
|
|
|
list-style: none;
|
|
|
|
`,
|
|
|
|
};
|
|
|
|
};
|