diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-07 15:27:30 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-07 15:27:30 +0200 |
| commit | 209cfd09c16122e94acb1e28972a97a46c92a5c7 (patch) | |
| tree | 8c38827c1683e0c454f0e1490a1100989670eadc /app/client/modules/samplernn | |
| parent | a52d02504c285910539f9a6ee8ef96d95577852e (diff) | |
folder list on new samplernn page
Diffstat (limited to 'app/client/modules/samplernn')
| -rw-r--r-- | app/client/modules/samplernn/index.js | 12 | ||||
| -rw-r--r-- | app/client/modules/samplernn/views/samplernn.new.js | 56 |
2 files changed, 56 insertions, 12 deletions
diff --git a/app/client/modules/samplernn/index.js b/app/client/modules/samplernn/index.js index 485a9a4..98195df 100644 --- a/app/client/modules/samplernn/index.js +++ b/app/client/modules/samplernn/index.js @@ -12,12 +12,12 @@ function router () { document.body.style.backgroundImage = 'linear-gradient(' + (util.randint(40)+40) + 'deg, #eef, #fef)' return ( <section> - <Route exact path='/samplernn/new/' component={SampleRNNNew} /> - <Route exact path='/samplernn/datasets/' component={SampleRNNShow} /> - <Route exact path='/samplernn/datasets/:id/' component={SampleRNNShow} /> - <Route exact path='/samplernn/import/' component={SampleRNNImport} /> - <Route exact path='/samplernn/results/' component={SampleRNNResults} /> - <Route exact path='/samplernn/graph/' component={SampleRNNGraph} /> + <Route exact path='/samplernn/new' component={SampleRNNNew} /> + <Route exact path='/samplernn/datasets' component={SampleRNNShow} /> + <Route exact path='/samplernn/datasets/:id' component={SampleRNNShow} /> + <Route exact path='/samplernn/import' component={SampleRNNImport} /> + <Route exact path='/samplernn/results' component={SampleRNNResults} /> + <Route exact path='/samplernn/graph' component={SampleRNNGraph} /> </section> ) } 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) |
