Add function for getting correct file tree item icon
authorMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Tue, 31 Jul 2018 12:35:36 +0000 (14:35 +0200)
committerMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Tue, 31 Jul 2018 12:35:36 +0000 (14:35 +0200)
Feature #13855

Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski@contractors.roche.com>

src/components/file-tree/file-tree-item.tsx

index 71e37f1f570cc0afc4341ea66af5efd801179bab..bbea4434354989a8243bfdc9db720897fc7930d0 100644 (file)
@@ -4,7 +4,7 @@
 
 import * as React from "react";
 import { TreeItem } from "../tree/tree";
-import { ProjectIcon, MoreOptionsIcon } from "../icon/icon";
+import { ProjectIcon, MoreOptionsIcon, DefaultIcon, CollectionIcon } from "../icon/icon";
 import { Typography, IconButton, StyleRulesCallback, withStyles, WithStyles } from "@material-ui/core";
 import { formatFileSize } from "../../common/formatters";
 import { ListItemTextIcon } from "../list-item-text-icon/list-item-text-icon";
@@ -40,7 +40,7 @@ export const FileTreeItem = withStyles(fileTreeItemStyle)(
             const { classes, item } = this.props;
             return <div className={classes.root}>
                 <ListItemTextIcon
-                    icon={ProjectIcon}
+                    icon={getIcon(item)}
                     name={item.data.name} />
                 <div className={classes.spacer} />
                 <Typography
@@ -59,3 +59,14 @@ export const FileTreeItem = withStyles(fileTreeItemStyle)(
         }
     });
 
+const getIcon = (item: TreeItem<FileTreeData>) => {
+    switch(item.data.type){
+        case 'directory':
+            return ProjectIcon;
+        case 'file':
+            return CollectionIcon;
+        default:
+            return DefaultIcon;
+    }
+};
+