projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '16111-ssh-help' refs #16111
[arvados-workbench2.git]
/
src
/
models
/
collection-file.ts
diff --git
a/src/models/collection-file.ts
b/src/models/collection-file.ts
index 37e18cfc0d247905900d3fec4ac6160a8d3afe01..97afcac6ca70d4f5d7fc0f8f005e980b3597d7eb 100644
(file)
--- a/
src/models/collection-file.ts
+++ b/
src/models/collection-file.ts
@@
-3,6
+3,7
@@
// SPDX-License-Identifier: AGPL-3.0
import { Tree, createTree, setNode, TreeNodeStatus } from './tree';
// SPDX-License-Identifier: AGPL-3.0
import { Tree, createTree, setNode, TreeNodeStatus } from './tree';
+import { head, split, pipe, join } from 'lodash/fp';
export type CollectionFilesTree = Tree<CollectionDirectory | CollectionFile>;
export type CollectionFilesTree = Tree<CollectionDirectory | CollectionFile>;
@@
-59,7
+60,7
@@
export const createCollectionFilesTree = (data: Array<CollectionDirectory | Coll
.reduce((tree, item) => setNode({
children: [],
id: item.id,
.reduce((tree, item) => setNode({
children: [],
id: item.id,
- parent:
item.path
,
+ parent:
getParentId(item)
,
value: item,
active: false,
selected: false,
value: item,
active: false,
selected: false,
@@
-67,4
+68,14
@@
export const createCollectionFilesTree = (data: Array<CollectionDirectory | Coll
status: TreeNodeStatus.INITIAL
})(tree), createTree<CollectionDirectory | CollectionFile>());
status: TreeNodeStatus.INITIAL
})(tree), createTree<CollectionDirectory | CollectionFile>());
-};
\ No newline at end of file
+};
+
+const getParentId = (item: CollectionDirectory | CollectionFile) =>
+ item.path
+ ? join('', [getCollectionId(item.id), item.path])
+ : item.path;
+
+const getCollectionId = pipe(
+ split('/'),
+ head,
+);
\ No newline at end of file