add back link and fix styles
authorJanicki Artur <artur.janicki@contractors.roche.com>
Mon, 3 Sep 2018 08:13:33 +0000 (10:13 +0200)
committerJanicki Artur <artur.janicki@contractors.roche.com>
Mon, 3 Sep 2018 08:13:33 +0000 (10:13 +0200)
Feature #14098

Arvados-DCO-1.1-Signed-off-by: Janicki Artur <artur.janicki@contractors.roche.com>

src/components/icon/icon.tsx
src/index.css
src/views/process-log-panel/process-log-main-card.tsx

index 0f0442a53ebd1b7be4b485694b45e86e3a99be7a..8bd9e22772c42ea593767f8614882ccac96fe9da 100644 (file)
@@ -4,6 +4,7 @@
 
 import * as React from 'react';
 import AccessTime from '@material-ui/icons/AccessTime';
+import ArrowBack from '@material-ui/icons/ArrowBack';
 import ArrowDropDown from '@material-ui/icons/ArrowDropDown';
 import BubbleChart from '@material-ui/icons/BubbleChart';
 import Cached from '@material-ui/icons/Cached';
@@ -41,6 +42,7 @@ export type IconType = React.SFC<{ className?: string }>;
 
 export const AddFavoriteIcon: IconType = (props) => <StarBorder {...props} />;
 export const AdvancedIcon: IconType = (props) => <SettingsApplications {...props} />;
+export const BackIcon: IconType = (props) => <ArrowBack {...props} />;
 export const CustomizeTableIcon: IconType = (props) => <Menu {...props} />;
 export const CopyIcon: IconType = (props) => <ContentCopy {...props} />;
 export const CollectionIcon: IconType = (props) => <LibraryBooks {...props} />;
index abbd2b21270f17a5b5948580a96ae78e5b6ecb4a..0172d68bcc5c9385ebdbf29d7a06a7022ef08c96 100644 (file)
@@ -1,7 +1,7 @@
 body {
     margin: 0;
     padding: 0;
-    font-family: sans-serif;
+    font-family: 'Roboto', "Helvetica", "Arial", sans-serif;
     width: 100vw;
     height: 100vh;
 }
index 1fa36d96f0fd445c7afbde7829601082e29e311b..09aaf08aca59fb11136805e4ea4ebc59b98ce18b 100644 (file)
@@ -3,6 +3,7 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import * as React from 'react';
+import { Link } from 'react-router-dom';
 import {
     StyleRulesCallback, WithStyles, withStyles, Card,
     CardHeader, IconButton, CardContent, Grid, Typography, Tooltip
@@ -13,13 +14,29 @@ import { ProcessLogForm, ProcessLogFormDataProps, ProcessLogFormActionProps } fr
 import { MoreOptionsIcon, ProcessIcon } from '~/components/icon/icon';
 import { ArvadosTheme } from '~/common/custom-theme';
 import { CodeSnippetDataProps } from '~/components/code-snippet/code-snippet';
+import { BackIcon } from '~/components/icon/icon';
 
-type CssRules = 'card' | 'iconHeader' | 'link';
+type CssRules = 'backLink' | 'backIcon' | 'card' | 'title' | 'iconHeader' | 'link';
 
 const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
+    backLink: {
+        fontSize: '1rem',
+        fontWeight: 600,
+        display: 'flex',
+        alignItems: 'center',
+        textDecoration: 'none',
+        padding: theme.spacing.unit,
+        color: theme.palette.grey["700"],
+    },
+    backIcon: {
+        marginRight: theme.spacing.unit
+    },
     card: {
         width: '100%'
     },
+    title: {
+        color: theme.palette.grey["700"]
+    },
     iconHeader: {
         fontSize: '1.875rem',
         color: theme.customs.colors.green700
@@ -39,38 +56,43 @@ export type ProcessLogMainCardProps = ProcessLogMainCardDataProps & CodeSnippetD
 
 export const ProcessLogMainCard = withStyles(styles)(
     ({ classes, process, selectedFilter, filters, onChange, lines }: ProcessLogMainCardProps & WithStyles<CssRules>) => 
-        <Card className={classes.card}>
-            <CardHeader
-                avatar={<ProcessIcon className={classes.iconHeader} />}
-                action={
-                    <div>
-                        <IconButton aria-label="More options">
-                            <MoreOptionsIcon />
-                        </IconButton>
-                    </div>
-                }
-                title={
-                    <Tooltip title={process.containerRequest.name}>
-                        <Typography noWrap variant="title">
-                            {process.containerRequest.name}
-                        </Typography>
-                    </Tooltip>
-                }
-                subheader={process.containerRequest.description} />
-            <CardContent>
-                <Grid container spacing={24} alignItems='center'>
-                    <Grid item xs={6}>
-                        <ProcessLogForm selectedFilter={selectedFilter} filters={filters} onChange={onChange} />
-                    </Grid>
-                    <Grid item xs={6} className={classes.link}>
-                        <Typography component='div'>
-                            Container log for request {process.containerRequest.uuid}
-                        </Typography>
-                    </Grid>
-                    <Grid item xs={12}>
-                        <ProcessLogCodeSnippet lines={lines}/>
+        <Grid item xs={12}>
+            <Link to={`/processes/${process.containerRequest.uuid}`} className={classes.backLink}>
+                <BackIcon className={classes.backIcon}/> Back
+            </Link>
+            <Card className={classes.card}>
+                <CardHeader
+                    avatar={<ProcessIcon className={classes.iconHeader} />}
+                    action={
+                        <div>
+                            <IconButton aria-label="More options">
+                                <MoreOptionsIcon />
+                            </IconButton>
+                        </div>
+                    }
+                    title={
+                        <Tooltip title={process.containerRequest.name}>
+                            <Typography noWrap variant="title" className={classes.title}>
+                                {process.containerRequest.name}
+                            </Typography>
+                        </Tooltip>
+                    }
+                    subheader={process.containerRequest.description} />
+                <CardContent>
+                    <Grid container spacing={24} alignItems='center'>
+                        <Grid item xs={6}>
+                            <ProcessLogForm selectedFilter={selectedFilter} filters={filters} onChange={onChange} />
+                        </Grid>
+                        <Grid item xs={6} className={classes.link}>
+                            <Typography component='div'>
+                                Container log for request {process.containerRequest.uuid}
+                            </Typography>
+                        </Grid>
+                        <Grid item xs={12}>
+                            <ProcessLogCodeSnippet lines={lines}/>
+                        </Grid>
                     </Grid>
-                </Grid>
-            </CardContent>
-        </Card>
+                </CardContent>
+            </Card>
+        </Grid>
 );
\ No newline at end of file