diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-07 16:07:12 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-07 16:07:12 +0200 |
| commit | ddf2cc3f5dccc1b22275c3b39366e51036d7815f (patch) | |
| tree | 6d744f6618ec12ed9bec5588bde7e496e2614f0d /app/client/common/folderList.component.js | |
| parent | 209cfd09c16122e94acb1e28972a97a46c92a5c7 (diff) | |
folder list on new dataset page
Diffstat (limited to 'app/client/common/folderList.component.js')
| -rw-r--r-- | app/client/common/folderList.component.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/app/client/common/folderList.component.js b/app/client/common/folderList.component.js new file mode 100644 index 0000000..13ef398 --- /dev/null +++ b/app/client/common/folderList.component.js @@ -0,0 +1,44 @@ +import { h, Component } from 'preact' +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' +import { Link } from 'react-router-dom' +import util from '../util' + +import Group from './group.component' +import Param from './param.component' +import Loading from './loading.component' + +export default function FolderList ({ db, path, emptyText }) { + if (! db) return null + if (db.loading || !db.data) { + return ( + <div class='col folderList'> + <Loading progress={db.progress} /> + </div> + ) + } else if (! db.data.folders.length && emptyText) { + return ( + <div class='col folderList'> + {emptyText} + </div> + ) + } + console.log(db.data.folders) + const folders = db.data.folders.map(folder => { + const datasetCount = folder.datasets ? folder.datasets.length : 0 + const [ className, size ] = util.hush_null(datasetCount) + return ( + <Param title={<Link to={path + folder.id + '/'}>{folder.name}</Link>}> + <span className={className}>{datasetCount} dataset{util.courtesy_s(datasetCount)}</span> + </Param> + ) + }) + + return ( + <div class='col folderList'> + <Group title='Projects'> + {folders} + </Group> + </div> + ) +} |
