[ARVADOS-WORKBENCH2] updated: 1.1.4-589-g876e5e2

Git user git at public.curoverse.com
Mon Aug 13 13:48:48 EDT 2018


Summary of changes:
 .../data-explorer/data-explorer.test.tsx           |  13 ++-
 src/components/data-explorer/data-explorer.tsx     | 112 ++++++++++++++-------
 src/components/default-view/default-view.tsx       |  46 +++++++++
 .../details-attribute/details-attribute.tsx        |  21 ++--
 src/components/side-panel/side-panel.tsx           |   2 +-
 src/store/navigation/navigation-action.ts          |  10 +-
 src/store/project/project-action.ts                |  25 ++---
 src/store/side-panel/side-panel-reducer.ts         |  11 +-
 .../action-sets/root-project-action-set.ts         |  27 +++--
 .../details-panel/empty-details.tsx                |  40 +-------
 src/views/favorite-panel/favorite-panel.tsx        |   5 +-
 src/views/project-panel/project-panel.tsx          |  14 ++-
 src/views/workbench/workbench.test.tsx             |   1 +
 src/views/workbench/workbench.tsx                  |   9 +-
 14 files changed, 216 insertions(+), 120 deletions(-)
 create mode 100644 src/components/default-view/default-view.tsx

       via  876e5e2f31a218255845977489ea70aacc0211cd (commit)
       via  df041a7ff7f8515adc49b2e2ddd3fc6663b345af (commit)
       via  eb880179bed8f07348faeccb79d34c9726d206e8 (commit)
       via  3626497d024cddee09990afd6e08a24debaf5c7b (commit)
       via  732294bc8aeafde5e85a4437cbd36b0d2648b04e (commit)
       via  786d7c2b99da82c92d0ab5bc242f75513a46b4b5 (commit)
       via  0eea74dd422f762226b5b854274a8c18b9c24a1b (commit)
       via  c3cbb4ad3272bbd8f8b282a3db00a86c674e4117 (commit)
       via  08f35d9b26a06b70da6e54533782276617c5bed1 (commit)
      from  dd89200ad6fdbfa337fdbab5f54def8712c6746c (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 876e5e2f31a218255845977489ea70aacc0211cd
Merge: dd89200 df041a7
Author: Daniel Kos <daniel.kos at contractors.roche.com>
Date:   Mon Aug 13 19:48:41 2018 +0200

    refs #master Merge branch 'origin/master' into 14007-ts-paths
    
    # Conflicts:
    #       src/components/data-explorer/data-explorer.test.tsx
    #       src/components/data-explorer/data-explorer.tsx
    #       src/store/navigation/navigation-action.ts
    #       src/views-components/context-menu/action-sets/root-project-action-set.ts
    #       src/views-components/details-panel/empty-details.tsx
    #       src/views/favorite-panel/favorite-panel.tsx
    #       src/views/project-panel/project-panel.tsx
    #       src/views/workbench/workbench.test.tsx
    #       src/views/workbench/workbench.tsx
    
    Arvados-DCO-1.1-Signed-off-by: Daniel Kos <daniel.kos at contractors.roche.com>

diff --cc src/components/data-explorer/data-explorer.tsx
index eaa3464,7acc1a8..2811bd4
--- a/src/components/data-explorer/data-explorer.tsx
+++ b/src/components/data-explorer/data-explorer.tsx
@@@ -10,9 -10,11 +10,11 @@@ import { DataTable, DataColumns } from 
  import { DataColumn } from "../data-table/data-column";
  import { DataTableFilterItem } from '../data-table-filters/data-table-filters';
  import { SearchInput } from '../search-input/search-input';
 -import { ArvadosTheme } from "../../common/custom-theme";
 +import { ArvadosTheme } from "~/common/custom-theme";
+ import { DefaultView } from '../default-view/default-view';
+ import { IconType } from '../icon/icon';
  
- type CssRules = "searchBox" | "toolbar";
+ type CssRules = 'searchBox' | "toolbar" | 'defaultRoot' | 'defaultMessage' | 'defaultIcon';
  
  const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
      searchBox: {
diff --cc src/store/navigation/navigation-action.ts
index e50bce0,dc68021..79d2447
--- a/src/store/navigation/navigation-action.ts
+++ b/src/store/navigation/navigation-action.ts
@@@ -60,6 -59,14 +59,13 @@@ export const setProjectItem = (itemId: 
                      dispatch(projectPanelActions.RESET_PAGINATION());
                      dispatch(projectPanelActions.REQUEST_ITEMS());
                  }));
 -
