[ARVADOS-WORKBENCH2] updated: 1.1.4-45-g4f71744

Git user git at public.curoverse.com
Wed Jun 13 02:07:24 EDT 2018


Summary of changes:
 Dockerfile                                         |  10 ++
 Makefile                                           |  87 +++++++++++++++--
 package.json                                       |   2 +
 public/index.html                                  |   3 +
 run-tests-build.sh                                 |  69 --------------
 src/common/api/filter-builder.ts                   |  35 +++++++
 src/common/{ => api}/server-api.ts                 |   0
 src/common/api/url-builder.ts                      |  26 +++++
 src/components/api-token/api-token.tsx             |   2 +-
 src/components/main-app-bar/main-app-bar.tsx       |   2 +-
 src/components/project-list/project-list.tsx       |   3 +-
 src/components/project-tree/project-tree.test.tsx  | 106 +++++++++++++++++++++
 src/components/project-tree/project-tree.tsx       |  68 +++++++++++++
 .../actions.ts => components/tree/tree.test.tsx}   |   4 +
 src/components/tree/tree.tsx                       |  68 +++++++++++--
 src/index.tsx                                      |   3 +-
 src/models/project.ts                              |   2 +-
 src/services/auth-service/auth-service.ts          |   2 +-
 src/services/project-service/project-service.ts    |  21 ++--
 src/store/auth/auth-reducer.test.ts                |   2 +-
 src/store/auth/auth-reducer.ts                     |   2 +-
 src/store/project/project-action.ts                |   5 +-
 src/store/project/project-reducer.test.ts          |  19 +++-
 src/store/project/project-reducer.ts               |  62 +++++++++++-
 src/views/workbench/workbench.test.tsx             |  11 ++-
 src/views/workbench/workbench.tsx                  |  36 ++++---
 tsconfig.json                                      |   3 +-
 tsconfig.test.json                                 |   2 +-
 tslint.json                                        |   3 +-
 yarn.lock                                          |   6 +-
 30 files changed, 536 insertions(+), 128 deletions(-)
 create mode 100644 Dockerfile
 delete mode 100755 run-tests-build.sh
 create mode 100644 src/common/api/filter-builder.ts
 rename src/common/{ => api}/server-api.ts (100%)
 create mode 100644 src/common/api/url-builder.ts
 create mode 100644 src/components/project-tree/project-tree.test.tsx
 create mode 100644 src/components/project-tree/project-tree.tsx
 copy src/{common/actions.ts => components/tree/tree.test.tsx} (59%)

       via  4f71744add73edb7248314139236af0d81bac42b (commit)
       via  28bb06ae7b9983da793f2459c5cc3e8debd71949 (commit)
       via  3ad7e33a2d50e9ed2298624ea5cac7cb5cd21a6f (commit)
       via  566c26c4c699d6c548040970ef48c653e1458268 (commit)
       via  25dbcc4a5b95924e8a9d1d385ac0fe87f6c658bd (commit)
       via  b57a24f2a59938be52c78d453dea00d5cd54720d (commit)
       via  ced45767b046dd910422934a3d1afa9f4aabc2ec (commit)
       via  eeb82d50816250cc6287928e6d958affa73880ee (commit)
       via  b863f7aaab7112a32c7f9b1e7a0299c4266df2f5 (commit)
       via  969a16ec1b77f585675ae9cb9660e72682c99348 (commit)
       via  81fd54f647fdbea139ffd8f74c33fc8d888683f1 (commit)
       via  e9477357d7836cc0f91b0afede0583f1070c00fa (commit)
       via  7def2ec835ed1aaf0cb02fa19a787db14b0d2354 (commit)
       via  a0993aee4d868f8e22f0219ecd360650caa4215e (commit)
       via  00faaa2f82feb3f98b4473739be549125b718063 (commit)
       via  22cfdad7a451f67b0b4c195b58815cdf2abcfda9 (commit)
       via  b79b838997ca3ede1b7701734fd489ccdb2c5f3d (commit)
       via  9217ddf079cb81d105c9c5927ad0c7c5ac1040ee (commit)
       via  6ebb6d07335dab21e5ad24c1e354d6b1a68b1929 (commit)
       via  b29bd8eeb72369e20317329f63406a2faf3a165d (commit)
       via  7ee704ab48987ee6223528c5b7526ef246709a4c (commit)
       via  6f513b1b01da5299775cd64e5963a2693e0c71d7 (commit)
       via  ce55180216574bddb30dd052215a7320632a9fb1 (commit)
       via  73da4aae95f9186c71533e3c26cecce23f52fc02 (commit)
       via  1e99be6bc2fba403c15bdbcea5b3b4165225ca3e (commit)
       via  abf519da836b635eac4cf1f728615472169ba032 (commit)
       via  4cdf454b772363d262eb7a391c3f37c55800d853 (commit)
       via  c92ee19217ebd5cce3c17f757b45bcfa1d5bc702 (commit)
       via  cf035c0589f045849ba635a82b6857fdd6f618ed (commit)
      from  762c232937e6825839ada7d682542601aaffbd90 (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 4f71744add73edb7248314139236af0d81bac42b
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date:   Wed Jun 13 08:07:07 2018 +0200

    Add missing key attribute in main app bar render method
    
    Feature #13590
    
    Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>

diff --git a/src/components/main-app-bar/main-app-bar.tsx b/src/components/main-app-bar/main-app-bar.tsx
index e7b0e20..7e0182e 100644
--- a/src/components/main-app-bar/main-app-bar.tsx
+++ b/src/components/main-app-bar/main-app-bar.tsx
@@ -99,7 +99,7 @@ export class MainAppBar extends React.Component<MainAppBarProps> {
 
     renderMenuForAnonymous = () => {
         return this.props.menuItems.anonymousMenu.map((item, index) => (
-            <Button color="inherit" onClick={() => this.props.onMenuItemClick(item)}>{item.label}</Button>
+            <Button key={index} color="inherit" onClick={() => this.props.onMenuItemClick(item)}>{item.label}</Button>
         ))
     }
 

commit 28bb06ae7b9983da793f2459c5cc3e8debd71949
Merge: 762c232 3ad7e33
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date:   Wed Jun 13 08:02:51 2018 +0200

    Merge master branch
    
    Feature #13590
    
    Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>

diff --cc src/views/workbench/workbench.tsx
index f002ad9,d18d113..3d0a7ad
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@@ -24,9 -22,12 +22,14 @@@ import { AccountCircle } from "@materia
  import { User } from "../../models/user";
  import Grid from "@material-ui/core/Grid/Grid";
  import { RootState } from "../../store/store";
 +import MainAppBar, { MainAppBarActionProps, MainAppBarMenuItems, MainAppBarMenuItem } from '../../components/main-app-bar/main-app-bar';
 +import { Breadcrumb } from '../../components/breadcrumbs/breadcrumbs';
 +import { push } from 'react-router-redux';
+ import projectActions from "../../store/project/project-action"
 -
+ import ProjectTree from '../../components/project-tree/project-tree';
+ import { TreeItem } from "../../components/tree/tree";
+ import { Project } from "../../models/project";
+ import { projectService } from '../../services/services';
  
  const drawerWidth = 240;
  
@@@ -130,46 -83,95 +133,51 @@@ class Workbench extends React.Component
          }
      }
  
 -    login = () => {
 -        this.props.dispatch(authActions.LOGIN());
 -    };
 -
 -    logout = () => {
 -        this.handleClose();
 -        this.props.dispatch(authActions.LOGOUT());
 -    };
 -
 -    handleOpenMenu = (event: React.MouseEvent<any>) => {
 -        this.setState({
 -            anchorEl: event.currentTarget
 -        });
 -    };
  
 -    handleClose = () => {
 -        this.setState({
 -            anchorEl: null
 -        });
 -    };
 +    mainAppBarActions: MainAppBarActionProps = {
 +        onBreadcrumbClick: (breadcrumb: NavBreadcrumb) => this.props.dispatch(push(breadcrumb.path)),
 +        onSearch: searchText => {
 +            this.setState({ searchText });
 +            this.props.dispatch(push(`/search?q=${searchText}`));
 +        },
 +        onMenuItemClick: (menuItem: NavMenuItem) => menuItem.action()
 +    }
  
