Improve layouts of sharing dialog
authorMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Sun, 28 Oct 2018 23:03:24 +0000 (00:03 +0100)
committerMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Sun, 28 Oct 2018 23:03:24 +0000 (00:03 +0100)
Feature #14365

Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski@contractors.roche.com>

src/views-components/sharing-dialog/sharing-management-form-component.tsx
src/views-components/sharing-dialog/sharing-public-access-form-component.tsx

index 688f416f036d23bbd715c29cdc40ab4d9a166434..51e69f88581b73eaec3bb3293bf15ba86417869d 100644 (file)
@@ -3,11 +3,12 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import * as React from 'react';
-import { Grid, StyleRulesCallback, Divider } from '@material-ui/core';
+import { Grid, StyleRulesCallback, Divider, IconButton, Typography } from '@material-ui/core';
 import { Field, WrappedFieldProps, WrappedFieldArrayProps, FieldArray, FieldsProps } from 'redux-form';
 import { PermissionSelect } from './permission-select';
 import { WithStyles } from '@material-ui/core/styles';
 import withStyles from '@material-ui/core/styles/withStyles';
+import { CloseIcon } from '~/components/icon/icon';
 
 
 export default () =>
@@ -31,12 +32,15 @@ const PermissionManagementRow = withStyles(permissionManagementRowStyles)(
     ({ field, index, fields, classes }: { field: string, index: number, fields: FieldsProps<{ email: string }> } & WithStyles<'root'>) =>
         <>
             <Divider />
-            <Grid container alignItems='center' spacing={8} className={classes.root}>
+            <Grid container alignItems='center' spacing={8} wrap='nowrap' className={classes.root}>
                 <Grid item xs={8}>
-                    {fields.get(index).email}
+                    <Typography noWrap variant='subheading'>{fields.get(index).email}</Typography>
                 </Grid>
-                <Grid item xs={4}>
+                <Grid item xs={4} container wrap='nowrap'>
                     <Field name={`${field}.permissions`} component={PermissionSelectComponent} />
+                    <IconButton onClick={() => fields.remove(index)}>
+                        <CloseIcon />
+                    </IconButton>
                 </Grid>
             </Grid>
         </>
index bb902d50ff5d93fdab03568757b791859b58e364..b931cac8fa1ac6cfce3da2cb55210175e65a09dc 100644 (file)
@@ -3,7 +3,7 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import * as React from 'react';
-import { Grid, StyleRulesCallback, Divider, Switch } from '@material-ui/core';
+import { Grid, StyleRulesCallback, Divider, Switch, Typography } from '@material-ui/core';
 import { Field, WrappedFieldProps, formValues, formValueSelector } from 'redux-form';
 import { PermissionSelect } from './permission-select';
 import { WithStyles } from '@material-ui/core/styles';
@@ -21,14 +21,12 @@ const SharingPublicAccessForm = withStyles(sharingPublicAccessStyles)(
         <>
             <Divider />
             <Grid container alignItems='center' spacing={8} className={classes.root}>
-                <Grid item xs={6}>
-                    Public access
+                <Grid item xs={8}>
+                    <Typography variant='subheading'>Public access</Typography>
                 </Grid>
-                <Grid item xs={2}>
-                    <Field name='enabled' component={PublicAccessSwitch} />
-                </Grid>
-                <Grid item xs={4}>
+                <Grid item xs={4} container wrap='nowrap'>
                     <Field name='permissions' component={PermissionSelectComponent} />
+                    <Field name='enabled' component={PublicAccessSwitch} />
                 </Grid>
             </Grid>
         </>
@@ -41,7 +39,7 @@ const PublicAccessSwitch = (props: WrappedFieldProps) =>
 
 const publicAccessSwitchStyles: StyleRulesCallback<'root'> = theme => ({
     root: {
-        margin: `-${theme.spacing.unit * 2}px auto`,
+        margin: `0 -7px`,
     }
 });