summaryrefslogtreecommitdiff
path: root/app/client/modules/samplernn/views
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-07 15:27:30 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-07 15:27:30 +0200
commit209cfd09c16122e94acb1e28972a97a46c92a5c7 (patch)
tree8c38827c1683e0c454f0e1490a1100989670eadc /app/client/modules/samplernn/views
parenta52d02504c285910539f9a6ee8ef96d95577852e (diff)
folder list on new samplernn page
Diffstat (limited to 'app/client/modules/samplernn/views')
-rw-r--r--app/client/modules/samplernn/views/samplernn.new.js56
1 files changed, 50 insertions, 6 deletions
diff --git a/app/client/modules/samplernn/views/samplernn.new.js b/app/client/modules/samplernn/views/samplernn.new.js
index 5640afc..821c1d8 100644
--- a/app/client/modules/samplernn/views/samplernn.new.js
+++ b/app/client/modules/samplernn/views/samplernn.new.js
@@ -1,16 +1,60 @@
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, Param
+} from '../../../common'
+
import NewDatasetForm from '../../../dataset/dataset.new'
+import * as samplernnActions from '../samplernn.actions'
import samplernnModule from '../samplernn.module'
-export default function SampleRNNNew ({ history }) {
- return (
- <div class='app samplernn'>
- <NewDatasetForm module={samplernnModule} history={history} />
- </div>
- )
+class SampleRNNNew extends Component {
+ constructor(props){
+ super(props)
+ props.actions.load_directories()
+ }
+ render(){
+ const { samplernn, history } = this.props
+ console.log(samplernn)
+ let folders
+ if (samplernn.data) {
+ folders = samplernn.data.folders.map(folder => {
+ console.log(folder)
+ const datasetCount = folder.datasets ? folder.datasets.length : 0
+ const [ className, size ] = util.hush_null(datasetCount)
+ return (
+ <Param title={<Link to={'/samplernn/datasets/' + folder.id + '/'}>{folder.name}</Link>}>
+ <span className={className}>{datasetCount} dataset{util.courtesy_s(datasetCount)}</span>
+ </Param>
+ )
+ })
+ }
+ return (
+ <div class='app samplernn'>
+ <div class='col narrow'>
+ <NewDatasetForm module={samplernnModule} history={history} />
+ {folders && <div class='col folderList'>
+ <Group title='Projects'>
+ {folders}
+ </Group>
+ </div>}
+ </div>
+ </div>
+ )
+ }
}
+
+const mapStateToProps = state => ({
+ samplernn: state.module.samplernn,
+})
+
+const mapDispatchToProps = (dispatch, ownProps) => ({
+ actions: bindActionCreators(samplernnActions, dispatch),
+})
+
+export default connect(mapStateToProps, mapDispatchToProps)(SampleRNNNew)