[ARVADOS-WORKBENCH2] updated: 1.2.0-752-gfbbda4c

Git user git at public.curoverse.com
Sun Oct 28 18:42:35 EDT 2018


Summary of changes:
 .../sharing-dialog/sharing-dialog-component.tsx    |  5 +-
 .../sharing-dialog/sharing-dialog-content.tsx      |  4 +-
 .../sharing-dialog/sharing-dialog.tsx              |  1 +
 .../sharing-public-access-form-component.tsx       | 59 ++++++++++++++++++++++
 .../sharing-dialog/sharing-public-access-form.tsx  | 17 +++++++
 5 files changed, 83 insertions(+), 3 deletions(-)
 create mode 100644 src/views-components/sharing-dialog/sharing-public-access-form-component.tsx
 create mode 100644 src/views-components/sharing-dialog/sharing-public-access-form.tsx

       via  fbbda4cdc95898465b9d74c1761ee2817ef01b70 (commit)
       via  82db2694a5a0f54d4d8b07db08aecb0ca7d2f5ed (commit)
      from  8a743ffb468f1bb94cd149c2ed7a40d03c6738ce (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit fbbda4cdc95898465b9d74c1761ee2817ef01b70
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date:   Sun Oct 28 23:42:17 2018 +0100

    Create sharing public access form
    
    Feature #14365
    
    Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>

diff --git a/src/views-components/sharing-dialog/sharing-dialog-content.tsx b/src/views-components/sharing-dialog/sharing-dialog-content.tsx
index b74306b..3be6976 100644
--- a/src/views-components/sharing-dialog/sharing-dialog-content.tsx
+++ b/src/views-components/sharing-dialog/sharing-dialog-content.tsx
@@ -3,16 +3,18 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import * as React from 'react';
+import { Grid } from '@material-ui/core';
 
 import { SharingInvitationForm } from './sharing-invitation-form';
 import { SharingManagementForm } from './sharing-management-form';
-import { Grid } from '@material-ui/core';
+import { SharingPublicAccessForm } from './sharing-public-access-form';
 
 export const SharingDialogContent = (props: { advancedViewOpen: boolean }) =>
     <Grid container direction='column' spacing={24}>
         {props.advancedViewOpen &&
             <>
                 <Grid item>
+                    <SharingPublicAccessForm />
                     <SharingManagementForm />
                 </Grid>
             </>
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
new file mode 100644
index 0000000..bb902d5
--- /dev/null
+++ b/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx
@@ -0,0 +1,59 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import * as React from 'react';
+import { Grid, StyleRulesCallback, Divider, Switch } from '@material-ui/core';
+import { Field, WrappedFieldProps, formValues, formValueSelector } from 'redux-form';
+import { PermissionSelect } from './permission-select';
+import { WithStyles } from '@material-ui/core/styles';
+import withStyles from '@material-ui/core/styles/withStyles';
+import { connect } from 'react-redux';
+
+const sharingPublicAccessStyles: StyleRulesCallback<'root'> = theme => ({
+    root: {
+        padding: `${theme.spacing.unit}px 0`,
+    }
+});
+
+const SharingPublicAccessForm = withStyles(sharingPublicAccessStyles)(
+    ({ classes }: WithStyles<'root'>) =>
+        <>
+            <Divider />
+            <Grid container alignItems='center' spacing={8} className={classes.root}>
+                <Grid item xs={6}>
+                    Public access
+                </Grid>
+                <Grid item xs={2}>
+                    <Field name='enabled' component={PublicAccessSwitch} />
+                </Grid>
+                <Grid item xs={4}>
+                    <Field name='permissions' component={PermissionSelectComponent} />
+                </Grid>
+            </Grid>
+        </>
+);
+
+export default () => <SharingPublicAccessForm />;
+
+const PublicAccessSwitch = (props: WrappedFieldProps) =>
+    <PublicAccessSwitchComponent {...props} />;
+
+const publicAccessSwitchStyles: StyleRulesCallback<'root'> = theme => ({
+    root: {
+        margin: `-${theme.spacing.unit * 2}px auto`,
+    }
+});
+
+const PublicAccessSwitchComponent = withStyles(publicAccessSwitchStyles)(
+    ({ input, classes }: WrappedFieldProps & WithStyles<'root'>) =>
+        <Switch checked={input.value} onChange={input.onChange} color='primary' classes={classes} />
+);
+
+const PermissionSelectComponent = connect(
+    (state: any, props: WrappedFieldProps) => ({
+        disabled: !formValueSelector(props.meta.form)(state, 'enabled'),
+    })
+)(({ input, disabled }: WrappedFieldProps & { disabled: boolean }) => {
+    return <PermissionSelect disabled={disabled} fullWidth disableUnderline {...input} />;
+});
diff --git a/src/views-components/sharing-dialog/sharing-public-access-form.tsx b/src/views-components/sharing-dialog/sharing-public-access-form.tsx
new file mode 100644
index 0000000..42a2dec
--- /dev/null
+++ b/src/views-components/sharing-dialog/sharing-public-access-form.tsx
@@ -0,0 +1,17 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import { reduxForm } from 'redux-form';
+import { connect } from 'react-redux';
+import { compose } from 'redux';
+import SharingPublicAccessFormComponent from './sharing-public-access-form-component';
+export const SharingPublicAccessForm = compose(
+    connect(() => ({
+        initialValues: {
+            enabled: false,
+            permissions: 'Read',
+        }
+    })),
+    reduxForm({ form: 'SHARING_PUBLIC_ACCESS_FORM' })
+)(SharingPublicAccessFormComponent);
\ No newline at end of file

commit 82db2694a5a0f54d4d8b07db08aecb0ca7d2f5ed
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date:   Sun Oct 28 22:35:33 2018 +0100

    Roll back to basic view after closing the sharing dialog
    
    Feature #14365
    
    Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>

diff --git a/src/views-components/sharing-dialog/sharing-dialog-component.tsx b/src/views-components/sharing-dialog/sharing-dialog-component.tsx
index 1392e00..2dcb609 100644
--- a/src/views-components/sharing-dialog/sharing-dialog-component.tsx
+++ b/src/views-components/sharing-dialog/sharing-dialog-component.tsx
@@ -15,13 +15,14 @@ export interface SharingDialogDataProps {
 }
 export interface SharingDialogActionProps {
     onClose: () => void;
+    onExited: () => void;
     onSave: () => void;
     onAdvanced: () => void;
 }
 export default (props: SharingDialogDataProps & SharingDialogActionProps) => {
-    const { children, open, advancedEnabled, saveEnabled, onAdvanced, onClose, onSave } = props;
+    const { children, open, advancedEnabled, saveEnabled, onAdvanced, onClose, onExited, onSave } = props;
     return <Dialog
-        {...{ open, onClose }}
+        {...{ open, onClose, onExited }}
         fullWidth
         maxWidth='sm'>
         <DialogTitle>
diff --git a/src/views-components/sharing-dialog/sharing-dialog.tsx b/src/views-components/sharing-dialog/sharing-dialog.tsx
index 06514d4..63ee19a 100644
--- a/src/views-components/sharing-dialog/sharing-dialog.tsx
+++ b/src/views-components/sharing-dialog/sharing-dialog.tsx
@@ -24,6 +24,7 @@ const mapStateToProps = (_: RootState, { advancedViewOpen, ...props }: WithDialo
 const mapDispatchToProps = (_: Dispatch, { toggleAdvancedView, ...props }: WithDialogProps<string> & AdvancedViewSwitchInjectedProps): SharingDialogActionProps => ({
     ...props,
     onClose: props.closeDialog,
+    onExited: toggleAdvancedView,
     onSave: () => { console.log('save'); },
     onAdvanced: toggleAdvancedView,
 });

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list