[ARVADOS-WORKBENCH2] updated: 1.2.0-629-g5093910

Git user git at public.curoverse.com
Thu Oct 11 16:06:20 EDT 2018


Summary of changes:
 Makefile                                           |  2 +-
 package.json                                       |  2 +-
 src/components/checkbox-field/checkbox-field.tsx   | 19 ++++++
 .../collection-service-files-response.ts           |  2 +-
 src/services/search-service/search-service.ts      | 23 +++++++-
 src/services/services.ts                           |  6 +-
 src/store/search-bar/search-bar-actions.ts         | 37 ++++++++++--
 src/store/search-bar/search-bar-reducer.ts         |  5 +-
 src/store/tree-picker/tree-picker-actions.ts       | 54 ++++++++++-------
 .../form-fields/search-bar-form-fields.tsx         | 26 +++------
 .../search-bar/search-bar-advanced-view.tsx        | 12 +++-
 .../search-bar/search-bar-autocomplete-view.tsx    |  2 +-
 .../search-bar/search-bar-basic-view.tsx           | 18 +++---
 .../search-bar/search-bar-view.test.tsx            |  5 +-
 .../search-bar/search-bar-view.tsx                 | 67 ++++++++++++----------
 src/views-components/search-bar/search-bar.tsx     | 26 ++++++---
 src/views/run-process-panel/inputs/file-input.tsx  |  4 +-
 src/views/workbench/workbench.tsx                  |  2 +-
 .../workflow-panel/workflow-description-card.tsx   | 13 ++++-
 19 files changed, 215 insertions(+), 110 deletions(-)
 create mode 100644 src/components/checkbox-field/checkbox-field.tsx

       via  50939103cce489919423adcf8292d2f960a180fb (commit)
       via  400481f862c9de54569daabf9de167601dc887bc (commit)
       via  533c057d79a87e7e48249d60fa5b45a9b4dd6823 (commit)
       via  32dcbe112366f6ce4037e87527aac5ea7865bee0 (commit)
       via  f22b32278ee550555b887910c19ada96ca60f826 (commit)
       via  3304c66ff9a14c9f33c97b57952721b375e692c0 (commit)
       via  bc311e9eb8d6b0e4850823d4a9acd29d6176d06b (commit)
       via  42dc0a41a2f46f5e19d3940d0eed5de0aef473bb (commit)
       via  3341bdb1fd82bc3302fd9321adcfb5d63e6e5aed (commit)
       via  bf566905797e0fc73029a21457590105838326af (commit)
       via  92b95f14a38a534f04d462d74792051ba6952638 (commit)
       via  13a00ada6b087c99235ce59a4247d57970e30f15 (commit)
       via  5fa0afb34e7204840850e696630c7b2c38a0f39d (commit)
       via  2820212ec0df02a85ae74ede8c52d3b5e936c6aa (commit)
       via  0cd5438961771ca3887c67c1ef70d814ea9d27f7 (commit)
       via  e5696ae072134453e8a0845a4cc58288e3b3163c (commit)
       via  0ee5928db8864a0f7af0c2727defdf800f1604cc (commit)
       via  449c296e7c60e97281f8b11f5ad193a66e1d02a8 (commit)
       via  b1df18d8e516820b507eb8856800a59035e736ba (commit)
       via  fc1ebe112503a685dbbf4acb86dca25d1073b82c (commit)
       via  7490d5bb41041882cbfd02a15f14ee174d56545d (commit)
      from  a76de01ade8b658f82118b1f8987ee43ffad2797 (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 50939103cce489919423adcf8292d2f960a180fb
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date:   Thu Oct 11 22:05:59 2018 +0200

    Handle portable data hashes in files
    
    Feature #13862
    
    Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>

diff --git a/src/services/collection-service/collection-service-files-response.ts b/src/services/collection-service/collection-service-files-response.ts
index a4b527a..1a4f990 100644
--- a/src/services/collection-service/collection-service-files-response.ts
+++ b/src/services/collection-service/collection-service-files-response.ts
@@ -26,7 +26,7 @@ export const sortFilesTree = (tree: Tree<CollectionDirectory | CollectionFile>)
 };
 
 export const extractFilesData = (document: Document) => {
-    const collectionUrlPrefix = /\/c=([0-9a-zA-Z\-]*)/;
+    const collectionUrlPrefix = /\/c=([^\/]*)/;
     return Array
         .from(document.getElementsByTagName('D:response'))
         .slice(1) // omit first element which is collection itself
diff --git a/src/store/tree-picker/tree-picker-actions.ts b/src/store/tree-picker/tree-picker-actions.ts
index 06f73c3..9ca6184 100644
--- a/src/store/tree-picker/tree-picker-actions.ts
+++ b/src/store/tree-picker/tree-picker-actions.ts
@@ -3,7 +3,7 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import { unionize, ofType, UnionOf } from "~/common/unionize";
-import { TreeNode, initTreeNode, getNodeDescendants, getNodeDescendantsIds, getNodeValue, TreeNodeStatus } from '~/models/tree';
+import { TreeNode, initTreeNode, getNodeDescendants, getNodeDescendantsIds, getNodeValue, TreeNodeStatus, getNode } from '~/models/tree';
 import { Dispatch } from 'redux';
 import { RootState } from '~/store/store';
 import { ServiceRepository } from '~/services/services';
@@ -12,6 +12,8 @@ import { pipe } from 'lodash/fp';
 import { ResourceKind } from '~/models/resource';
 import { GroupContentsResource } from '../../services/groups-service/groups-service';
 import { CollectionDirectory, CollectionFile } from '../../models/collection-file';
+import { getTreePicker } from './tree-picker';
+import { ProjectsTreePickerItem } from '~/views-components/projects-tree-picker/generic-projects-tree-picker';
 
 export const treePickerActions = unionize({
     LOAD_TREE_PICKER_NODE: ofType<{ id: string, pickerId: string }>(),
@@ -31,13 +33,13 @@ export const getProjectsTreePickerIds = (pickerId: string) => ({
     shared: `${pickerId}_shared`,
     favorites: `${pickerId}_favorites`,
 });
-export const initProjectsTreePicker = (pickerId: string) => 
-async (dispatch: Dispatch, _: () => RootState, services: ServiceRepository) => {
-    const {home, shared, favorites} = getProjectsTreePickerIds(pickerId);
-    dispatch<any>(initUserProject(home));
-    dispatch<any>(initSharedProject(shared));
-    dispatch<any>(initFavoritesProject(favorites));
-};
+export const initProjectsTreePicker = (pickerId: string) =>
+    async (dispatch: Dispatch, _: () => RootState, services: ServiceRepository) => {
+        const { home, shared, favorites } = getProjectsTreePickerIds(pickerId);
+        dispatch<any>(initUserProject(home));
+        dispatch<any>(initSharedProject(shared));
+        dispatch<any>(initFavoritesProject(favorites));
+    };
 
 interface ReceiveTreePickerDataParams<T> {
     data: T[];
@@ -95,22 +97,30 @@ export const loadProject = (params: LoadProjectParams) =>
     };
 
 export const loadCollection = (id: string, pickerId: string) =>
-    async (dispatch: Dispatch, _: () => RootState, services: ServiceRepository) => {
+    async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
         dispatch(treePickerActions.LOAD_TREE_PICKER_NODE({ id, pickerId }));
 
-        const files = await services.collectionService.files(id);
-        const data = getNodeDescendants('')(files).map(node => node.value);
-
-        dispatch<any>(receiveTreePickerData<CollectionDirectory | CollectionFile>({
-            id,
-            pickerId,
-            data,
-            extractNodeData: value => ({
-                id: value.id,
-                status: TreeNodeStatus.LOADED,
-                value,
-            }),
-        }));
+        const picker = getTreePicker<ProjectsTreePickerItem>(pickerId)(getState().treePicker);
+        if (picker) {
+
+            const node = getNode(id)(picker);
+            if (node && 'kind' in node.value && node.value.kind === ResourceKind.COLLECTION) {
+
+                const files = await services.collectionService.files(node.value.portableDataHash);
+                const data = getNodeDescendants('')(files).map(node => node.value);
+
+                dispatch<any>(receiveTreePickerData<CollectionDirectory | CollectionFile>({
+                    id,
+                    pickerId,
+                    data,
+                    extractNodeData: value => ({
+                        id: value.id,
+                        status: TreeNodeStatus.LOADED,
+                        value,
+                    }),
+                }));
+            }
+        }
     };
 
 
diff --git a/src/views/run-process-panel/inputs/file-input.tsx b/src/views/run-process-panel/inputs/file-input.tsx
index 140a9d0..468a9c8 100644
--- a/src/views/run-process-panel/inputs/file-input.tsx
+++ b/src/views/run-process-panel/inputs/file-input.tsx
@@ -29,10 +29,10 @@ export const FileInput = ({ input }: FileInputProps) =>
         name={input.id}
         commandInput={input}
         component={FileInputComponent}
-        format={(value?: File) => value ? value.location : ''}
+        format={(value?: File) => value ? value.basename : ''}
         parse={(file: CollectionFile): File => ({
             class: CWLType.FILE,
-            location: `keep:${getFileFullPath(file)}`,
+            location: `keep:${file.id}`,
             basename: file.name,
         })}
         validate={[

commit 400481f862c9de54569daabf9de167601dc887bc
Merge: a76de01 533c057
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date:   Thu Oct 11 21:06:59 2018 +0200

    Merge branch 'master' of git.curoverse.com:arvados-workbench2 into 13862-get-current-projects-picker-selection
    
    refs #2
    13862
    
    Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>


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


hooks/post-receive
-- 




More information about the arvados-commits mailing list