X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3f809e0be2a712d1e576f1b2acf4aff73e0f16b0..8eb3dc9fe8b8ed991b439885f874d5cb5dc1ecd1:/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx diff --git a/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx b/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx index 6f70c2df87..7f3c4b7b4f 100644 --- a/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx +++ b/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx @@ -3,60 +3,51 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; -import { Grid, StyleRulesCallback, Divider, Switch, Typography } from '@material-ui/core'; -import { Field, WrappedFieldProps, formValues, formValueSelector } from 'redux-form'; -import { PermissionSelect, formatPermissionLevel, parsePermissionLevel } from './permission-select'; +import { Grid, StyleRulesCallback, Divider, Typography } from '@material-ui/core'; +import { Field, WrappedFieldProps } from 'redux-form'; import { WithStyles } from '@material-ui/core/styles'; import withStyles from '@material-ui/core/styles/withStyles'; -import { connect } from 'react-redux'; +import { VisibilityLevelSelect } from './visibility-level-select'; +import { VisibilityLevel } from '~/store/sharing-dialog/sharing-dialog-types'; const sharingPublicAccessStyles: StyleRulesCallback<'root'> = theme => ({ root: { - padding: `${theme.spacing.unit}px 0`, + padding: `${theme.spacing.unit * 2}px 0`, } }); const SharingPublicAccessForm = withStyles(sharingPublicAccessStyles)( - ({ classes }: WithStyles<'root'>) => + ({ classes, visibility }: WithStyles<'root'> & { visibility: VisibilityLevel }) => <> - Public access + + {renderVisibilityInfo(visibility)} + - - + ); -export default () => ; - -const PublicAccessSwitch = (props: WrappedFieldProps) => - ; - -const publicAccessSwitchStyles: StyleRulesCallback<'root'> = theme => ({ - root: { - margin: `0 -7px`, +const renderVisibilityInfo = (visibility: VisibilityLevel) => { + switch (visibility) { + case VisibilityLevel.PUBLIC: + return 'Anyone can access'; + case VisibilityLevel.SHARED: + return 'Specific people can access'; + case VisibilityLevel.PRIVATE: + return 'Only you can access'; + default: + return ''; } -}); +}; -const PublicAccessSwitchComponent = withStyles(publicAccessSwitchStyles)( - ({ input, classes }: WrappedFieldProps & WithStyles<'root'>) => - -); +export default ({ visibility }: { visibility: VisibilityLevel }) => + ; -const PermissionSelectComponent = connect( - (state: any, props: WrappedFieldProps) => ({ - disabled: !formValueSelector(props.meta.form)(state, 'enabled'), - }) -)(({ input, disabled }: WrappedFieldProps & { disabled: boolean }) => { - return ; -}); +const VisibilityLevelSelectComponent = ({ input }: WrappedFieldProps) => + ;