import React from "react"; import PATHS from "router/paths"; import { SCRIPT_BATCH_HOST_EXECUTED_STATUSES, SCRIPT_BATCH_HOST_NOT_EXECUTED_STATUSES, ScriptBatchHostStatus, } from "interfaces/script"; import { IScriptBatchHostResult } from "services/entities/scripts"; import { IHeaderProps, IStringCellProps } from "interfaces/datatable_config"; import TextCell from "components/TableContainer/DataTable/TextCell"; import HeaderCell from "components/TableContainer/DataTable/HeaderCell"; import { HumanTimeDiffWithDateTip } from "components/HumanTimeDiffWithDateTip"; import ViewAllHostsLink from "components/ViewAllHostsLink"; import { CellProps, Column } from "react-table"; import TooltipTruncatedText from "components/TooltipTruncatedText"; import LinkCell from "components/TableContainer/DataTable/LinkCell"; type IScriptBatchHostsTableConfig = Column; type ITableHeaderProps = IHeaderProps; type ITableStringCellProps = IStringCellProps; type ITimeCellProps = CellProps; const ScriptOutputCell = (cellProps: CellProps) => { return ( ); }; const generateColumnConfigs = ( hostStatus: ScriptBatchHostStatus ): IScriptBatchHostsTableConfig[] => { let columns: IScriptBatchHostsTableConfig[] = [ { Header: (cellProps: ITableHeaderProps) => ( ), accessor: "display_name", Cell: (cellProps: ITableStringCellProps) => ( { e.stopPropagation(); }} /> {SCRIPT_BATCH_HOST_NOT_EXECUTED_STATUSES.includes(hostStatus) && ( )} ), }, ]; if (SCRIPT_BATCH_HOST_EXECUTED_STATUSES.includes(hostStatus)) { columns = columns.concat([ { Header: (cellProps: ITableHeaderProps) => ( ), accessor: "script_executed_at", Cell: (cellProps: ITimeCellProps) => ( } /> ), }, { Header: "Script output", disableSortBy: true, accessor: "script_output_preview", Cell: (cellProps: any) => , }, ]); } return columns; }; export default generateColumnConfigs;