import { h, Component } from 'preact' import { bindActionCreators } from 'redux' import { connect } from 'react-redux' import util from '../../../util' 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 DatasetComponent from '../../../dataset/dataset.component' const samplernnModule = { name: 'samplernn', datatype: 'audio', } class SampleRNNImport extends Component { constructor(){ super() this.state = { folder: 1, import_action: 'Hotlink', url_base: 'https://s3.amazonaws.com/i.asdf.us/bucky/data/4279/', selected: {}, } } componentWillMount(){ const id = this.props.match.params.id || localStorage.getItem('samplernn.last_id') console.log('load dataset:', id) const { match, samplernn, samplernnActions } = this.props if (id === 'new') return if (id) { if (parseInt(id)) localStorage.setItem('samplernn.last_id', id) if (! samplernn.folder || samplernn.folder.id !== id) { this.props.actions.load_directories(id) } } } render(){ const { samplernn } = this.props let datasets = [], folder; if (this.props.samplernn.data) { datasets = (this.props.samplernn.data.folders || []).map(folder => { return [folder.name, folder.id] }) folder = this.props.samplernn.data.folderLookup.unsorted } return (

Import

Import to dataset

this.setState({ import_action: value })} /> this.setState({ url_base: value })} />
this.toggle(dataset.name, this.state.selected[name]))} beforeRow={dataset => this.beforeRow(dataset)} afterRow={dataset => this.afterRow(dataset)} />
) } toggle(name){ this.setState({ ...this.state, selected: { ...this.state.selected, [name]: !this.state.selected[name], } }) } beforeRow(dataset){ // console.log(dataset) } afterRow(dataset){ const name = dataset.name return (
) } doImport(){ const { samplernn } = this.props console.log(this.state) this.props.actions.import_files(this.state, samplernn.data.datasetLookup, samplernn.data.fileLookup) } } const mapStateToProps = state => ({ samplernn: state.module.samplernn, runner: state.system.runner, task: state.task, }) const mapDispatchToProps = (dispatch, ownProps) => ({ actions: bindActionCreators(samplernnActions, dispatch), }) export default connect(mapStateToProps, mapDispatchToProps)(SampleRNNImport)