DataSourcesList.tsx 947 B

1234567891011121314151617181920212223242526272829303132
  1. import React, { SFC } from 'react';
  2. import classNames from 'classnames/bind';
  3. import DataSourcesListItem from './DataSourcesListItem';
  4. import { DataSource } from 'app/types';
  5. import { LayoutMode, LayoutModes } from '../../core/components/LayoutSelector/LayoutSelector';
  6. export interface Props {
  7. dataSources: DataSource[];
  8. layoutMode: LayoutMode;
  9. }
  10. const DataSourcesList: SFC<Props> = props => {
  11. const { dataSources, layoutMode } = props;
  12. const listStyle = classNames({
  13. 'card-section': true,
  14. 'card-list-layout-grid': layoutMode === LayoutModes.Grid,
  15. 'card-list-layout-list': layoutMode === LayoutModes.List,
  16. });
  17. return (
  18. <section className={listStyle}>
  19. <ol className="card-list">
  20. {dataSources.map((dataSource, index) => {
  21. return <DataSourcesListItem dataSource={dataSource} key={`${dataSource.id}-${index}`} />;
  22. })}
  23. </ol>
  24. </section>
  25. );
  26. };
  27. export default DataSourcesList;