X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/f2b031de2183439f8aade2f290cd0e3f95f6438c..4b961d16b8f8ef8afbd13697a79fe4684acd0416:/src/models/collection-file.ts diff --git a/src/models/collection-file.ts b/src/models/collection-file.ts index d74ada60..97afcac6 100644 --- a/src/models/collection-file.ts +++ b/src/models/collection-file.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { Tree, createTree, setNode } from './tree'; +import { Tree, createTree, setNode, TreeNodeStatus } from './tree'; +import { head, split, pipe, join } from 'lodash/fp'; export type CollectionFilesTree = Tree; @@ -59,7 +60,22 @@ export const createCollectionFilesTree = (data: Array setNode({ children: [], id: item.id, - parent: item.path, - value: item + parent: getParentId(item), + value: item, + active: false, + selected: false, + expanded: false, + status: TreeNodeStatus.INITIAL + })(tree), createTree()); -}; \ 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