X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/cbebc4630ca0e966b10193d77c41f3ed72567e7e..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 a7e91ee7..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,13 +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 }>) => +const SharingManagementFieldArray = ({ fields, onSave }: { onSave: () => void } & WrappedFieldArrayProps<{ email: string }>) =>
{fields.map((field, index, fields) => - )} + )}
; @@ -33,7 +34,7 @@ const permissionManagementRowStyles: StyleRulesCallback<'root'> = theme => ({ }); 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'>) => <> @@ -45,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(); }}>