+     toggleProjectTreeItem = (itemId: string) => {
+         this.props.dispatch<any>(projectService.getProjectList(itemId)).then(() => {
+             this.props.dispatch(projectActions.TOGGLE_PROJECT_TREE_ITEM(itemId));
+         });
+     };
+ 
      render() {
 -        const {classes, user} = this.props;
 +        const { classes, user } = this.props;
          return (
              <div className={classes.root}>
 -                <AppBar position="absolute" className={classes.appBar}>
 -                    <Toolbar>
 -                        <Typography variant="title" color="inherit" noWrap style={{flexGrow: 1}}>
 -                            <span>Arvados</span><br/><span style={{fontSize: 12}}>Workbench 2</span>
 -                        </Typography>
 -                        {user ?
 -                            <Grid container style={{width: 'auto'}}>
 -                                <Grid container style={{width: 'auto'}} alignItems='center'>
 -                                    <Typography variant="title" color="inherit" noWrap>
 -                                        {user.firstName} {user.lastName}
 -                                    </Typography>
 -                                </Grid>
 -                                <Grid item>
 -                                    <IconButton
 -                                          aria-owns={this.state.anchorEl ? 'menu-appbar' : undefined}
 -                                          aria-haspopup="true"
 -                                          onClick={this.handleOpenMenu}
 -                                          color="inherit">
 -                                      <AccountCircle/>
 -                                    </IconButton>
 -                                </Grid>
 -                                <Menu
 -                                  id="menu-appbar"
 -                                  anchorEl={this.state.anchorEl}
 -                                  anchorOrigin={{
 -                                    vertical: 'top',
 -                                    horizontal: 'right',
 -                                  }}
 -                                  transformOrigin={{
 -                                    vertical: 'top',
 -                                    horizontal: 'right',
 -                                  }}
 -                                  open={!!this.state.anchorEl}
 -                                  onClose={this.handleClose}>
 -                                  <MenuItem onClick={this.logout}>Logout</MenuItem>
 -                                  <MenuItem onClick={this.handleClose}>My account</MenuItem>
 -                                </Menu>
 -                            </Grid>
 -                            :
 -                            <Button color="inherit" onClick={this.login}>Login</Button>
 -                        }
 -                    </Toolbar>
 -                </AppBar>
 +                <div className={classes.appBar}>
 +                    <MainAppBar
 +                        breadcrumbs={this.state.breadcrumbs}
 +                        searchText={this.state.searchText}
 +                        user={this.props.user}
 +                        menuItems={this.state.menuItems}
 +                        {...this.mainAppBarActions}
 +                    />
 +                </div>
                  {user &&
-                     <Drawer
-                         variant="permanent"
-                         classes={{
-                             paper: classes.drawerPaper,
-                         }}>
-                         <div className={classes.toolbar} />
-                         <div className={classes.toolbar} />
-                         <Tree items={this.props.projects} render={(p: Project) =>
-                             <Link to={`/project/${p.name}`}>{p.name}</Link>
-                         } />
-                     </Drawer>}
+                 <Drawer
+                     variant="permanent"
+                     classes={{
+                         paper: classes.drawerPaper,
+                     }}>
+                     <div className={classes.toolbar}/>
+                     <ProjectTree
+                         projects={this.props.projects}
+                         toggleProjectTreeItem={this.toggleProjectTreeItem}/>
+                 </Drawer>}
                  <main className={classes.content}>
 -                    <div className={classes.toolbar}/>
 +                    <div className={classes.toolbar} />
 +                    <div className={classes.toolbar} />
                      <Switch>
 -                        <Route path="/project/:name" component={ProjectList}/>
 +                        <Route path="/project/:name" component={ProjectList} />
                      </Switch>
                  </main>
              </div>

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list