Overview.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import React from 'react';
  2. import { Connector } from 'generated-sources';
  3. import StatusTag from 'components/Connect/StatusTag';
  4. export interface OverviewProps {
  5. connector: Connector | null;
  6. runningTasksCount: number;
  7. failedTasksCount: number;
  8. }
  9. const Overview: React.FC<OverviewProps> = ({
  10. connector,
  11. runningTasksCount,
  12. failedTasksCount,
  13. }) => {
  14. if (!connector) return null;
  15. return (
  16. <div className="tile is-6">
  17. <table className="table is-fullwidth">
  18. <tbody>
  19. {connector.status?.workerId && (
  20. <tr>
  21. <th>Worker</th>
  22. <td>{connector.status.workerId}</td>
  23. </tr>
  24. )}
  25. <tr>
  26. <th>Type</th>
  27. <td>{connector.type}</td>
  28. </tr>
  29. {connector.config['connector.class'] && (
  30. <tr>
  31. <th>Class</th>
  32. <td>{connector.config['connector.class']}</td>
  33. </tr>
  34. )}
  35. <tr>
  36. <th>State</th>
  37. <td>
  38. <StatusTag status={connector.status.state} />
  39. </td>
  40. </tr>
  41. <tr>
  42. <th>Tasks Running</th>
  43. <td>{runningTasksCount}</td>
  44. </tr>
  45. <tr>
  46. <th>Tasks Failed</th>
  47. <td>{failedTasksCount}</td>
  48. </tr>
  49. </tbody>
  50. </table>
  51. </div>
  52. );
  53. };
  54. export default Overview;