summaryrefslogtreecommitdiff
path: root/app/client
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
parenta52d02504c285910539f9a6ee8ef96d95577852e (diff)
folder list on new samplernn page
Diffstat (limited to 'app/client')
-rw-r--r--app/client/modules/pix2pix/views/pix2pix.new.js40
-rw-r--r--app/client/modules/pix2wav/index.js2
-rw-r--r--app/client/modules/samplernn/index.js12
-rw-r--r--app/client/modules/samplernn/views/samplernn.new.js56
4 files changed, 91 insertions, 19 deletions
diff --git a/app/client/modules/pix2pix/views/pix2pix.new.js b/app/client/modules/pix2pix/views/pix2pix.new.js
index 203a606..f9f5db7 100644
--- a/app/client/modules/pix2pix/views/pix2pix.new.js
+++ b/app/client/modules/pix2pix/views/pix2pix.new.js
@@ -1,13 +1,41 @@
import { h, Component } from 'preact'
+import { bindActionCreators } from 'redux'
+import { connect } from 'react-redux'
import NewDatasetForm from '../../../dataset/dataset.new'
+import * as pix2pixActions from '../pix2pix.actions'
import pix2pixModule from '../pix2pix.module'
-export default function Pix2PixNew ({ history }) {
- return (
- <div class='app pix2pix'>
- <NewDatasetForm module={pix2pixModule} history={history} />
- </div>
- )
+class Pix2PixNew extends Component {
+ constructor(props){
+ super(props)
+ props.actions.load_directories()
+ }
+ render(){
+ const { pix2pix, history } = this.props
+ console.log(pix2pix)
+ let folders
+ if (pix2pix.data) {
+ pix2pix.data.folders.forEach(folder => {
+ console.log(folder)
+ })
+ }
+ return (
+ <div class='app pix2pix'>
+ <NewDatasetForm module={pix2pixModule} history={history} />
+ {folders}
+ </div>
+ )
+ }
}
+
+const mapStateToProps = state => ({
+ pix2pix: state.module.pix2pix,
+})
+
+const mapDispatchToProps = (dispatch, ownProps) => ({
+ actions: bindActionCreators(pix2pixActions, dispatch),
+})
+
+export default connect(mapStateToProps, mapDispatchToProps)(Pix2PixNew)
diff --git a/app/client/modules/pix2wav/index.js b/app/client/modules/pix2wav/index.js
index b73a5df..3a23395 100644
--- a/app/client/modules/pix2wav/index.js
+++ b/app/client/modules/pix2wav/index.js
@@ -4,7 +4,7 @@ import util from '../../util'
import Pix2WavNew from './views/pix2wav.new'
import Pix2WavShow from './views/pix2wav.show'
-// import Pix2WavLive from './views/pix2wav.live'
+import Pix2WavLive from './views/pix2wav.live'
function router () {
document.body.style.backgroundImage = 'linear-gradient(' + (util.randint(40)+40) + 'deg, #fde, #ffe)'
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)