MCPcopy Create free account
hub / github.com/coder/coder / TaskRow

Function TaskRow

site/src/pages/TasksPage/TasksTable.tsx:180–325  ·  view source on GitHub ↗
({ task, checked, onCheckChange })

Source from the content-addressed store, hash-verified

178};
179
180const TaskRow: FC<TaskRowProps> = ({ task, checked, onCheckChange }) => {
181 const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false);
182 const templateDisplayName = task.template_display_name ?? task.template_name;
183 const navigate = useNavigate();
184
185 const showPause = canPauseTask(task.status) && task.workspace_id;
186 const pauseDisabled = isPauseDisabled(task.status);
187 const showResume = canResumeTask(task.status) && task.workspace_id;
188
189 const queryClient = useQueryClient();
190 const pauseMutation = useMutation({
191 ...pauseTask(task, queryClient),
192 onError: (error: unknown) => {
193 toast.error(getErrorMessage(error, "Failed to pause task."), {
194 description: getErrorDetail(error),
195 });
196 },
197 });
198 const resumeMutation = useMutation({
199 ...resumeTask(task, queryClient),
200 onError: (error: unknown) => {
201 toast.error(getErrorMessage(error, "Failed to resume task."), {
202 description: getErrorDetail(error),
203 });
204 },
205 });
206
207 const taskPageLink = `/tasks/${task.owner_name}/${task.id}`;
208 // Discard role, breaks Chromatic.
209 const { role, ...clickableRowProps } = useClickableTableRow({
210 onClick: () => {
211 navigate(taskPageLink);
212 },
213 });
214
215 return (
216 <>
217 <TableRow
218 key={task.id}
219 data-testid={`task-${task.id}`}
220 {...clickableRowProps}
221 >
222 <TableCell>
223 <div className="flex items-center gap-5">
224 <Checkbox
225 data-testid={`checkbox-${task.id}`}
226 checked={checked}
227 onClick={(e) => {
228 e.stopPropagation();
229 }}
230 onCheckedChange={(checked) => {
231 onCheckChange(task.id, Boolean(checked));
232 }}
233 aria-label={`Select task ${task.initial_prompt}`}
234 />
235 <AvatarData
236 title={
237 <span className="block max-w-[520px] truncate">

Callers

nothing calls this directly

Calls 9

canPauseTaskFunction · 0.90
isPauseDisabledFunction · 0.90
canResumeTaskFunction · 0.90
pauseTaskFunction · 0.90
getErrorMessageFunction · 0.90
getErrorDetailFunction · 0.90
resumeTaskFunction · 0.90
useClickableTableRowFunction · 0.90
relativeTimeFunction · 0.90

Tested by

no test coverage detected