diff --git a/frontend/pages/queries/details/components/QueryReport/QueryReport.tsx b/frontend/pages/queries/details/components/QueryReport/QueryReport.tsx index 93a97f9983..827a53dd0d 100644 --- a/frontend/pages/queries/details/components/QueryReport/QueryReport.tsx +++ b/frontend/pages/queries/details/components/QueryReport/QueryReport.tsx @@ -31,6 +31,7 @@ const CSV_TITLE = "Query"; const flattenResults = (results: IQueryReportResultRow[]) => { return results.map((result: IQueryReportResultRow) => { const hostInfoColumns = { + host_id: result.host_id, host_display_name: result.host_name, last_fetched: result.last_fetched, }; @@ -55,7 +56,8 @@ const QueryReport = ({ useEffect(() => { if (queryReport && queryReport.results && queryReport.results.length > 0) { const newColumnConfigs = generateReportColumnConfigsFromResults( - flattenResults(queryReport.results) + flattenResults(queryReport.results), + queryReport.query_id ); // Update tableHeaders if new headers are found diff --git a/frontend/pages/queries/details/components/QueryReport/QueryReportTableConfig.tsx b/frontend/pages/queries/details/components/QueryReport/QueryReportTableConfig.tsx index 7fefa10f85..1a7af70128 100644 --- a/frontend/pages/queries/details/components/QueryReport/QueryReportTableConfig.tsx +++ b/frontend/pages/queries/details/components/QueryReport/QueryReportTableConfig.tsx @@ -15,6 +15,9 @@ import { } from "utilities/helpers"; import { IHeaderProps, IWebSocketData } from "interfaces/datatable_config"; +import PATHS from "router/paths"; +import LinkCell from "components/TableContainer/DataTable/LinkCell"; + type IQueryReportTableColumnConfig = Column; type ITableHeaderProps = IHeaderProps; type ITableCellProps = CellProps; @@ -40,7 +43,8 @@ const _unshiftHostname = (headers: IQueryReportTableColumnConfig[]) => { }; const generateReportColumnConfigsFromResults = ( - results: IWebSocketData[] + results: IWebSocketData[], + queryId: number | null ): IQueryReportTableColumnConfig[] => { const colsAreNumTypes = getUniqueColsAreNumTypeFromRows(results) as Map< string, @@ -64,6 +68,18 @@ const generateReportColumnConfigsFromResults = ( accessor: (data) => data[colName], Cell: (cellProps: ITableCellProps) => { if (typeof cellProps.cell.value !== "string") return null; + if (cellProps.column.id === "Host") { + const hostID = cellProps.row.original.host_id as number; + if (queryId === null) { + return cellProps.cell.value; + } + return ( + + ); + } // Sorts chronologically by date, but UI displays readable last fetched if (cellProps.column.id === "last_fetched") {