mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 00:55:47 -06:00
Primarily- moving majority of the types and utils from @grafana/ui to @grafana/data * Move types from grafana-ui to grafana-data * Move valueFormats to grafana-data * Move utils from grafana-ui to grafana-data * Update imports in grafana-ui * revert data's tsconfig change * Update imports in grafana-runtime * Fix import paths in grafana-ui * Move rxjs to devDeps * Core import updates batch 1 * Import updates batch 2 * Imports fix batch 3 * Imports fixes batch i don't know * Fix imorts in grafana-toolkit * Fix imports after master merge
40 lines
1.0 KiB
TypeScript
40 lines
1.0 KiB
TypeScript
// Libraries
|
|
import React, { PureComponent } from 'react';
|
|
import classNames from 'classnames';
|
|
|
|
// Components
|
|
import DataSourcesListItem from './DataSourcesListItem';
|
|
|
|
// Types
|
|
import { DataSourceSettings } from '@grafana/data';
|
|
import { LayoutMode, LayoutModes } from '../../core/components/LayoutSelector/LayoutSelector';
|
|
|
|
export interface Props {
|
|
dataSources: DataSourceSettings[];
|
|
layoutMode: LayoutMode;
|
|
}
|
|
|
|
export class DataSourcesList extends PureComponent<Props> {
|
|
render() {
|
|
const { dataSources, layoutMode } = this.props;
|
|
|
|
const listStyle = classNames({
|
|
'card-section': true,
|
|
'card-list-layout-grid': layoutMode === LayoutModes.Grid,
|
|
'card-list-layout-list': layoutMode === LayoutModes.List,
|
|
});
|
|
|
|
return (
|
|
<section className={listStyle}>
|
|
<ol className="card-list">
|
|
{dataSources.map((dataSource, index) => {
|
|
return <DataSourcesListItem dataSource={dataSource} key={`${dataSource.id}-${index}`} />;
|
|
})}
|
|
</ol>
|
|
</section>
|
|
);
|
|
}
|
|
}
|
|
|
|
export default DataSourcesList;
|