Skip to content

Commit

Permalink
fix: make the trace table row act as an anchor tag (#5626)
Browse files Browse the repository at this point in the history
* fix: wrap the trace row cells inside a tag to make them clickable
  • Loading branch information
ahmadshaheer authored Sep 10, 2024
1 parent 6f0cf03 commit ee1e2b8
Showing 1 changed file with 41 additions and 7 deletions.
48 changes: 41 additions & 7 deletions frontend/src/container/TracesExplorer/ListView/utils.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,26 @@ import { getMs } from 'container/Trace/Filters/Panel/PanelBody/Duration/util';
import { formUrlParams } from 'container/TraceDetail/utils';
import dayjs from 'dayjs';
import { RowData } from 'lib/query/createTableColumnsFromQuery';
import { Link } from 'react-router-dom';
import { ILog } from 'types/api/logs/log';
import { BaseAutocompleteData } from 'types/api/queryBuilder/queryAutocompleteResponse';
import { QueryDataV3 } from 'types/api/widgets/getQuery';

function BlockLink({
children,
to,
}: {
children: React.ReactNode;
to: string;
}): any {
// Display block to make the whole cell clickable
return (
<Link to={to} style={{ display: 'block' }}>
{children}
</Link>
);
}

export const transformDataWithDate = (
data: QueryDataV3[],
): Omit<ILog, 'timestamp'>[] =>
Expand Down Expand Up @@ -36,7 +52,11 @@ export const getListColumns = (
typeof item === 'string'
? dayjs(item).format('YYYY-MM-DD HH:mm:ss.SSS')
: dayjs(item / 1e6).format('YYYY-MM-DD HH:mm:ss.SSS');
return <Typography.Text>{date}</Typography.Text>;
return (
<BlockLink to={getTraceLink(item)}>
<Typography.Text>{date}</Typography.Text>
</BlockLink>
);
},
},
];
Expand All @@ -49,22 +69,36 @@ export const getListColumns = (
width: 145,
render: (value): JSX.Element => {
if (value === '') {
return <Typography data-testid={key}>N/A</Typography>;
return (
<BlockLink to={getTraceLink(value)}>
<Typography data-testid={key}>N/A</Typography>
</BlockLink>
);
}

if (key === 'httpMethod' || key === 'responseStatusCode') {
return (
<Tag data-testid={key} color="magenta">
{value}
</Tag>
<BlockLink to={getTraceLink(value)}>
<Tag data-testid={key} color="magenta">
{value}
</Tag>
</BlockLink>
);
}

if (key === 'durationNano') {
return <Typography data-testid={key}>{getMs(value)}ms</Typography>;
return (
<BlockLink to={getTraceLink(value)}>
<Typography data-testid={key}>{getMs(value)}ms</Typography>
</BlockLink>
);
}

return <Typography data-testid={key}>{value}</Typography>;
return (
<BlockLink to={getTraceLink(value)}>
<Typography data-testid={key}>{value}</Typography>
</BlockLink>
);
},
responsive: ['md'],
})) || [];
Expand Down

0 comments on commit ee1e2b8

Please sign in to comment.