summaryrefslogtreecommitdiff
path: root/app/client/modules/samplernn/samplernn.import.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/client/modules/samplernn/samplernn.import.js')
-rw-r--r--app/client/modules/samplernn/samplernn.import.js87
1 files changed, 66 insertions, 21 deletions
diff --git a/app/client/modules/samplernn/samplernn.import.js b/app/client/modules/samplernn/samplernn.import.js
index 62a210d..d335782 100644
--- a/app/client/modules/samplernn/samplernn.import.js
+++ b/app/client/modules/samplernn/samplernn.import.js
@@ -7,6 +7,7 @@ import * as samplernnActions from './samplernn.actions'
import Select from '../../common/select.component'
import TextInput from '../../common/textInput.component'
+import Button from '../../common/button.component'
import SampleRNNDatasets from './samplernn.datasets'
@@ -20,56 +21,100 @@ class SampleRNNImport extends Component {
super()
this.state = {
folder: 1,
- url_base: ''
+ import_action: 'Hotlink',
+ url_base: 'https://s3.amazonaws.com/i.asdf.us/bucky/data/4279/',
+ selected: {},
}
}
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>
</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 class='params form row datasets'>
+ <div class='row dataset'>
+ <div class='col'>
+ </div>
+ <div class='col'>
+ </div>
+ <div class='col'>
+ </div>
+ <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 })}
+ />
+ <Select
+ title='Import action'
+ options={['Hotlink', 'Upload']}
+ name='import_action'
+ opt={this.state}
+ onChange={(name, value) => this.setState({ import_action: value })}
+ />
+ <TextInput
+ title="Remote URL base"
+ value={this.state.url_base}
+ placeholder="http://"
+ onSave={(value) => this.setState({ url_base: value })}
+ />
+ <Button
+ title=""
+ onClick={() => this.doImport()}
+ >
+ Import
+ </Button>
+ </div>
</div>
</div>
<SampleRNNDatasets
id="unsorted"
history={this.props.history}
+ onPickDataset={(dataset => this.toggle(dataset.name, this.state.selected[name]))}
beforeRow={dataset => this.beforeRow(dataset)}
afterRow={dataset => this.afterRow(dataset)}
/>
</div>
)
}
+ toggle(name){
+ this.setState({
+ ...this.state,
+ selected: {
+ ...this.state.selected,
+ [name]: !this.state.selected[name],
+ }
+ })
+ }
beforeRow(dataset){
// console.log(dataset)
- return null
}
afterRow(dataset){
- return null
+ const name = dataset.name
+ return (
+ <div>
+ <input
+ type="checkbox"
+ value={name}
+ checked={!!this.state.selected[name]}
+ />
+ </div>
+ )
+ }
+ doImport(){
+ const { samplernn } = this.props
+ console.log(this.state)
+ this.props.actions.import_files(this.state, samplernn.data.datasetLookup)
}
}