{tabNr === SharingDialogTab.PERMISSIONS &&
<Grid container direction='column' spacing={24}>
<Grid item>
- <SharingPublicAccessForm />
+ <SharingPublicAccessForm onSave={onSave} />
</Grid>
<Grid item>
<SharingManagementForm onSave={onSave} />
}
});
+interface AccessProps {
+ visibility: VisibilityLevel;
+ onSave: () => void;
+}
+
const SharingPublicAccessForm = withStyles(sharingPublicAccessStyles)(
- ({ classes, visibility }: WithStyles<'root'> & { visibility: VisibilityLevel }) =>
+ ({ classes, visibility, onSave }: WithStyles<'root'> & AccessProps) =>
<>
<Divider />
<Grid container alignItems='center' spacing={8} className={classes.root}>
</Typography>
</Grid>
<Grid item xs={4} container wrap='nowrap'>
- <Field name='visibility' component={VisibilityLevelSelectComponent} />
+ <Field name='visibility' component={VisibilityLevelSelectComponent} onChange={onSave} />
</Grid>
</Grid>
</>
}
};
-export default ({ visibility }: { visibility: VisibilityLevel }) =>
- <SharingPublicAccessForm {...{ visibility }} />;
+const SharingPublicAccessFormComponent = ({ visibility, onSave }: AccessProps) =>
+ <SharingPublicAccessForm {...{ visibility, onSave }} />;
+
+export default SharingPublicAccessFormComponent;
const VisibilityLevelSelectComponent = ({ input }: WrappedFieldProps) =>
<VisibilityLevelSelect fullWidth disableUnderline {...input} />;
-
import { RootState } from 'store/store';
import { getSharingPublicAccessFormData } from '../../store/sharing-dialog/sharing-dialog-types';
+interface SaveProps {
+ onSave: () => void;
+}
+
export const SharingPublicAccessForm = compose(
- reduxForm(
+ reduxForm<{}, SaveProps>(
{ form: SHARING_PUBLIC_ACCESS_FORM_NAME }
),
connect(
}
)
)(SharingPublicAccessFormComponent);
-