Added data selector for workbench data explorer
[arvados-workbench2.git] / src / store / project / project-reducer.ts
index 4f7545fc979ea93b9fbe4fd6ee2f4e74559e6a87..2c74eb239d1774d20937c6b44745cf526a74f6c6 100644 (file)
@@ -22,8 +22,21 @@ export function findTreeItem<T>(tree: Array<TreeItem<T>>, itemId: string): TreeI
     return item;
 }
 
+export function getActiveTreeItem<T>(tree: Array<TreeItem<T>>): TreeItem<T> | undefined {
+    let item;
+    for (const t of tree) {
+        item = t.active
+            ? t
+            : getActiveTreeItem(t.items ? t.items : []);
+        if (item) {
+            break;
+        }
+    }
+    return item;
+}
+
 export function getTreePath<T>(tree: Array<TreeItem<T>>, itemId: string): Array<TreeItem<T>> {
-    for(const item of tree){
+    for (const item of tree){
         if(item.id === itemId){
             return [item];
         } else {