diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-04 20:12:25 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-04 20:12:25 +0200 |
| commit | 9fa57ffa48ac558b482010c1e96bdb6e5967c1e5 (patch) | |
| tree | b464cd78ad37ce047cc818e864e4cfd1a619622b /app/client/modules | |
| parent | d3705a588e3a790868082dbf9590163b8016a94c (diff) | |
ref folder in main dir
Diffstat (limited to 'app/client/modules')
5 files changed, 70 insertions, 31 deletions
diff --git a/app/client/modules/samplernn/samplernn.actions.js b/app/client/modules/samplernn/samplernn.actions.js index 68b13a2..c87718d 100644 --- a/app/client/modules/samplernn/samplernn.actions.js +++ b/app/client/modules/samplernn/samplernn.actions.js @@ -172,11 +172,10 @@ export const load_directories = (id) => (dispatch) => { }, }) if (id) { - let folder = id === 'unsorted' ? folderLookup.unsorted : folderLookup[id] - console.log(id) + console.log('folder id', id) dispatch({ type: types.samplernn.set_folder, - folder: folder, + folder_id: id, }) } }).catch(e => { diff --git a/app/client/modules/samplernn/samplernn.datasets.js b/app/client/modules/samplernn/samplernn.datasets.js index ceb8f46..ef1753d 100644 --- a/app/client/modules/samplernn/samplernn.datasets.js +++ b/app/client/modules/samplernn/samplernn.datasets.js @@ -60,7 +60,7 @@ class SampleRNNDatasets extends Component { ) } render(){ - const { samplernn, match, history } = this.props + const { samplernn, folder, match, history } = this.props if (samplernn.loading) { return <Loading progress={samplernn.progress} /> } @@ -68,7 +68,6 @@ class SampleRNNDatasets extends Component { console.log('no folders, redirect to /new') return history.push('/samplernn/new/') } - const folder = samplernn.folder if (!folder || !folder.name) return return ( <div class='rows params datasets'> @@ -83,9 +82,8 @@ class SampleRNNDatasets extends Component { ) } renderGroups(){ - const { samplernn, runner, onPickDataset, onPickFile, datasetActions } = this.props + const { samplernn, folder, runner, onPickDataset, onPickFile, datasetActions } = this.props const { datasetLookup, fileLookup } = samplernn.data - const { folder } = samplernn const { mapFn, sortFn } = util.sort.orderByFn('date desc') const moduleOnGPU = runner.gpu.task.module === samplernnModule.name const datasets = folder.datasets.map(name => datasetLookup[name]).map(mapFn).sort(sortFn).map(pair => { diff --git a/app/client/modules/samplernn/samplernn.import.js b/app/client/modules/samplernn/samplernn.import.js index 2da5c0e..495ee53 100644 --- a/app/client/modules/samplernn/samplernn.import.js +++ b/app/client/modules/samplernn/samplernn.import.js @@ -27,11 +27,12 @@ class SampleRNNImport extends Component { } } render(){ - let datasets = []; + 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 ( <div className='app top'> @@ -79,6 +80,7 @@ class SampleRNNImport extends Component { </div> <SampleRNNDatasets id="unsorted" + folder={folder} history={this.props.history} onPickDataset={(dataset => this.toggle(dataset.name, this.state.selected[name]))} beforeRow={dataset => this.beforeRow(dataset)} diff --git a/app/client/modules/samplernn/samplernn.reducer.js b/app/client/modules/samplernn/samplernn.reducer.js index a41894f..90e052c 100644 --- a/app/client/modules/samplernn/samplernn.reducer.js +++ b/app/client/modules/samplernn/samplernn.reducer.js @@ -5,7 +5,7 @@ const samplernnInitialState = { progress: { i: 0, n: 0 }, error: null, folders: [], - folder: {}, + folder_id: 0, data: null, lossReport: null, } @@ -47,7 +47,7 @@ const samplernnReducer = (state = samplernnInitialState, action) => { folders: state.data.folders.concat([action.data.id]), folderLookup: { ...state.data.folderLookup, - [...action.data.id]: action.data, + [action.data.id]: action.data, } }, folder: { @@ -60,35 +60,72 @@ const samplernnReducer = (state = samplernnInitialState, action) => { return state case types.file.create: - if (state.folder.id === action.data.folder_id) { + if (action.data.module === 'samplernn') { console.log(action.data, state.folder) + // const dataset = { + // name, + // input: [], + // checkpoints: [], + // output: [], + // } + let dataset, old_dataset, folder, old_folder + const dataset_name = action.data.name.split('.')[0] + if (dataset_name in state.data.datasets) { + old_dataset = state.data.datasets[dataset_name] + dataset = { + ...old_dataset, + input: action.data.generated ? old_dataset.input : [action.data.id].concat(old_dataset.input), + output: !action.data.generated ? old_dataset.output : [action.data.id].concat(old_dataset.output), + } + } else { + dataset = { + name: dataset_name, + date: action.data.created_at || action.data.date, + input: action.data.generated ? [] : [action.data.id], + checkpoints: [], + output: !action.data.generated ? [] : [action.data.id], + } + } + old_folder = state.data.folderLookup[action.data.folder_id] + folder = { + ...old_folder, + files: old_folder.files.concat[action.data.id] + } return { ...state, loading: false, data: { + ...state.data, files: state.data.files.concat([action.data.id]), + folderLookup: { + ...state.data.folderLookup, + [action.data.folder_id]: folder, + }, + fileLookup: { + ...state.data.fileLookup, + [action.data.id]: action.data, + }, + datasetLookup: { + ...state.data.datasetLookup, + [dataset_name]: dataset, + }, + } + } + } + return state + + case types.file.update: + if (action.data.module === 'samplernn') { + return { + ...state, + loading: false, + data: { + ...state.data, fileLookup: { ...state.data.fileLookup, - [...action.data.id]: action.data, + [action.data.id]: action.data, } } - folder: { - ...state.folder, - files: [ - ...state.folder.files, - action.data, - ], - datasets: [ - ...state.folder.datasets, - { - name: action.data.name, - date: action.data.date, - input: [action.data].concat(state.folder.input), - output: [], - checkpoints: [], - } - ], - }, } } return state @@ -112,7 +149,7 @@ const samplernnReducer = (state = samplernnInitialState, action) => { case types.samplernn.set_folder: return { ...state, - folder: action.folder, + folder_id: action.folder_id, } case types.samplernn.load_loss: diff --git a/app/client/modules/samplernn/samplernn.show.js b/app/client/modules/samplernn/samplernn.show.js index cd1cd34..9c2495b 100644 --- a/app/client/modules/samplernn/samplernn.show.js +++ b/app/client/modules/samplernn/samplernn.show.js @@ -21,7 +21,9 @@ const samplernnModule = { class SampleRNNShow extends Component { render(){ const { samplernn, match, history } = this.props - const { folder } = samplernn || {} + const { folderLookup } = (samplernn.data || {}) + const folder = (folderLookup || {})[samplernn.folder_id] || {} + console.log(folder, samplernn.folder_id) return ( <div className='app'> <div class='heading'> @@ -37,6 +39,7 @@ class SampleRNNShow extends Component { } <SampleRNNDatasets id={this.props.match.params.id || localStorage.getItem('samplernn.last_id')} + folder={folder} onPickFile={(file, e) => { e.preventDefault() e.stopPropagation() |
