diff options
Diffstat (limited to 'app/client/modules/samplernn')
| -rw-r--r-- | app/client/modules/samplernn/index.js | 1 | ||||
| -rw-r--r-- | app/client/modules/samplernn/samplernn.actions.js | 2 | ||||
| -rw-r--r-- | app/client/modules/samplernn/samplernn.datasets.js | 32 | ||||
| -rw-r--r-- | app/client/modules/samplernn/samplernn.reducer.js | 33 |
4 files changed, 55 insertions, 13 deletions
diff --git a/app/client/modules/samplernn/index.js b/app/client/modules/samplernn/index.js index e1c41d5..e75a411 100644 --- a/app/client/modules/samplernn/index.js +++ b/app/client/modules/samplernn/index.js @@ -12,7 +12,6 @@ function router () { <Route exact path='/samplernn/inspect/' component={SampleRNNInspect} /> <Route exact path='/samplernn/datasets/' component={SampleRNNDatasets} /> <Route exact path='/samplernn/datasets/:id/' component={SampleRNNDatasets} /> - <Route exact path='/samplernn/datasets/new/' component={SampleRNNDatasets} /> <Route exact path='/samplernn/results/' component={SampleRNNResults} /> </div> ) diff --git a/app/client/modules/samplernn/samplernn.actions.js b/app/client/modules/samplernn/samplernn.actions.js index 25c9699..70a8a30 100644 --- a/app/client/modules/samplernn/samplernn.actions.js +++ b/app/client/modules/samplernn/samplernn.actions.js @@ -44,7 +44,6 @@ export const load_directories = (id) => (dispatch) => { folder.datasets.push(dataset) return dataset } - // take all of the folders and put them in a lookup const folderLookup = folders.reduce((folderLookup, folder) => { folderLookup[folder.id] = { id: folder.id, name: folder.name, folder, datasets: [] } @@ -133,6 +132,7 @@ export const load_directories = (id) => (dispatch) => { }) if (id) { let folder = id === 'unsorted' ? folderLookup.unsorted : folderLookup[id] + console.log(id) dispatch({ type: types.samplernn.set_folder, folder: folder, diff --git a/app/client/modules/samplernn/samplernn.datasets.js b/app/client/modules/samplernn/samplernn.datasets.js index dafed79..52d4ebd 100644 --- a/app/client/modules/samplernn/samplernn.datasets.js +++ b/app/client/modules/samplernn/samplernn.datasets.js @@ -6,6 +6,7 @@ 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' class SampleRNNDatasets extends Component { @@ -14,13 +15,14 @@ class SampleRNNDatasets extends Component { this.fileOptions = this.fileOptions.bind(this) this.pickFile = this.pickFile.bind(this) let id = props.match.params.id || localStorage.getItem('samplernn.last_id') - if (! id && props.location.pathname.match(/\/new\//)) { - id = 'new' - } else if (id) { + console.log('load dataset:', id) + if (id === 'new') return + if (id) { localStorage.setItem('samplernn.last_id', id) - } - if (id && (! props.samplernn.folder || props.samplernn.folder.id !== id)) { - props.actions.load_directories(id) + if (! props.samplernn.folder || props.samplernn.folder.id !== id) { + console.log('load directories') + props.actions.load_directories(id) + } } } pickFile(file){ @@ -50,16 +52,28 @@ class SampleRNNDatasets extends Component { ) } render(){ - const { samplernn } = this.props + const { samplernn, match, history } = this.props const folder = samplernn.folder - if (!folder || !folder.name) return + if (match.params.id === 'new') { + return <NewDatasetForm module={{name: 'samplernn', datatype: 'audio'}} history={history} /> + } + if (samplernn.loading) { + return <span>Loading</span> + } + if (!folder || !samplernn.data.folders.length) { + return history.push('/samplernn/datasets/new/') + } return ( <div className='app'> <div class='heading'> <h1>{folder.name}</h1> </div> {folder.name !== 'unsorted' && - <DatasetForm title='Add Files' folder={folder} canUpload canAddURL /> + <DatasetForm + title='Add Files' + folder={folder} + canUpload canAddURL + /> } {this.renderDataset()} </div> diff --git a/app/client/modules/samplernn/samplernn.reducer.js b/app/client/modules/samplernn/samplernn.reducer.js index 372b3bc..524d650 100644 --- a/app/client/modules/samplernn/samplernn.reducer.js +++ b/app/client/modules/samplernn/samplernn.reducer.js @@ -17,34 +17,63 @@ const samplernnReducer = (state = samplernnInitialState, action) => { loading: false, data: action.data, } + case types.socket.connect: return { ...state, } + case types.task.task_begin: return { ...state, } + case types.task.task_finish: return { ...state, } + + case types.folder.create: + if (action.data.module === 'samplernn') { + return { + ...state, + loading: false, + // folder: { + // ...action.data, + // input: [], + // checkpoints: [], + // output: [], + // } + } + } + return state + case types.file.create: if (state.folder.id === action.data.folder_id) { return { ...state, - files: [action.data].concat(state.files), + loading: false, + folder: { + ...state.folder, + input: [action.data].concat(state.folder.input), + }, } } return state + case types.folder.upload_complete: if (state.folder.id === action.folder) { return { ...state, - files: [action.files].concat(state.files), + loading: false, + folder: { + ...state.folder, + input: [action.data].concat(state.folder.input), + }, } } return state + case types.socket.status: return samplernnSocket(state, action.data) |
