import { TimeAgo } from 'components/TimeAgo' import Card from '@material-ui/core/Card' import CardContent from '@material-ui/core/CardContent' import Grid from '@material-ui/core/Grid' import { createStyles, Theme, withStyles, WithStyles, } from '@material-ui/core/styles' import Table from '@material-ui/core/Table' import TableBody from '@material-ui/core/TableBody' import TableCell from '@material-ui/core/TableCell' import TableFooter from '@material-ui/core/TableFooter' import TableRow from '@material-ui/core/TableRow' import Typography from '@material-ui/core/Typography' import { JobRun, JobRuns } from 'operator_ui' import React from 'react' import BaseLink from '../BaseLink' import Button from '../Button' import StatusIcon from 'components/StatusIcon' import Link from '../Link' import NoContentLogo from '../Logos/NoContent' const noActivityStyles = ({ palette, spacing }: Theme) => createStyles({ noActivity: { backgroundColor: palette.primary.light, padding: spacing.unit * 3, }, }) type NoActivityProps = WithStyles const NoActivity = withStyles(noActivityStyles)( ({ classes }: NoActivityProps) => ( No recent activity ), ) const Fetching = () => { return ( Loading ... ) } const styles = ({ palette, spacing }: Theme) => createStyles({ cell: { borderColor: palette.divider, borderTop: `1px solid`, borderBottom: 'none', padding: 0, }, footer: { borderColor: palette.divider, borderTop: `1px solid`, paddingTop: spacing.unit * 2, paddingBottom: spacing.unit * 2, }, content: { position: 'relative', paddingLeft: 50, }, status: { position: 'absolute', top: 0, left: 0, paddingTop: 18, paddingLeft: 30, borderRight: 'solid 1px', borderRightColor: palette.divider, width: 50, height: '100%', }, runDetails: { paddingTop: spacing.unit * 3, paddingBottom: spacing.unit * 3, paddingLeft: spacing.unit * 4, paddingRight: spacing.unit * 4, }, }) interface Props extends WithStyles { pageSize: number runs?: JobRuns count?: number } const Activity = ({ classes, runs, count, pageSize }: Props) => { let activity if (!runs) { activity = } else if (runs.length === 0) { activity = } else { activity = ( {runs.map((r: JobRun) => (
{r.status}
{r.createdAt} Job: {r.jobId} Run: {r.id}
))}
{count && count > pageSize && ( )}
) } return ( Activity {activity} ) } export default withStyles(styles)(Activity)