+         } else {
+             const uuid = services.authService.getUuid();
+             if (itemId === uuid) {
+                 dispatch(projectActions.TOGGLE_PROJECT_TREE_ITEM_ACTIVE(uuid));
+                 dispatch(projectPanelActions.RESET_PAGINATION());
+                 dispatch(projectPanelActions.REQUEST_ITEMS());
+             }
          }
      };
  
diff --cc src/views-components/context-menu/action-sets/root-project-action-set.ts
index 556ba5d,c88b1b4..fb380fc
--- a/src/views-components/context-menu/action-sets/root-project-action-set.ts
+++ b/src/views-components/context-menu/action-sets/root-project-action-set.ts
@@@ -5,15 -5,27 +5,28 @@@
  import { reset } from "redux-form";
  
  import { ContextMenuActionSet } from "../context-menu-action-set";
 -import { projectActions } from "../../../store/project/project-action";
 +import { projectActions } from "~/store/project/project-action";
 +import { NewProjectIcon } from "~/components/icon/icon";
+ import { collectionCreateActions } from "../../../store/collections/creator/collection-creator-action";
  import { PROJECT_CREATE_DIALOG } from "../../dialog-create/dialog-project-create";
+ import { COLLECTION_CREATE_DIALOG } from "../../dialog-create/dialog-collection-create";
+ import { NewProjectIcon, CollectionIcon } from "../../../components/icon/icon";
  
- export const rootProjectActionSet: ContextMenuActionSet =  [[{
-     icon: NewProjectIcon,
-     name: "New project",
-     execute: (dispatch, resource) => {
-         dispatch(reset(PROJECT_CREATE_DIALOG));
-         dispatch(projectActions.OPEN_PROJECT_CREATOR({ ownerUuid: resource.uuid }));
+ export const rootProjectActionSet: ContextMenuActionSet =  [[
+     {
+         icon: NewProjectIcon,
+         name: "New project",
+         execute: (dispatch, resource) => {
+             dispatch(reset(PROJECT_CREATE_DIALOG));
+             dispatch(projectActions.OPEN_PROJECT_CREATOR({ ownerUuid: resource.uuid }));
+         }
+     }, 
+     {
+         icon: CollectionIcon,
+         name: "New Collection",
+         execute: (dispatch, resource) => {
+             dispatch(reset(COLLECTION_CREATE_DIALOG));
+             dispatch(collectionCreateActions.OPEN_COLLECTION_CREATOR({ ownerUuid: resource.uuid }));
+         }
      }
- }]];
+ ]];
diff --cc src/views-components/details-panel/empty-details.tsx
index ccaa561,47cb403..76778d7
--- a/src/views-components/details-panel/empty-details.tsx
+++ b/src/views-components/details-panel/empty-details.tsx
@@@ -3,44 -3,10 +3,10 @@@
  // SPDX-License-Identifier: AGPL-3.0
  
  import * as React from 'react';
- import { DefaultIcon, IconType, ProjectsIcon } from '~/components/icon/icon';
 -import { DefaultIcon, ProjectsIcon } from '../../components/icon/icon';
 -import { EmptyResource } from '../../models/empty';
++import { DefaultIcon, ProjectsIcon } from '~/components/icon/icon';
 +import { EmptyResource } from '~/models/empty';
  import { DetailsData } from "./details-data";
- import Typography from "@material-ui/core/Typography";
- import { StyleRulesCallback, WithStyles, withStyles } from "@material-ui/core/styles";
- import { ArvadosTheme } from "~/common/custom-theme";
- import Icon from "@material-ui/core/Icon/Icon";
- 
- type CssRules = 'container' | 'icon';
- 
- const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
-     container: {
-         textAlign: 'center'
-     },
-     icon: {
-         color: theme.palette.grey["500"],
-         fontSize: '72px'
-     }
- });
- 
- export interface EmptyStateDataProps {
-     message: string;
-     icon: IconType;
-     details?: string;
-     children?: React.ReactNode;
- }
- 
- type EmptyStateProps = EmptyStateDataProps & WithStyles<CssRules>;
- 
- const EmptyState = withStyles(styles)(
-     ({ classes, details, message, children, icon: Icon }: EmptyStateProps) =>
-         <Typography className={classes.container} component="div">
-             <Icon className={classes.icon}/>
-             <Typography variant="body1" gutterBottom>{message}</Typography>
-             {details && <Typography gutterBottom>{details}</Typography>}
-             {children && <Typography gutterBottom>{children}</Typography>}
-         </Typography>
- );
 -import { DefaultView } from '../../components/default-view/default-view';
