summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-03 21:05:52 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-03 21:05:52 +0200
commitc34ecb4aacb1d27913088ff2b4546f1504d8dd86 (patch)
tree79e96caf8e4aa7be440b8469b2172060b2f1d300 /app
parent02dc913860b162991db7fb0e2015a76570fbf33e (diff)
import form
Diffstat (limited to 'app')
-rw-r--r--app/client/common/select.component.js15
-rw-r--r--app/client/modules/pix2pix/live.component.js1
-rw-r--r--app/client/modules/samplernn/samplernn.datasets.js5
-rw-r--r--app/client/modules/samplernn/samplernn.import.js51
4 files changed, 53 insertions, 19 deletions
diff --git a/app/client/common/select.component.js b/app/client/common/select.component.js
index 90bc6dc..3147dc4 100644
--- a/app/client/common/select.component.js
+++ b/app/client/common/select.component.js
@@ -1,7 +1,6 @@
import { h, Component } from 'preact'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
-import * as liveActions from '../live/live.actions'
class Select extends Component {
constructor(props){
@@ -11,14 +10,17 @@ class Select extends Component {
handleChange(e){
clearTimeout(this.timeout)
let new_value = e.target.value
- this.props.actions.set_param(this.props.name, new_value)
- this.props.onChange && this.props.onChange(new_value)
+ this.props.onChange && this.props.onChange(this.props.name, new_value)
}
render() {
const value = this.props.opt[this.props.name]
const options = (this.props.options || []).map((key,i) => {
let name, value
- if (typeof key == 'string') {
+ if (typeof key === 'object' && key.length) {
+ [name, value] = key
+ console.log(name, value)
+ }
+ else if (typeof key === 'string') {
name = key.length < 4 ? key.toUpperCase() : key
value = key
} else {
@@ -53,12 +55,11 @@ function capitalize(s){
return (s || "").replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); });
}
-const mapStateToProps = state => ({
- opt: state.live.opt,
+const mapStateToProps = (state, props) => ({
+ opt: props.opt || state.live.opt,
})
const mapDispatchToProps = (dispatch, ownProps) => ({
- actions: bindActionCreators(liveActions, dispatch)
})
export default connect(mapStateToProps, mapDispatchToProps)(Select)
diff --git a/app/client/modules/pix2pix/live.component.js b/app/client/modules/pix2pix/live.component.js
index c1f2b51..9aef297 100644
--- a/app/client/modules/pix2pix/live.component.js
+++ b/app/client/modules/pix2pix/live.component.js
@@ -73,6 +73,7 @@ class LivePix2Pix extends Component {
name='send_image'
title='view mode'
options={['a','b','sequence','recursive']}
+ onChange={this.props.actions.set_param}
/>
<Select
name='sequence_name'
diff --git a/app/client/modules/samplernn/samplernn.datasets.js b/app/client/modules/samplernn/samplernn.datasets.js
index 11dcb6b..c4cebc7 100644
--- a/app/client/modules/samplernn/samplernn.datasets.js
+++ b/app/client/modules/samplernn/samplernn.datasets.js
@@ -66,17 +66,12 @@ class SampleRNNDatasets extends Component {
console.log('loading')
return <span>Loading</span>
}
- console.log(samplernn)
if (!samplernn.data.folders.length) {
console.log('no folders, redirect to /new')
return history.push('/samplernn/new/')
}
- console.log('render app')
const folder = samplernn.folder
- console.log(folder)
if (!folder || !folder.name) return
- console.log(folder.name)
-
return (
<div class='rows params datasets'>
<div class='row dataset'>
diff --git a/app/client/modules/samplernn/samplernn.import.js b/app/client/modules/samplernn/samplernn.import.js
index 6895e86..62a210d 100644
--- a/app/client/modules/samplernn/samplernn.import.js
+++ b/app/client/modules/samplernn/samplernn.import.js
@@ -5,9 +5,8 @@ import * as util from '../../util'
import * as samplernnActions from './samplernn.actions'
-import DatasetForm from '../../dataset/dataset.form'
-import NewDatasetForm from '../../dataset/dataset.new'
-import { FileList, FileRow } from '../../common/fileList.component'
+import Select from '../../common/select.component'
+import TextInput from '../../common/textInput.component'
import SampleRNNDatasets from './samplernn.datasets'
@@ -17,22 +16,60 @@ const samplernnModule = {
}
class SampleRNNImport extends Component {
+ constructor(){
+ super()
+ this.state = {
+ folder: 1,
+ url_base: ''
+ }
+ }
render(){
+ let datasets = [];
+ if (this.props.samplernn.data) {
+ datasets = (this.props.samplernn.data.folders || []).map(folder => {
+ console.log(folder.id, folder.name)
+ return [folder.name, folder.id]
+ })
+ console.log(datasets)
+ }
return (
<div className='app'>
<div class='heading'>
- <h1>import</h1>
+ <h1>Import</h1>
+ </div>
+ <div class='params form row'>
+ <div class='col'>
+ <h2>Import to dataset</h2>
+ <Select
+ title='Destination dataset'
+ options={datasets}
+ name='folder'
+ opt={this.state}
+ onChange={(name, value) => this.setState({ folder: value })}
+ />
+ <TextInput
+ title="URL base"
+ value={this.state.url_base}
+ placeholder="http://"
+ onSave={(value) => this.setState({ url_base: value })}
+ />
+ </div>
</div>
<SampleRNNDatasets
id="unsorted"
history={this.props.history}
- beforeRow={row => this.beforeRow(row)}
+ beforeRow={dataset => this.beforeRow(dataset)}
+ afterRow={dataset => this.afterRow(dataset)}
/>
</div>
)
}
- beforeRow(row){
- console.log(row)
+ beforeRow(dataset){
+ // console.log(dataset)
+ return null
+ }
+ afterRow(dataset){
+ return null
}
}