summaryrefslogtreecommitdiff
path: root/app/client/modules
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-03 16:34:09 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-03 16:34:09 +0200
commit3fbc033e37476ff03fc4ad93145976faeea47934 (patch)
treed6472eadb3abad48711730ce8b5cc816c61c6769 /app/client/modules
parent70551b5c0d32effb316a75d6bbe3c6807f8b4d05 (diff)
reload the whole page. easier
Diffstat (limited to 'app/client/modules')
-rw-r--r--app/client/modules/samplernn/index.js1
-rw-r--r--app/client/modules/samplernn/samplernn.actions.js2
-rw-r--r--app/client/modules/samplernn/samplernn.datasets.js32
-rw-r--r--app/client/modules/samplernn/samplernn.reducer.js33
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)