21313: added warning and diabled button while saveEnabled Arvados-DCO-1.1-Signed...
authorLisa Knox <lisaknox83@gmail.com>
Thu, 4 Apr 2024 15:07:45 +0000 (11:07 -0400)
committerLisa Knox <lisaknox83@gmail.com>
Thu, 4 Apr 2024 15:07:45 +0000 (11:07 -0400)
services/workbench2/src/views-components/sharing-dialog/sharing-dialog-component.tsx
services/workbench2/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx

index f83cec60f24ec2662a73b10fdb3764e7f332c324..9a150b2e5c0afedf359353300f0a88dc54e1a3b5 100644 (file)
@@ -182,7 +182,9 @@ export default (props: SharingDialogComponentProps) => {
                     <Button onClick={() => {
                         onClose();
                         setWithExpiration(false);
-                    }}>
+                    }}
+                    disabled={saveEnabled}
+                    >
                         Close
                     </Button>
                 </Grid>
index 871ea503ecee45b0281eeb0bdd81d12138130c9d..70ae50564092895142326c13c387eeb7b939a1b5 100644 (file)
@@ -4,7 +4,7 @@
 
 import React from 'react';
 import { Field, WrappedFieldProps, FieldArray, WrappedFieldArrayProps } from 'redux-form';
-import { Grid, FormControl, InputLabel, Tooltip, IconButton, StyleRulesCallback } from '@material-ui/core';
+import { Grid, FormControl, InputLabel, Tooltip, IconButton, StyleRulesCallback, Typography } from '@material-ui/core';
 import { PermissionSelect, parsePermissionLevel, formatPermissionLevel } from './permission-select';
 import { ParticipantSelect, Participant } from './participant-select';
 import { AddIcon } from 'components/icon/icon';
@@ -12,7 +12,7 @@ import { WithStyles } from '@material-ui/core/styles';
 import withStyles from '@material-ui/core/styles/withStyles';
 import { ArvadosTheme } from 'common/custom-theme';
 
-type SharingStyles = 'root' | 'addButtonRoot' | 'addButtonPrimary' | 'addButtonDisabled';
+type SharingStyles = 'root' | 'addButtonRoot' | 'addButtonPrimary' | 'addButtonDisabled' | 'shareWarning' ;
 
 const styles: StyleRulesCallback<SharingStyles> = (theme: ArvadosTheme) => ({
     root: {
@@ -34,7 +34,12 @@ const styles: StyleRulesCallback<SharingStyles> = (theme: ArvadosTheme) => ({
     },
     addButtonDisabled: {
         background: 'none',
-    }
+    },
+    shareWarning: {
+        color: theme.palette.error.main,
+        marginTop: '-1rem',
+        fontSize: '0.75rem',
+    },
 });
 
 const SharingInvitationFormComponent = (props: { onSave: () => void, saveEnabled: boolean }) => <StyledSharingInvitationFormComponent onSave={props.onSave} saveEnabled={props.saveEnabled} />
@@ -46,6 +51,13 @@ const StyledSharingInvitationFormComponent = withStyles(styles)(
         <Grid container spacing={8} wrap='nowrap' className={classes.root} >
             <Grid data-cy="invite-people-field" item xs={8}>
                 <InvitedPeopleField />
+                {saveEnabled && 
+                    <Typography 
+                        variant='caption' 
+                        className={classes.shareWarning}
+                        >
+                        You must click &#x1F7A4; to add a participant.
+                    </Typography>}
             </Grid>
             <Grid data-cy="permission-select-field" item xs={4} container wrap='nowrap'>
                 <PermissionSelectField />