++import { DefaultView } from '~/components/default-view/default-view';
  
  export class EmptyDetails extends DetailsData<EmptyResource> {
      getIcon(className?: string) {
diff --cc src/views/favorite-panel/favorite-panel.tsx
index 899ef3a,a48395d..618f0ab
--- a/src/views/favorite-panel/favorite-panel.tsx
+++ b/src/views/favorite-panel/favorite-panel.tsx
@@@ -5,19 -5,20 +5,20 @@@
  import * as React from 'react';
  import { FavoritePanelItem } from './favorite-panel-item';
  import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core';
 -import { DataExplorer } from "../../views-components/data-explorer/data-explorer";
 +import { DataExplorer } from "~/views-components/data-explorer/data-explorer";
  import { DispatchProp, connect } from 'react-redux';
 -import { DataColumns } from '../../components/data-table/data-table';
 +import { DataColumns } from '~/components/data-table/data-table';
  import { RouteComponentProps } from 'react-router';
 -import { RootState } from '../../store/store';
 -import { DataTableFilterItem } from '../../components/data-table-filters/data-table-filters';
 -import { ContainerRequestState } from '../../models/container-request';
 -import { SortDirection } from '../../components/data-table/data-column';
 -import { ResourceKind } from '../../models/resource';
 -import { resourceLabel } from '../../common/labels';
 -import { ArvadosTheme } from '../../common/custom-theme';
 -import { renderName, renderStatus, renderType, renderOwner, renderFileSize, renderDate } from '../../views-components/data-explorer/renderers';
 -import { FAVORITE_PANEL_ID } from "../../store/favorite-panel/favorite-panel-action";
 -import { FavoriteIcon } from '../../components/icon/icon';
 +import { RootState } from '~/store/store';
 +import { DataTableFilterItem } from '~/components/data-table-filters/data-table-filters';
 +import { ContainerRequestState } from '~/models/container-request';
 +import { SortDirection } from '~/components/data-table/data-column';
 +import { ResourceKind } from '~/models/resource';
 +import { resourceLabel } from '~/common/labels';
 +import { ArvadosTheme } from '~/common/custom-theme';
 +import { renderName, renderStatus, renderType, renderOwner, renderFileSize, renderDate } from '~/views-components/data-explorer/renderers';
 +import { FAVORITE_PANEL_ID } from "~/store/favorite-panel/favorite-panel-action";
++import { FavoriteIcon } from '~/components/icon/icon';
  
  type CssRules = "toolbar" | "button";
  
diff --cc src/views/project-panel/project-panel.tsx
index fccd93e,cf4aca5..e9179a1
--- a/src/views/project-panel/project-panel.tsx
+++ b/src/views/project-panel/project-panel.tsx
@@@ -5,23 -5,29 +5,29 @@@
  import * as React from 'react';
  import { ProjectPanelItem } from './project-panel-item';
  import { Button, StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core';
 -import { DataExplorer } from "../../views-components/data-explorer/data-explorer";
 +import { DataExplorer } from "~/views-components/data-explorer/data-explorer";
  import { DispatchProp, connect } from 'react-redux';
 -import { DataColumns } from '../../components/data-table/data-table';
 +import { DataColumns } from '~/components/data-table/data-table';
  import { RouteComponentProps } from 'react-router';
 -import { RootState } from '../../store/store';
 -import { DataTableFilterItem } from '../../components/data-table-filters/data-table-filters';
 -import { ContainerRequestState } from '../../models/container-request';
 -import { SortDirection } from '../../components/data-table/data-column';
 -import { ResourceKind } from '../../models/resource';
 -import { resourceLabel } from '../../common/labels';
 -import { ArvadosTheme } from '../../common/custom-theme';
 -import { renderName, renderStatus, renderType, renderOwner, renderFileSize, renderDate } from '../../views-components/data-explorer/renderers';
 -import { restoreBranch } from '../../store/navigation/navigation-action';
 -import { ProjectIcon } from '../../components/icon/icon';
 +import { RootState } from '~/store/store';
 +import { DataTableFilterItem } from '~/components/data-table-filters/data-table-filters';
 +import { ContainerRequestState } from '~/models/container-request';
 +import { SortDirection } from '~/components/data-table/data-column';
 +import { ResourceKind } from '~/models/resource';
 +import { resourceLabel } from '~/common/labels';
 +import { ArvadosTheme } from '~/common/custom-theme';
 +import { renderName, renderStatus, renderType, renderOwner, renderFileSize, renderDate } from '~/views-components/data-explorer/renderers';
 +import { restoreBranch } from '~/store/navigation/navigation-action';
++import { ProjectIcon } from '~/components/icon/icon';
  
- type CssRules = "toolbar" | "button";
+ type CssRules = 'root' | "toolbar" | "button";
  
  const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
+     root: {
+         position: 'relative',
+         width: '100%',
+         height: '100%'
+     },
      toolbar: {
          paddingBottom: theme.spacing.unit * 3,
          textAlign: "right"
diff --cc src/views/workbench/workbench.test.tsx
index 3587283,588b6d9..d03e117
--- a/src/views/workbench/workbench.test.tsx
+++ b/src/views/workbench/workbench.test.tsx
@@@ -17,8 -19,10 +17,9 @@@ const history = createBrowserHistory()
  
  it('renders without crashing', () => {
      const div = document.createElement('div');
 -    const store = configureStore(createBrowserHistory(), createServices("/arvados/v1"));
 +    const services = createServices("/arvados/v1");
++	services.authService.getUuid = jest.fn().mockReturnValueOnce('test');
 +    const store = configureStore(createBrowserHistory(), services);
      ReactDOM.render(
          <MuiThemeProvider theme={CustomTheme}>
              <Provider store={store}>
diff --cc src/views/workbench/workbench.tsx
index a7f14aa,356a670..a0be372
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@@ -6,49 -6,49 +6,49 @@@ import * as React from 'react'
  import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles';
  import Drawer from '@material-ui/core/Drawer';
  import { connect, DispatchProp } from "react-redux";
- import { Route, RouteComponentProps, Switch } from "react-router";
 -import { Route, Switch, RouteComponentProps, Redirect } from "react-router";
 -import { login, logout } from "../../store/auth/auth-action";
 -import { User } from "../../models/user";
 -import { RootState } from "../../store/store";
 -import { MainAppBar, MainAppBarActionProps, MainAppBarMenuItem } from '../../views-components/main-app-bar/main-app-bar';
 -import { Breadcrumb } from '../../components/breadcrumbs/breadcrumbs';
++import { Route, RouteComponentProps, Switch, Redirect } from "react-router";
 +import { login, logout } from "~/store/auth/auth-action";
 +import { User } from "~/models/user";
 +import { RootState } from "~/store/store";
 +import { MainAppBar, MainAppBarActionProps, MainAppBarMenuItem } from '~/views-components/main-app-bar/main-app-bar';
 +import { Breadcrumb } from '~/components/breadcrumbs/breadcrumbs';
  import { push } from 'react-router-redux';
  import { reset } from 'redux-form';
 -import { ProjectTree } from '../../views-components/project-tree/project-tree';
 -import { TreeItem } from "../../components/tree/tree";
 -import { getTreePath } from '../../store/project/project-reducer';
 -import { sidePanelActions } from '../../store/side-panel/side-panel-action';
 -import { SidePanel, SidePanelItem } from '../../components/side-panel/side-panel';
 -import { ItemMode, setProjectItem } from "../../store/navigation/navigation-action";
 -import { projectActions } from "../../store/project/project-action";
 -import { collectionCreateActions } from '../../store/collections/creator/collection-creator-action';
 -import { ProjectPanel } from "../project-panel/project-panel";
 -import { DetailsPanel } from '../../views-components/details-panel/details-panel';
 -import { ArvadosTheme } from '../../common/custom-theme';
 -import { CreateProjectDialog } from "../../views-components/create-project-dialog/create-project-dialog";
 +import { ProjectTree } from '~/views-components/project-tree/project-tree';
 +import { TreeItem } from "~/components/tree/tree";
 +import { getTreePath } from '~/store/project/project-reducer';
 +import { sidePanelActions } from '~/store/side-panel/side-panel-action';
 +import { SidePanel, SidePanelItem } from '~/components/side-panel/side-panel';
 +import { ItemMode, setProjectItem } from "~/store/navigation/navigation-action";
 +import { projectActions } from "~/store/project/project-action";
 +import { collectionCreateActions } from '~/store/collections/creator/collection-creator-action';
 +import { ProjectPanel } from "~/views/project-panel/project-panel";
 +import { DetailsPanel } from '~/views-components/details-panel/details-panel';
 +import { ArvadosTheme } from '~/common/custom-theme';
 +import { CreateProjectDialog } from "~/views-components/create-project-dialog/create-project-dialog";
  
 -import { detailsPanelActions, loadDetails } from "../../store/details-panel/details-panel-action";
 -import { contextMenuActions } from "../../store/context-menu/context-menu-actions";
 -import { SidePanelIdentifiers } from '../../store/side-panel/side-panel-reducer';
 -import { ProjectResource } from '../../models/project';
 -import { ResourceKind } from '../../models/resource';
 -import { ContextMenu, ContextMenuKind } from "../../views-components/context-menu/context-menu";
 +import { detailsPanelActions, loadDetails } from "~/store/details-panel/details-panel-action";
 +import { contextMenuActions } from "~/store/context-menu/context-menu-actions";
 +import { SidePanelIdentifiers } from '~/store/side-panel/side-panel-reducer';
 +import { ProjectResource } from '~/models/project';
 +import { ResourceKind } from '~/models/resource';
 +import { ContextMenu, ContextMenuKind } from "~/views-components/context-menu/context-menu";
  import { FavoritePanel } from "../favorite-panel/favorite-panel";
 -import { CurrentTokenDialog } from '../../views-components/current-token-dialog/current-token-dialog';
 -import { Snackbar } from '../../views-components/snackbar/snackbar';
 -import { favoritePanelActions } from '../../store/favorite-panel/favorite-panel-action';
 -import { CreateCollectionDialog } from '../../views-components/create-collection-dialog/create-collection-dialog';
 +import { CurrentTokenDialog } from '~/views-components/current-token-dialog/current-token-dialog';
 +import { Snackbar } from '~/views-components/snackbar/snackbar';
 +import { favoritePanelActions } from '~/store/favorite-panel/favorite-panel-action';
 +import { CreateCollectionDialog } from '~/views-components/create-collection-dialog/create-collection-dialog';
  import { CollectionPanel } from '../collection-panel/collection-panel';
 -import { loadCollection, loadCollectionTags } from '../../store/collection-panel/collection-panel-action';
 -import { getCollectionUrl } from '../../models/collection';
 -import { UpdateCollectionDialog } from '../../views-components/update-collection-dialog/update-collection-dialog.';
 -import { AuthService } from "../../services/auth-service/auth-service";
 -import { RenameFileDialog } from '../../views-components/rename-file-dialog/rename-file-dialog';
 -import { FileRemoveDialog } from '../../views-components/file-remove-dialog/file-remove-dialog';
 -import { MultipleFilesRemoveDialog } from '../../views-components/file-remove-dialog/multiple-files-remove-dialog';
 -import { DialogCollectionCreateWithSelectedFile } from '../../views-components/create-collection-dialog-with-selected/create-collection-dialog-with-selected';
 -import { COLLECTION_CREATE_DIALOG } from '../../views-components/dialog-create/dialog-collection-create';
 -import { PROJECT_CREATE_DIALOG } from '../../views-components/dialog-create/dialog-project-create';
 +import { loadCollection, loadCollectionTags } from '~/store/collection-panel/collection-panel-action';
 +import { getCollectionUrl } from '~/models/collection';
 +import { UpdateCollectionDialog } from '~/views-components/update-collection-dialog/update-collection-dialog.';
 +import { AuthService } from "~/services/auth-service/auth-service";
 +import { RenameFileDialog } from '~/views-components/rename-file-dialog/rename-file-dialog';
 +import { FileRemoveDialog } from '~/views-components/file-remove-dialog/file-remove-dialog';
 +import { MultipleFilesRemoveDialog } from '~/views-components/file-remove-dialog/multiple-files-remove-dialog';
 +import { DialogCollectionCreateWithSelectedFile } from '~/views-components/create-collection-dialog-with-selected/create-collection-dialog-with-selected';
 +import { COLLECTION_CREATE_DIALOG } from '~/views-components/dialog-create/dialog-collection-create';
 +import { PROJECT_CREATE_DIALOG } from '~/views-components/dialog-create/dialog-project-create';
  
  const DRAWER_WITDH = 240;
  const APP_BAR_HEIGHT = 100;

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list