refs #13535 Merge branch '13535-tree-component' into 13610-projects-hierarchy
[arvados-workbench2.git] / src / index.tsx
index 0cb67f1d82771a985d0b0637078c7d8dbb62463d..173296817b317294d0fe75f8907c0468dd388835 100644 (file)
@@ -15,8 +15,26 @@ import { ConnectedRouter } from "react-router-redux";
 import ApiToken from "./components/api-token/api-token";
 import authActions from "./store/auth/auth-action";
 import { projectService } from "./services/services";
+import { TreeItem } from "./components/tree/tree";
+import { Project } from "./models/project";
 
+function buildProjectTree(tree: any[], level = 0): Array<TreeItem<Project>> {
+    const projects = tree.map((t, idx) => ({
+        id: `l${level}i${idx}${t[0]}`,
+        open: false,
+        active: false,
+        data: {
+            name: t[0],
+            icon: level === 0 ? <i className="fas fa-th"/> : <i className="fas fa-folder"/>,
+            createdAt: '2018-05-05',
+        },
+        items: t.length > 1 ? buildProjectTree(t[1], level + 1) : []
+    }));
+    return projects;
+}
 const history = createBrowserHistory();
+const projects = buildProjectTree(sampleProjects);
+
 const store = configureStore({
     projects: [
     ],
@@ -31,6 +49,7 @@ const store = configureStore({
 store.dispatch(authActions.INIT());
 store.dispatch<any>(projectService.getProjectList());
 
+
 const App = () =>
     <Provider store={store}>
         <ConnectedRouter history={history}>