List.tsx 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import React from 'react';
  2. import useAppParams from 'lib/hooks/useAppParams';
  3. import { ClusterNameRoute } from 'lib/paths';
  4. import { Table } from 'components/common/table/Table/Table.styled';
  5. import TableHeaderCell from 'components/common/table/TableHeaderCell/TableHeaderCell';
  6. import useSearch from 'lib/hooks/useSearch';
  7. import { useConnectors } from 'lib/hooks/api/kafkaConnect';
  8. import ListItem from './ListItem';
  9. const List: React.FC = () => {
  10. const { clusterName } = useAppParams<ClusterNameRoute>();
  11. const [search] = useSearch();
  12. const { data: connectors } = useConnectors(clusterName, search);
  13. return (
  14. <Table isFullwidth>
  15. <thead>
  16. <tr>
  17. <TableHeaderCell title="Name" />
  18. <TableHeaderCell title="Connect" />
  19. <TableHeaderCell title="Type" />
  20. <TableHeaderCell title="Plugin" />
  21. <TableHeaderCell title="Topics" />
  22. <TableHeaderCell title="Status" />
  23. <TableHeaderCell title="Running Tasks" />
  24. <TableHeaderCell> </TableHeaderCell>
  25. </tr>
  26. </thead>
  27. <tbody>
  28. {(!connectors || connectors.length) === 0 && (
  29. <tr>
  30. <td colSpan={10}>No connectors found</td>
  31. </tr>
  32. )}
  33. {connectors?.map((connector) => (
  34. <ListItem
  35. key={connector.name}
  36. connector={connector}
  37. clusterName={clusterName}
  38. />
  39. ))}
  40. </tbody>
  41. </Table>
  42. );
  43. };
  44. export default List;