diff options
Diffstat (limited to 'app/client/modules')
| -rw-r--r-- | app/client/modules/samplernn/samplernn.actions.js | 40 | ||||
| -rw-r--r-- | app/client/modules/samplernn/samplernn.datasets.js | 27 | ||||
| -rw-r--r-- | app/client/modules/samplernn/samplernn.reducer.js | 48 |
3 files changed, 91 insertions, 24 deletions
diff --git a/app/client/modules/samplernn/samplernn.actions.js b/app/client/modules/samplernn/samplernn.actions.js index aa9603b..3386247 100644 --- a/app/client/modules/samplernn/samplernn.actions.js +++ b/app/client/modules/samplernn/samplernn.actions.js @@ -1,2 +1,42 @@ import socket from '../../socket' import types from '../../types' + +import actions from '../../actions' + +// bindActionCreators(actions.folder, dispatch), +// bindActionCreators(actions.file, dispatch), +// bindActionCreators(taskActions, dispatch), +// bindActionCreators(systemActions, dispatch), + +export const load_directories = () => (dispatch) => { + // load datasets + // load directories from server + console.log(actions) + actions.folder.index({ module: 'samplernn' }) + .then(folders => { + console.log('got folders') + }) + actions.file.index({ module: 'samplernn' }) + .then(files => { + console.log('got files') + }) + actions.socket.list_directory({ module: 'samplernn', dir: 'results' }) + .then(dirs => { + console.log('got results') + }) + actions.socket.list_directory({ module: 'samplernn', dir: 'datasets' }) + .then(dirs => { + console.log('got datasets') + }) +} + +export const fetch_url = (url) => (dispatch) => { + console.log(url) + actions.task.start_task({ + activity: 'fetch', + module: 'samplernn', + dataset: 'test', + epochs: 1, + opt: { url } + }, { preempt: true, watch: true }) +} diff --git a/app/client/modules/samplernn/samplernn.datasets.js b/app/client/modules/samplernn/samplernn.datasets.js index 5f15dbc..960c976 100644 --- a/app/client/modules/samplernn/samplernn.datasets.js +++ b/app/client/modules/samplernn/samplernn.datasets.js @@ -2,9 +2,7 @@ import { h, Component } from 'preact' import { bindActionCreators } from 'redux' import { connect } from 'react-redux' -import { actions, parser } from '../../api' -import * as taskActions from '../../task/task.actions' -import * as systemActions from '../../system/system.actions' +import * as samplernnActions from './samplernn.actions' import Dataset from '../../dataset/dataset.component' @@ -18,17 +16,15 @@ import TextInput from '../../common/textInput.component' class SampleRNNDatasets extends Component { constructor(props){ super() - // fetch file list this.fileOptions = this.fileOptions.bind(this) this.pickFile = this.pickFile.bind(this) - props.actions.folder.index({ module: 'samplernn' }) - props.actions.file.index({ module: 'samplernn' }) + props.actions.load_directories() } pickFile(file){ console.log('pick', file) } fileOptions(file){ - console.log(file) + // console.log(file) if (file.activity === 'url' && !file.dataset) { if (this.props.runner.cpu.status !== 'IDLE') { return ( @@ -52,18 +48,10 @@ class SampleRNNDatasets extends Component { ) } 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 }) } render(){ const { samplernn } = this.props - console.log(samplernn.upload) + // console.log(samplernn.upload) // sort files?? const module = { name: 'samplernn', @@ -98,12 +86,7 @@ const mapStateToProps = state => ({ }) const mapDispatchToProps = (dispatch, ownProps) => ({ - actions: { - folder: bindActionCreators(actions.folder, dispatch), - file: bindActionCreators(actions.file, dispatch), - task: bindActionCreators(taskActions, dispatch), - system: bindActionCreators(systemActions, dispatch), - } + actions: bindActionCreators(samplernnActions, dispatch), }) export default connect(mapStateToProps, mapDispatchToProps)(SampleRNNDatasets) diff --git a/app/client/modules/samplernn/samplernn.reducer.js b/app/client/modules/samplernn/samplernn.reducer.js index b3b58c3..9ecd492 100644 --- a/app/client/modules/samplernn/samplernn.reducer.js +++ b/app/client/modules/samplernn/samplernn.reducer.js @@ -3,6 +3,7 @@ import types from '../../types' const samplernnInitialState = { loading: false, error: null, + folder: {}, folders: [], datasets: [], results: [], @@ -17,8 +18,11 @@ const samplernnInitialState = { } const samplernnReducer = (state = samplernnInitialState, action) => { - console.log(action) switch(action.type) { + case types.socket.connect: + return { + ...state, + } case types.task.task_begin: return { ...state, @@ -27,7 +31,45 @@ const samplernnReducer = (state = samplernnInitialState, action) => { return { ...state, } + case types.folder.index: + return { + ...state, + folders: action.data, + folder: action.data[0], + } + case types.folder.update: + return state + + case types.file.index: + return { + ...state, + files: action.data + } + case types.file.create: + if (state.folder.id === action.data.folder_id) { + return { + ...state, + files: [action.data].concat(state.files), + } + } + return state + + case types.folder.upload_complete: + if (state.folder.id === action.folder) { + return { + ...state, + files: [action.files].concat(state.files), + } + } + return state + + case types.system.list_directory: + console.log('list directory', action.data) + return { + ...state, + } + case types.socket.status: return samplernnSocket(state, action.data) default: @@ -38,7 +80,9 @@ const samplernnReducer = (state = samplernnInitialState, action) => { const samplernnSocket = (state, action) => { console.log(action) switch (action.key) { - default: + case 'list_directory': + return state + default: return state } } |
