import React from 'react'; import { useParams } from 'react-router-dom'; import { Task, TaskId } from 'generated-sources'; import { ClusterName, ConnectName, ConnectorName } from 'redux/interfaces'; import Dropdown from 'components/common/Dropdown/Dropdown'; import DropdownItem from 'components/common/Dropdown/DropdownItem'; import VerticalElipsisIcon from 'components/common/Icons/VerticalElipsisIcon'; import * as C from 'components/common/Tag/Tag.styled'; import getTagColor from 'components/common/Tag/getTagColor'; interface RouterParams { clusterName: ClusterName; connectName: ConnectName; connectorName: ConnectorName; } export interface ListItemProps { task: Task; restartTask( clusterName: ClusterName, connectName: ConnectName, connectorName: ConnectorName, taskId: TaskId['task'] ): Promise; } const ListItem: React.FC = ({ task, restartTask }) => { const { clusterName, connectName, connectorName } = useParams(); const restartTaskHandler = React.useCallback(async () => { await restartTask(clusterName, connectName, connectorName, task.id?.task); }, [restartTask, clusterName, connectName, connectorName, task.id?.task]); return ( {task.status?.id} {task.status?.workerId} {task.status.state} {task.status.trace || 'null'}
} right> Restart task
); }; export default ListItem;