#13704: add effects for opening the panel
authorArtur Janicki <artur.janicki@contractors.roche.com>
Tue, 3 Jul 2018 12:40:16 +0000 (14:40 +0200)
committerJanicki Artur <artur.janicki@contractors.roche.com>
Wed, 4 Jul 2018 09:42:19 +0000 (11:42 +0200)
Feature #13704

Arvados-DCO-1.1-Signed-off-by: Janicki Artur <artur.janicki@contractors.roche.com>

src/views-components/details-panel/details-panel.tsx

index 4bee8469a4d8eb08cb1eab205d113259b7d67e70..ac4b151faa1712206164a4fd30588c223db5f966 100644 (file)
@@ -39,7 +39,7 @@ class DetailsPanel extends React.Component<DetailsPanelProps & WithStyles<CssRul
                const { classes, toggleDrawer, isOpened } = this.props;
                const { tabsValue } = this.state;
         return (
-            <div className={classes.container}>
+            <div className={classnames([classes.container, { [classes.opened]: isOpened }])}>
                                <Drawer variant="persistent" anchor="right" open={isOpened} onClose={() => toggleDrawer(false)}
                     classes={{
                         paper: classes.drawerPaper
@@ -105,16 +105,22 @@ class DetailsPanel extends React.Component<DetailsPanelProps & WithStyles<CssRul
 
 }
 
-type CssRules = 'drawerPaper' | 'container' | 'headerContainer' 
+type CssRules = 'drawerPaper' | 'container' | 'opened' | 'headerContainer' 
        | 'tabsIndicator' | 'tabRoot' | 'tabContainer' | 'tabSelected' | 'gridLabel';
 
 const drawerWidth = 320;
 const purple = '#692498';
 const styles: StyleRulesCallback<CssRules> = (theme: Theme) => ({
        container: {
+        width: 0,
                position: 'relative',
-               height: 'auto'
-       },
+        height: 'auto',
+        transition: 'width 0.5s ease',
+        '&$opened': {
+            width: drawerWidth
+        }
+    },
+    opened: {},
     drawerPaper: {
         position: 'relative',
         width: drawerWidth