- 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,
+ }),
+ }));
+ }
+ }