[ARVADOS-WORKBENCH2] updated: 1.2.0-406-ga2bf1ed

Git user git at public.curoverse.com
Tue Sep 18 07:32:30 EDT 2018


Summary of changes:
 package.json                                       |  1 +
 src/common/custom-theme.ts                         | 20 ++---
 .../data-table-filters/data-table-filters.tsx      | 25 +++---
 src/components/icon/icon.tsx                       |  6 +-
 src/components/search-bar/search-bar.tsx           | 14 ++--
 src/components/search-input/search-input.tsx       |  8 +-
 src/routes/route-change-handlers.ts                |  9 ++-
 src/routes/routes.ts                               |  6 +-
 .../ancestors-service/ancestors-service.ts         | 22 +++---
 src/services/groups-service/groups-service.ts      | 17 +++-
 src/store/breadcrumbs/breadcrumbs-actions.ts       | 34 +++++++-
 src/store/navigation/navigation-action.ts          |  6 +-
 .../project-panel-middleware-service.ts            |  8 +-
 .../shared-with-me-middleware-service.ts           | 82 +++++++++++++++++++
 .../shared-with-me-panel-actions.ts                | 18 +++++
 .../side-panel-tree/side-panel-tree-actions.ts     |  4 +-
 src/store/side-panel/side-panel-action.ts          |  4 +-
 src/store/store.ts                                 |  8 +-
 src/store/workbench/workbench-actions.ts           | 22 ++++--
 .../details-panel/details-data.tsx                 |  2 +-
 .../side-panel-button/side-panel-button.tsx        |  4 +-
 src/views/project-panel/project-panel.tsx          |  9 +--
 .../shared-with-me-panel/shared-with-me-panel.tsx  | 77 ++++++++++++++++++
 src/views/workbench/workbench.tsx                  | 58 +++++++++-----
 typings/global.d.ts                                |  2 +
 yarn.lock                                          | 92 ++++------------------
 26 files changed, 389 insertions(+), 169 deletions(-)
 create mode 100644 src/store/shared-with-me-panel/shared-with-me-middleware-service.ts
 create mode 100644 src/store/shared-with-me-panel/shared-with-me-panel-actions.ts
 create mode 100644 src/views/shared-with-me-panel/shared-with-me-panel.tsx

       via  a2bf1ed3a15cf55e426c51ad8e6febd7ff2e3020 (commit)
       via  48415d7eb1c2c1d8454c25f3d0795995fdc3857e (commit)
       via  5d7f5774cccbe8f978f2d41afedacb149489405a (commit)
       via  85719156f00d2508bc02dfcc8f44accb7a707e1e (commit)
       via  23d078f1e47a034f23a344f44c2e2f31ef5901a8 (commit)
       via  8d16d4c8b7705e68e6dc9acb4210e9df53a3fa88 (commit)
       via  62210d9f0b937947e52e7a9a0f5cb8f9201258a7 (commit)
       via  75e65fcb253a488da1b3032a54c229cdafdbc9a2 (commit)
       via  877ce2a1b858c685eec0e8f47652ebb8a271195e (commit)
       via  f4ad575d90e25defd2a98a3e52566f00a0322cc8 (commit)
       via  5f2fb95b13a393614a570b541eec754a9ae3d7a6 (commit)
       via  fa7af09515176daff7109c7f135eb5d742ed42d8 (commit)
       via  a189d04efc7e3d8f7a66f7302ac1fda346c40a4e (commit)
       via  a6540e058f12352e3cde3486f6a613b6a7420172 (commit)
       via  9dd75d38ab049da5c98f81fa69b5247356bba438 (commit)
       via  328078ca88804f25882ac091c92b753ed724b9ec (commit)
       via  5fdf4adc6981e60169966e549e37c5611d7d420b (commit)
       via  0a97d1cc5eedb11445af4b675c57b8cbdb4f1af3 (commit)
       via  b1f6165cbc3db9a248fa06542dffa93814c9dbe2 (commit)
       via  ca8b222695a58831ea5b2aeb62195f74a0808d6b (commit)
       via  085692af7ee9809e2714edacad1251e78a196bd3 (commit)
       via  ca1736b82188c7c341f61a779552708263ca5def (commit)
       via  fbe71606b4a8bcdb9561c64ee71e0cbd0a38dc08 (commit)
       via  5f27c58e1c34d147786de6104ead8a57c48f7d2e (commit)
      from  41df718825e8a136eb2378a07aa60d572bdb00b4 (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 a2bf1ed3a15cf55e426c51ad8e6febd7ff2e3020
Merge: 41df718 48415d7
Author: Daniel Kos <daniel.kos at contractors.roche.com>
Date:   Tue Sep 18 13:32:23 2018 +0200

    refs #master Merge branch 'origin/master' into 14186-progress-indicator-store
    
    # Conflicts:
    #       src/services/groups-service/groups-service.ts
    #       src/store/store.ts
    #       src/views/project-panel/project-panel.tsx
    #       src/views/workbench/workbench.tsx
    
    Arvados-DCO-1.1-Signed-off-by: Daniel Kos <daniel.kos at contractors.roche.com>

diff --cc src/common/custom-theme.ts
index be8e77f,3d56f78..ff0eb5e
--- a/src/common/custom-theme.ts
+++ b/src/common/custom-theme.ts
@@@ -26,12 -27,12 +27,10 @@@ interface Colors 
      yellow700: string;
      red900: string;
      blue500: string;
 -    grey500: string;
 -    grey700: string;
  }
  
