X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/618af1a3106c399765788be4583463ab35d97cd5..a39cc426fdcde42210966da888eb11634e3a321a:/src/views-components/sharing-dialog/sharing-management-form-component.tsx diff --git a/src/views-components/sharing-dialog/sharing-management-form-component.tsx b/src/views-components/sharing-dialog/sharing-management-form-component.tsx index 9c3b6403..43f95bb9 100644 --- a/src/views-components/sharing-dialog/sharing-management-form-component.tsx +++ b/src/views-components/sharing-dialog/sharing-management-form-component.tsx @@ -16,16 +16,14 @@ import { WithStyles } from '@material-ui/core/styles'; import withStyles from '@material-ui/core/styles/withStyles'; import { CloseIcon } from 'components/icon/icon'; +const SharingManagementFormComponent = (props: { onSave: () => void; }) => + void }> name='permissions' component={SharingManagementFieldArray as any} props={props} />; -export default () => - ; +export default SharingManagementFormComponent; -const SharingManagementFieldArray = ({ fields }: WrappedFieldArrayProps<{ email: string }>) => -
- { - fields.map((field, index, fields) => - ) - } +const SharingManagementFieldArray = ({ fields, onSave }: { onSave: () => void } & WrappedFieldArrayProps<{ email: string }>) => +
{fields.map((field, index, fields) => + )}
; @@ -34,8 +32,9 @@ const permissionManagementRowStyles: StyleRulesCallback<'root'> = theme => ({ padding: `${theme.spacing.unit}px 0`, } }); + const PermissionManagementRow = withStyles(permissionManagementRowStyles)( - ({ field, index, fields, classes }: { field: string, index: number, fields: FieldArrayFieldsProps<{ email: string }> } & WithStyles<'root'>) => + ({ field, index, fields, classes, onSave }: { field: string, index: number, fields: FieldArrayFieldsProps<{ email: string }>, onSave: () => void; } & WithStyles<'root'>) => <> @@ -47,8 +46,10 @@ const PermissionManagementRow = withStyles(permissionManagementRowStyles)( name={`${field}.permissions` as string} component={PermissionSelectComponent} format={formatPermissionLevel} - parse={parsePermissionLevel} /> - fields.remove(index)}> + parse={parsePermissionLevel} + onChange={onSave} + /> + { fields.remove(index); onSave(); }}>