import { h, Component } from 'preact' import { bindActionCreators } from 'redux' import { connect } from 'react-redux' import { actions } from '../../api' import * as taskActions from '../../task/task.actions' import * as systemActions from '../../system/system.actions' // folderActions.index({ module: 'samplernn' }) // folderActions.show(12) // folderActions.create({ module: 'samplernn', name: 'foo' }) // folderActions.update(12, { module: 'pix2pix' }) // folderActions.destroy(12, { confirm: true }) // folderActions.upload(12, form_data) import Group from '../../common/group.component' import Slider from '../../common/slider.component' import Select from '../../common/select.component' import Button from '../../common/button.component' import FileList from '../../common/fileList.component' import FileUpload from '../../common/fileUpload.component' import TextInput from '../../common/textInput.component' class SampleRNNDatasets extends Component { constructor(props){ super() // fetch file list this.handleName = this.handleName.bind(this) this.handleUpload = this.handleUpload.bind(this) this.handleURL = this.handleURL.bind(this) this.fetchURL = this.fetchURL.bind(this) this.fileOptions = this.fileOptions.bind(this) props.actions.folder.index({ module: 'samplernn' }) props.actions.file.index({ module: 'samplernn' }) } handleName(name) { const folder = this.props.samplernn.folder if (! folder.id) { this.props.actions.folder.create({ // username... should get added inside the API module: 'samplernn', activity: 'dataset', datatype: 'audio', name }) } else { this.props.actions.folder.update({ id: folder.id, module: 'samplernn', activity: 'dataset', datatype: 'audio', name }) } } handleUpload(file) { const folder = this.props.samplernn.folder this.props.actions.file.create({ folder_id: folder.id, module: 'samplernn', activity: 'url', epoch: 0, processed: false, generated: false, url }) } handleURL(url) { // name url // mime datatype // duration analysis // size activity // opt created_at updated_at const folder = this.props.samplernn.folder this.props.actions.file.create({ folder_id: folder.id, module: 'samplernn', activity: 'url', epoch: 0, processed: false, generated: false, url }) } fetchURL(url) { console.log(url) this.props.actions.task.start_task({ activity: 'fetch', module: 'samplernn', dataset: 'test', epochs: 1, opt: { url } }, { preempt: true, watch: true }) } fileOptions(file){ console.log(file) if (file.activity === 'url' && !file.dataset) { if (this.props.runner.cpu.status !== 'IDLE') { return (