Merge pull request #6 from Nek/feature/action-output-table
Extract CITable rows into components
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user