Roll back to basic view after closing the sharing dialog
[arvados.git] / src / views-components / sharing-dialog / sharing-dialog.tsx
index c43d94e2653813fae63a34c7f5f703a77e4dfca3..63ee19a74bd50d3cedb93056d45cd0ab49db4082 100644 (file)
@@ -11,22 +11,27 @@ import { WithDialogProps } from '~/store/dialog/with-dialog';
 import { RootState } from '~/store/store';
 
 import SharingDialogComponent, { SharingDialogDataProps, SharingDialogActionProps } from './sharing-dialog-component';
-import { SharingSimpleForm } from './sharing-simple-form';
+import { SharingDialogContent } from './sharing-dialog-content';
+import { connectAdvancedViewSwitch, AdvancedViewSwitchInjectedProps } from './advanced-view-switch';
 
-const mapStateToProps = (_: RootState, props: WithDialogProps<string>): SharingDialogDataProps => ({
+const mapStateToProps = (_: RootState, { advancedViewOpen, ...props }: WithDialogProps<string> & AdvancedViewSwitchInjectedProps): SharingDialogDataProps => ({
     ...props,
     saveEnabled: false,
-    children: <SharingSimpleForm />,
+    advancedEnabled: !advancedViewOpen,
+    children: <SharingDialogContent {...{ advancedViewOpen }} />,
 });
 
-const mapDispatchToProps = (_: Dispatch, props: WithDialogProps<string>): SharingDialogActionProps => ({
+const mapDispatchToProps = (_: Dispatch, { toggleAdvancedView, ...props }: WithDialogProps<string> & AdvancedViewSwitchInjectedProps): SharingDialogActionProps => ({
     ...props,
     onClose: props.closeDialog,
+    onExited: toggleAdvancedView,
     onSave: () => { console.log('save'); },
-    onAdvanced: () => { console.log('advanced'); },
+    onAdvanced: toggleAdvancedView,
 });
 
 export const SharingDialog = compose(
+    connectAdvancedViewSwitch,
     connectSharingDialog,
     connect(mapStateToProps, mapDispatchToProps)
 )(SharingDialogComponent);
+