- const red900 = red["900"];
+ const arvadosPurple = '#361336';
  const purple800 = purple["800"];
- const grey200 = grey["200"];
- const grey300 = grey["300"];
  const grey500 = grey["500"];
  const grey600 = grey["600"];
  const grey700 = grey["700"];
diff --cc src/services/groups-service/groups-service.ts
index c2b559b,299e680..e705b6e
--- a/src/services/groups-service/groups-service.ts
+++ b/src/services/groups-service/groups-service.ts
@@@ -10,7 -10,7 +10,8 @@@ import { ProjectResource } from "~/mode
  import { ProcessResource } from "~/models/process";
  import { TrashableResource } from "~/models/resource";
  import { TrashableResourceService } from "~/services/common-service/trashable-resource-service";
 -import { GroupResource } from '~/models/group';
 +import { ApiActions } from "~/services/api/api-actions";
++import { GroupResource } from "~/models/group";
  
  export interface ContentsArguments {
      limit?: number;
@@@ -26,10 -30,10 +31,10 @@@ export type GroupContentsResource 
      ProjectResource |
      ProcessResource;
  
- export class GroupsService<T extends TrashableResource = TrashableResource> extends TrashableResourceService<T> {
+ export class GroupsService<T extends GroupResource = GroupResource> extends TrashableResourceService<T> {
  
 -    constructor(serverApi: AxiosInstance) {
 -        super(serverApi, "groups");
 +    constructor(serverApi: AxiosInstance, actions: ApiActions) {
 +        super(serverApi, "groups", actions);
      }
  
      contents(uuid: string, args: ContentsArguments = {}): Promise<ListResults<GroupContentsResource>> {
@@@ -39,14 -43,18 +44,22 @@@
              filters: filters ? `[${filters}]` : undefined,
              order: order ? order : undefined
          };
 -        return this.serverApi
 -            .get(this.resourceType + `${uuid}/contents`, {
 -                params: CommonResourceService.mapKeys(_.snakeCase)(params)
 -            })
 -            .then(CommonResourceService.mapResponseKeys);
 +        return CommonResourceService.defaultResponse(
 +            this.serverApi
 +                .get(this.resourceType + `${uuid}/contents`, {
 +                    params: CommonResourceService.mapKeys(_.snakeCase)(params)
 +                }),
 +            this.actions
 +        );
      }
+ 
+     shared(params: SharedArguments = {}): Promise<ListResults<GroupContentsResource>> {
 -        return this.serverApi
 -            .get(this.resourceType + 'shared', { params })
 -            .then(CommonResourceService.mapResponseKeys);
++        return CommonResourceService.defaultResponse(
++            this.serverApi
++                .get(this.resourceType + 'shared', { params }),
++            this.actions
++        );
+     }
  }
  
  export enum GroupContentsResourcePrefix {
diff --cc src/store/store.ts
index 205a21e,43ab231..012b747
--- a/src/store/store.ts
+++ b/src/store/store.ts
@@@ -32,7 -32,8 +32,9 @@@ import { TrashPanelMiddlewareService } 
  import { TRASH_PANEL_ID } from "~/store/trash-panel/trash-panel-action";
  import { processLogsPanelReducer } from './process-logs-panel/process-logs-panel-reducer';
  import { processPanelReducer } from '~/store/process-panel/process-panel-reducer';
+ import { SHARED_WITH_ME_PANEL_ID } from '~/store/shared-with-me-panel/shared-with-me-panel-actions';
+ import { SharedWithMeMiddlewareService } from './shared-with-me-panel/shared-with-me-middleware-service';
 +import { progressIndicatorReducer } from './progress-indicator/progress-indicator-reducer';
  
  const composeEnhancers =
      (process.env.NODE_ENV === 'development' &&
diff --cc src/views/project-panel/project-panel.tsx
index 61f6766,2557939..2b2be2e
--- a/src/views/project-panel/project-panel.tsx
+++ b/src/views/project-panel/project-panel.tsx
@@@ -25,24 -23,9 +23,23 @@@ import { ProjectResource } from '~/mode
  import { navigateTo } from '~/store/navigation/navigation-action';
  import { getProperty } from '~/store/properties/properties';
  import { PROJECT_PANEL_CURRENT_UUID } from '~/store/project-panel/project-panel-action';
- import { openCollectionCreateDialog } from '~/store/collections/collection-create-actions';
- import { openProjectCreateDialog } from '~/store/projects/project-create-actions';
--import { filterResources } from '~/store/resources/resources';
--import { PanelDefaultView } from '~/components/panel-default-view/panel-default-view';
  import { DataTableDefaultView } from '~/components/data-table-default-view/data-table-default-view';
++import { StyleRulesCallback, WithStyles } from "@material-ui/core";
++import { ArvadosTheme } from "~/common/custom-theme";
++import withStyles from "@material-ui/core/styles/withStyles";
 +
 +type CssRules = 'root' | "button";
 +
 +const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
 +    root: {
 +        position: 'relative',
 +        width: '100%',
 +        height: '100%'
 +    },
 +    button: {
 +        marginLeft: theme.spacing.unit
 +    },
 +});
  
  export enum ProjectPanelColumnNames {
      NAME = "Name",
diff --cc src/views/workbench/workbench.tsx
index c22dde2,1d7d47d..ad1a266
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@@ -41,21 -41,29 +41,31 @@@ import { FilesUploadCollectionDialog } 
  import { PartialCopyCollectionDialog } from '~/views-components/dialog-forms/partial-copy-collection-dialog';
  import { TrashPanel } from "~/views/trash-panel/trash-panel";
  import { MainContentBar } from '~/views-components/main-content-bar/main-content-bar';
 -import { Grid } from '@material-ui/core';
 +import { Grid, LinearProgress } from '@material-ui/core';
+ import { SharedWithMePanel } from '../shared-with-me-panel/shared-with-me-panel';
 -import { ProcessCommandDialog } from '~/views-components/process-command-dialog/process-command-dialog';
+ import SplitterLayout from 'react-splitter-layout';
 +import { ProcessCommandDialog } from '~/views-components/process-command-dialog/process-command-dialog';
 +import { isSystemWorking } from "~/store/progress-indicator/progress-indicator-reducer";
  
- type CssRules = 'root' | 'asidePanel' | 'contentWrapper' | 'content' | 'appBar';
+ type CssRules = 'root' | 'container' | 'splitter' | 'asidePanel' | 'contentWrapper' | 'content' | 'appBar';
  
  const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
      root: {
          overflow: 'hidden',
          width: '100vw',
 -        height: '100vh'
 +        height: '100vh',
 +        paddingTop: theme.spacing.unit * 8
      },
+     container: {
+         position: 'relative'
+     },
+     splitter: {
+         '& > .layout-splitter': {
+             width: '2px'
+         }
+     },
      asidePanel: {
-         maxWidth: '240px',
+         height: '100%',
          background: theme.palette.background.default
      },
      contentWrapper: {
@@@ -105,33 -110,39 +114,39 @@@ export const Workbench = withStyles(sty
              render() {
                  const { classes } = this.props;
                  return <>
 +                    <MainAppBar
 +                        searchText={this.state.searchText}
 +                        user={this.props.user}
 +                        onSearch={this.onSearch}
 +                        buildInfo={this.props.buildInfo}>
 +                        {this.props.working ? <LinearProgress color="secondary" /> : null}
 +                    </MainAppBar>
                      <Grid container direction="column" className={classes.root}>
 -                        <Grid className={classes.appBar}>
 -                            <MainAppBar
 -                                searchText={this.state.searchText}
 -                                user={this.props.user}
 -                                onSearch={this.onSearch}
 -                                buildInfo={this.props.buildInfo} />
 -                        </Grid>
                          {this.props.user &&
                              <Grid container item xs alignItems="stretch" wrap="nowrap">
-                                 <Grid container item xs component='aside' direction='column' className={classes.asidePanel}>
-                                     <SidePanel />
-                                 </Grid>
-                                 <Grid container item xs component="main" direction="column" className={classes.contentWrapper}>
-                                     <Grid item>
-                                         <MainContentBar />
-                                     </Grid>
-                                     <Grid item xs className={classes.content}>
-                                         <Switch>
-                                             <Route path={Routes.PROJECTS} component={ProjectPanel} />
-                                             <Route path={Routes.COLLECTIONS} component={CollectionPanel} />
-                                             <Route path={Routes.FAVORITES} component={FavoritePanel} />
-                                             <Route path={Routes.PROCESSES} component={ProcessPanel} />
-                                             <Route path={Routes.TRASH} component={TrashPanel} />
-                                             <Route path={Routes.PROCESS_LOGS} component={ProcessLogPanel} />
-                                         </Switch>
-                                     </Grid>
+                                 <Grid container item className={classes.container}>
+                                 <SplitterLayout customClassName={classes.splitter} percentage={true}
+                                     primaryIndex={0} primaryMinSize={20} secondaryInitialSize={80} secondaryMinSize={40}>
+                                         <Grid container item xs component='aside' direction='column' className={classes.asidePanel}>
+                                             <SidePanel />
+                                         </Grid>
+                                         <Grid container item xs component="main" direction="column" className={classes.contentWrapper}>
+                                             <Grid item>
+                                                 <MainContentBar />
+                                             </Grid>
+                                             <Grid item xs className={classes.content}>
+                                                 <Switch>
+                                                     <Route path={Routes.PROJECTS} component={ProjectPanel} />
+                                                     <Route path={Routes.COLLECTIONS} component={CollectionPanel} />
+                                                     <Route path={Routes.FAVORITES} component={FavoritePanel} />
+                                                     <Route path={Routes.PROCESSES} component={ProcessPanel} />
+                                                     <Route path={Routes.TRASH} component={TrashPanel} />
+                                                     <Route path={Routes.PROCESS_LOGS} component={ProcessLogPanel} />
+                                                     <Route path={Routes.SHARED_WITH_ME} component={SharedWithMePanel} />
+                                                 </Switch>
+                                             </Grid>
+                                         </Grid>
+                                     </SplitterLayout>
                                  </Grid>
                                  <Grid item>
                                      <DetailsPanel />

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list