[ARVADOS-WORKBENCH2] updated: 1.1.4-347-g47e0dc8

Git user git at public.curoverse.com
Mon Jul 23 03:41:07 EDT 2018


Summary of changes:
 src/common/api/common-resource-service.test.ts     |   2 +-
 src/common/api/common-resource-service.ts          |   7 +-
 src/common/api/filter-builder.test.ts              |   2 +-
 src/common/api/filter-builder.ts                   |   4 +-
 src/common/api/order-builder.test.ts               |   2 +-
 src/common/api/order-builder.ts                    |   4 +-
 src/common/api/url-builder.ts                      |  36 +-
 src/common/url.ts                                  |   6 +
 src/components/breadcrumbs/breadcrumbs.test.tsx    |   4 +-
 src/components/breadcrumbs/breadcrumbs.tsx         |  88 +++--
 .../column-selector/column-selector.test.tsx       |   2 +-
 src/components/column-selector/column-selector.tsx |  37 +-
 src/components/context-menu/context-menu.test.tsx  |   4 +-
 src/components/context-menu/context-menu.tsx       |   2 +-
 .../data-explorer/data-explorer.test.tsx           |  10 +-
 src/components/data-explorer/data-explorer.tsx     | 137 +++----
 .../data-table-filters/data-table-filters.test.tsx |  12 +-
 .../data-table-filters/data-table-filters.tsx      | 255 +++++++------
 src/components/data-table/data-table.test.tsx      |   8 +-
 src/components/data-table/data-table.tsx           | 156 ++++----
 .../details-attribute.tsx}                         |  52 ++-
 .../details-panel-factory.tsx                      |  27 --
 .../items/collection-item.tsx                      |  35 --
 .../details-panel-factory/items/empty-item.tsx     |  21 --
 .../details-panel-factory/items/process-item.tsx   |  45 ---
 .../details-panel-factory/items/project-item.tsx   |  33 --
 .../dropdown-menu/dropdown-menu.test.tsx           |   6 +-
 src/components/dropdown-menu/dropdown-menu.tsx     |   8 +-
 src/components/empty-state/empty-state.tsx         |  46 ---
 .../list-item-text-icon/list-item-text-icon.tsx    |  68 ++--
 src/components/popover/popover.test.tsx            |   6 +-
 src/components/popover/popover.tsx                 |   7 +-
 src/components/search-bar/search-bar.test.tsx      |  14 +-
 src/components/search-bar/search-bar.tsx           | 148 ++++----
 src/components/search-input/search-input.test.tsx  |  12 +-
 src/components/search-input/search-input.tsx       | 158 ++++----
 src/components/side-panel/side-panel.tsx           | 140 ++++----
 src/components/tree/tree.test.tsx                  |   2 +-
 src/components/tree/tree.tsx                       | 132 +++----
 src/index.tsx                                      |  14 +-
 src/models/container-request.ts                    |   3 +-
 src/models/details.ts                              |  10 +
 src/models/empty.ts                                |   4 +-
 src/services/auth-service/auth-service.ts          |   2 +-
 src/services/groups-service/groups-service.test.ts |   2 +-
 src/services/groups-service/groups-service.ts      |  10 +-
 .../project-service/project-service.test.ts        |   7 +-
 src/services/project-service/project-service.ts    |   8 +-
 src/services/services.ts                           |   6 +-
 src/store/auth/auth-action.ts                      |  10 +-
 src/store/auth/auth-reducer.test.ts                |  16 +-
 src/store/auth/auth-reducer.ts                     |   8 +-
 src/store/context-menu/context-menu-actions.ts     |   5 +-
 src/store/context-menu/context-menu-reducer.ts     |   7 +-
 src/store/data-explorer/data-explorer-action.ts    |   6 +-
 .../data-explorer/data-explorer-reducer.test.tsx   |  29 +-
 src/store/data-explorer/data-explorer-reducer.ts   |   8 +-
 src/store/details-panel/details-panel-action.ts    |  12 +-
 src/store/details-panel/details-panel-reducer.ts   |   8 +-
 src/store/navigation/navigation-action.ts          |   4 +-
 .../project-panel/project-panel-middleware.ts      |  30 +-
 src/store/project/project-action.ts                |  17 +-
 src/store/project/project-reducer.test.ts          |  12 +-
 src/store/project/project-reducer.ts               |   8 +-
 src/store/side-panel/side-panel-action.ts          |   5 +-
 src/store/side-panel/side-panel-reducer.test.ts    |  12 +-
 src/store/side-panel/side-panel-reducer.ts         |   8 +-
 src/store/store.ts                                 |  14 +-
 src/utils/dialog-validator.tsx                     | 102 +++---
 src/views-components/api-token/api-token.tsx       |  40 +--
 .../context-menu/action-sets/project-action-set.ts |   6 +-
 .../action-sets/root-project-action-set.ts         |   6 +-
 src/views-components/context-menu/context-menu.tsx |  14 +-
 src/views-components/context-menu/index.ts         |  17 -
 .../create-project-dialog.tsx                      |  10 +-
 .../data-explorer/data-explorer.tsx                |  20 +-
 .../details-panel/collection-details.tsx           |  35 ++
 .../details-panel/details-data.tsx}                |  15 +-
 .../details-panel/details-panel.tsx                | 180 +++++-----
 .../details-panel/empty-details.tsx                |  53 +++
 .../details-panel/process-details.tsx              |  45 +++
 .../details-panel/project-details.tsx              |  33 ++
 .../dialog-create/dialog-project-create.tsx        | 230 ++++++------
 .../main-app-bar/main-app-bar.test.tsx             |   8 +-
 src/views-components/main-app-bar/main-app-bar.tsx |   9 +-
 .../project-tree/project-tree.test.tsx             |  14 +-
 src/views-components/project-tree/project-tree.tsx |  60 ++--
 src/views/project-panel/project-panel.tsx          | 116 +++---
 src/views/workbench/workbench.test.tsx             |   4 +-
 src/views/workbench/workbench.tsx                  | 396 ++++++++++-----------
 90 files changed, 1680 insertions(+), 1756 deletions(-)
 create mode 100644 src/common/url.ts
 rename src/components/{attribute/attribute.tsx => details-attribute/details-attribute.tsx} (52%)
 delete mode 100644 src/components/details-panel-factory/details-panel-factory.tsx
 delete mode 100644 src/components/details-panel-factory/items/collection-item.tsx
 delete mode 100644 src/components/details-panel-factory/items/empty-item.tsx
 delete mode 100644 src/components/details-panel-factory/items/process-item.tsx
 delete mode 100644 src/components/details-panel-factory/items/project-item.tsx
 delete mode 100644 src/components/empty-state/empty-state.tsx
 create mode 100644 src/models/details.ts
 delete mode 100644 src/views-components/context-menu/index.ts
 create mode 100644 src/views-components/details-panel/collection-details.tsx
 rename src/{components/details-panel-factory/items/abstract-item.tsx => views-components/details-panel/details-data.tsx} (52%)
 create mode 100644 src/views-components/details-panel/empty-details.tsx
 create mode 100644 src/views-components/details-panel/process-details.tsx
 create mode 100644 src/views-components/details-panel/project-details.tsx

       via  47e0dc87fa82bac593c53518e556ba7c55410288 (commit)
       via  b6a5b173cd4e9f325f371d26204dfe156d911c20 (commit)
       via  ae691a976c8e505afba7cec6f8f316d1c5b175a7 (commit)
       via  4229645b39e3edfa288be826fb2cdcfa5fd90d38 (commit)
       via  180c2c37b635cbb7a33257d2ee9b4395553ce5e7 (commit)
      from  37ebbbd4f05f811582546823738619f1fbb97686 (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 47e0dc87fa82bac593c53518e556ba7c55410288
Merge: 37ebbbd b6a5b17
Author: Janicki Artur <artur.janicki at contractors.roche.com>
Date:   Mon Jul 23 09:40:46 2018 +0200

    Merge branch 'master' into 13797-refatoring-part2
    
    refs #13797
    2
    
    Arvados-DCO-1.1-Signed-off-by: Janicki Artur <artur.janicki at contractors.roche.com>

diff --cc src/views/project-panel/project-panel.tsx
index 3bc4656,312a248..daf22b1
--- a/src/views/project-panel/project-panel.tsx
+++ b/src/views/project-panel/project-panel.tsx
@@@ -16,67 -16,10 +16,12 @@@ import { ContainerRequestState } from '
  import { SortDirection } from '../../components/data-table/data-column';
  import { ResourceKind } from '../../models/resource';
  import { resourceLabel } from '../../common/labels';
 +import { ProjectIcon, CollectionIcon, ProcessIcon, DefaultIcon } from '../../components/icon/icon';
 +import { ArvadosTheme } from '../../common/custom-theme';
  
- export const PROJECT_PANEL_ID = "projectPanel";
- 
- export interface ProjectPanelFilter extends DataTableFilterItem {
-     type: ResourceKind | ContainerRequestState;
- }
- 
- interface ProjectPanelDataProps {
-     currentItemId: string;
- }
- 
- interface ProjectPanelActionProps {
-     onItemClick: (item: ProjectPanelItem) => void;
-     onContextMenu: (event: React.MouseEvent<HTMLElement>, item: ProjectPanelItem) => void;
-     onDialogOpen: (ownerUuid: string) => void;
-     onItemDoubleClick: (item: ProjectPanelItem) => void;
-     onItemRouteChange: (itemId: string) => void;
- }
- 
- type ProjectPanelProps = ProjectPanelDataProps & ProjectPanelActionProps & DispatchProp
-                         & WithStyles<CssRules> & RouteComponentProps<{ id: string }>;
- 
- class ProjectPanel extends React.Component<ProjectPanelProps> {
-     render() {
-         const { classes } = this.props;
-         return <div>
-             <div className={classes.toolbar}>
-                 <Button color="primary" variant="raised" className={classes.button}>
-                     Create a collection
-                 </Button>
-                 <Button color="primary" variant="raised" className={classes.button}>
-                     Run a process
-                 </Button>
-                 <Button color="primary" onClick={this.handleNewProjectClick} variant="raised" className={classes.button}>
-                     New project
-                 </Button>
-             </div>
-             <DataExplorer
-                 id={PROJECT_PANEL_ID}
-                 onRowClick={this.props.onItemClick}
-                 onRowDoubleClick={this.props.onItemDoubleClick}
-                 onContextMenu={this.props.onContextMenu}
-                 extractKey={(item: ProjectPanelItem) => item.uuid} />
-         </div>;
-     }
-     
-     handleNewProjectClick = () => {
-         this.props.onDialogOpen(this.props.currentItemId);
-     }
-     componentWillReceiveProps({ match, currentItemId, onItemRouteChange }: ProjectPanelProps) {
-         if (match.params.id !== currentItemId) {
-             onItemRouteChange(match.params.id);
-         }
-     }
- }
- 
  type CssRules = "toolbar" | "button";
  
 -const styles: StyleRulesCallback<CssRules> = theme => ({
 +const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
      toolbar: {
          paddingBottom: theme.spacing.unit * 3,
          textAlign: "right"
@@@ -137,89 -86,126 +82,144 @@@ const renderStatus = (item: ProjectPane
      </Typography>;
  
  export enum ProjectPanelColumnNames {
 -    Name = "Name",
 -    Status = "Status",
 -    Type = "Type",
 -    Owner = "Owner",
 -    FileSize = "File size",
 -    LastModified = "Last modified"
 +    NAME = "Name",
 +    STATUS = "Status",
 +    TYPE = "Type",
 +    OWNER = "Owner",
 +    FILE_SIZE = "File size",
 +    LAST_MODIFIED = "Last modified"
+ }
  
+ export interface ProjectPanelFilter extends DataTableFilterItem {
+     type: ResourceKind | ContainerRequestState;
  }
  
 -export const columns: DataColumns<ProjectPanelItem, ProjectPanelFilter> = [{
 -    name: ProjectPanelColumnNames.Name,
 -    selected: true,
 -    sortDirection: SortDirection.Asc,
 -    render: renderName,
 -    width: "450px"
 -}, {
 -    name: "Status",
 -    selected: true,
 -    filters: [{
 -        name: ContainerRequestState.Committed,
 +export const columns: DataColumns<ProjectPanelItem, ProjectPanelFilter> = [
 +    {
 +        name: ProjectPanelColumnNames.NAME,
          selected: true,
 -        type: ContainerRequestState.Committed
 -    }, {
 -        name: ContainerRequestState.Final,
 +        sortDirection: SortDirection.Asc,
 +        render: renderName,
 +        width: "450px"
 +    },
 +    {
 +        name: "Status",
          selected: true,
 -        type: ContainerRequestState.Final
 -    }, {
 -        name: ContainerRequestState.Uncommitted,
 +        filters: [
 +            {
 +                name: ContainerRequestState.Committed,
 +                selected: true,
 +                type: ContainerRequestState.Committed
 +            },
 +            {
 +                name: ContainerRequestState.Final,
 +                selected: true,
 +                type: ContainerRequestState.Final
 +            },
 +            {
 +                name: ContainerRequestState.Uncommitted,
 +                selected: true,
 +                type: ContainerRequestState.Uncommitted
 +            }
 +        ],
 +        render: renderStatus,
 +        width: "75px"
 +    },
 +    {
 +        name: ProjectPanelColumnNames.TYPE,
          selected: true,
 -        type: ContainerRequestState.Uncommitted
 -    }],
 -    render: renderStatus,
 -    width: "75px"
 -}, {
 -    name: ProjectPanelColumnNames.Type,
 -    selected: true,
 -    filters: [{
 -        name: resourceLabel(ResourceKind.Collection),
 +        filters: [
 +            {
 +                name: resourceLabel(ResourceKind.Collection),
 +                selected: true,
 +                type: ResourceKind.Collection
 +            },
 +            {
 +                name: resourceLabel(ResourceKind.Process),
 +                selected: true,
 +                type: ResourceKind.Process
 +            },
 +            {
 +                name: resourceLabel(ResourceKind.Project),
 +                selected: true,
 +                type: ResourceKind.Project
 +            }
 +        ],
 +        render: item => renderType(item.kind),
 +        width: "125px"
 +    },
 +    {
 +        name: ProjectPanelColumnNames.OWNER,
          selected: true,
 -        type: ResourceKind.Collection
 -    }, {
 -        name: resourceLabel(ResourceKind.Process),
 +        render: item => renderOwner(item.owner),
 +        width: "200px"
 +    },
 +    {
 +        name: ProjectPanelColumnNames.FILE_SIZE,
          selected: true,
 -        type: ResourceKind.Process
 -    }, {
 -        name: resourceLabel(ResourceKind.Project),
 +        render: item => renderFileSize(item.fileSize),
 +        width: "50px"
 +    },
 +    {
 +        name: ProjectPanelColumnNames.LAST_MODIFIED,
          selected: true,
 -        type: ResourceKind.Project
 -    }],
 -    render: item => renderType(item.kind),
 -    width: "125px"
 -}, {
 -    name: ProjectPanelColumnNames.Owner,
 -    selected: true,
 -    render: item => renderOwner(item.owner),
 -    width: "200px"
 -}, {
 -    name: ProjectPanelColumnNames.FileSize,
 -    selected: true,
 -    render: item => renderFileSize(item.fileSize),
 -    width: "50px"
 -}, {
 -    name: ProjectPanelColumnNames.LastModified,
 -    selected: true,
 -    sortDirection: SortDirection.None,
 -    render: item => renderDate(item.lastModified),
 -    width: "150px"
 -}];
 +        sortDirection: SortDirection.None,
 +        render: item => renderDate(item.lastModified),
 +        width: "150px"
 +    }
 +];
  
- export default withStyles(styles)(
-     connect((state: RootState) => ({ currentItemId: state.projects.currentItemId }))(ProjectPanel));
+ export const PROJECT_PANEL_ID = "projectPanel";
+ 
 -type ProjectPanelProps = {
 -    currentItemId: string,
 -    onItemClick: (item: ProjectPanelItem) => void,
++interface ProjectPanelDataProps {
++    currentItemId: string;
++}
++
++interface ProjectPanelActionProps {
++    onItemClick: (item: ProjectPanelItem) => void;
+     onContextMenu: (event: React.MouseEvent<HTMLElement>, item: ProjectPanelItem) => void;
+     onDialogOpen: (ownerUuid: string) => void;
 -    onItemDoubleClick: (item: ProjectPanelItem) => void,
 -    onItemRouteChange: (itemId: string) => void
++    onItemDoubleClick: (item: ProjectPanelItem) => void;
++    onItemRouteChange: (itemId: string) => void;
+ }
 -    & DispatchProp
 -    & WithStyles<CssRules>
 -    & RouteComponentProps<{ id: string }>;
++
++type ProjectPanelProps = ProjectPanelDataProps & ProjectPanelActionProps & DispatchProp
++                        & WithStyles<CssRules> & RouteComponentProps<{ id: string }>;
+ 
+ export const ProjectPanel = withStyles(styles)(
+     connect((state: RootState) => ({ currentItemId: state.projects.currentItemId }))(
+         class extends React.Component<ProjectPanelProps> {
+             render() {
+                 const { classes } = this.props;
+                 return <div>
+                     <div className={classes.toolbar}>
+                         <Button color="primary" variant="raised" className={classes.button}>
+                             Create a collection
+                         </Button>
+                         <Button color="primary" variant="raised" className={classes.button}>
+                             Run a process
+                         </Button>
+                         <Button color="primary" onClick={this.handleNewProjectClick} variant="raised" className={classes.button}>
+                             New project
+                         </Button>
+                     </div>
+                     <DataExplorer
+                         id={PROJECT_PANEL_ID}
+                         onRowClick={this.props.onItemClick}
+                         onRowDoubleClick={this.props.onItemDoubleClick}
+                         onContextMenu={this.props.onContextMenu}
+                         extractKey={(item: ProjectPanelItem) => item.uuid} />
+                 </div>;
+             }
+ 
+             handleNewProjectClick = () => {
+                 this.props.onDialogOpen(this.props.currentItemId);
+             }
+             componentWillReceiveProps({ match, currentItemId, onItemRouteChange }: ProjectPanelProps) {
+                 if (match.params.id !== currentItemId) {
+                     onItemRouteChange(match.params.id);
+                 }
+             }
+         }
+     )
 -);
++);

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list