Merge pull request #6 from Nek/feature/action-output-table

Extract CITable rows into components
This commit is contained in:
Ivan Shmidt
2020-05-06 15:27:08 +02:00
committed by GitHub
@@ -71,6 +71,48 @@ const getStatusComponent = (status: string) => {
}
};
export const CITableBuildRow: FC<{ build: CITableBuildInfo }> = ({ build }) => (
<TableRow key={build.id}>
<TableCell>{build.id}</TableCell>
<TableCell>
<Link to={`/circleci/build/${build.id}`}>{build.buildName}</Link>
</TableCell>
<TableCell>
{build.source.branchName}
<br />
{build.source.commit.hash}
</TableCell>
<TableCell align="center">{getStatusComponent(build.status)}</TableCell>
{build.tests && (
<TableCell>
{
<>
{build.tests.passed}/{build.tests.total} (
{build.tests.failed ? build.tests.failed + ', ' : ''}
{build.tests.skipped ? build.tests.skipped : ''})
</>
}
</TableCell>
)}
<TableCell align="center">
<Button onClick={build.onRetryClick}>
<RetryIcon />
</Button>
</TableCell>
</TableRow>
);
export const CITableBuildHeadRow:FC<{isTestDataAvailable: boolean}> = ({isTestDataAvailable}) => (
<TableRow>
<TableCell>ID</TableCell>
<TableCell>Build</TableCell>
<TableCell>Source</TableCell>
<TableCell align="center">Status</TableCell>
{isTestDataAvailable && <TableCell>Tests</TableCell>}
<TableCell align="center">Actions</TableCell>
</TableRow>
);
export const CITable: FC<{
builds: CITableBuildInfo[];
}> = ({ builds }) => {
@@ -79,50 +121,10 @@ export const CITable: FC<{
return (
<TableContainer>
<Table className={classes.table} size="small" aria-label="a dense table">
<TableHead>
<TableRow>
<TableCell>ID</TableCell>
<TableCell>Build</TableCell>
<TableCell>Source</TableCell>
<TableCell align="center">Status</TableCell>
{isTestDataAvailable && <TableCell>Tests</TableCell>}
<TableCell align="center">Actions</TableCell>
</TableRow>
</TableHead>
<TableHead><CITableBuildHeadRow isTestDataAvailable={isTestDataAvailable}/></TableHead>
<TableBody>
{builds.map(build => (
<TableRow key={build.id}>
<TableCell>{build.id}</TableCell>
<TableCell>
<Link to={`/circleci/build/${build.id}`}>
{build.buildName}
</Link>
</TableCell>
<TableCell>
{build.source.branchName}
<br />
{build.source.commit.hash}
</TableCell>
<TableCell align="center">
{getStatusComponent(build.status)}
</TableCell>
{build.tests && (
<TableCell>
{
<>
{build.tests.passed}/{build.tests.total} (
{build.tests.failed ? build.tests.failed + ', ' : ''}
{build.tests.skipped ? build.tests.skipped : ''})
</>
}
</TableCell>
)}
<TableCell align="center">
<Button onClick={build.onRetryClick}>
<RetryIcon />
</Button>
</TableCell>
</TableRow>
<CITableBuildRow build={build} />
))}
</TableBody>
</Table>