From cf75d24a208043c2702b9ef4c1a5967f446a40cb Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 5 Jun 2018 03:01:40 +0200 Subject: reducer --- app/client/api/crud.upload.js | 16 +++++++++++++--- app/client/dataset/dataset.reducer.js | 2 +- app/client/modules/samplernn/samplernn.reducer.js | 9 +++++---- 3 files changed, 19 insertions(+), 8 deletions(-) (limited to 'app/client') diff --git a/app/client/api/crud.upload.js b/app/client/api/crud.upload.js index 29216df..bee280e 100644 --- a/app/client/api/crud.upload.js +++ b/app/client/api/crud.upload.js @@ -49,8 +49,9 @@ export function crud_upload(type, fd, data, dispatch) { } function uploadComplete (e) { + let parsed; try { - const data = JSON.parse(e.target.responseText) + parsed = JSON.parse(e.target.responseText) } catch (e) { dispatch && dispatch({ type: as_type(type, 'upload_error'), @@ -62,10 +63,19 @@ export function crud_upload(type, fd, data, dispatch) { } dispatch && dispatch({ type: as_type(type, 'upload_complete'), - data, + data: parsed, [type]: id, }) - resolve(data) + if (parsed.files.length) { + parsed.files.forEach(file => { + console.log(file) + dispatch && dispatch({ + type: as_type('file', 'create'), + data: file, + }) + }) + } + resolve(parsed) } function uploadFailed (evt) { diff --git a/app/client/dataset/dataset.reducer.js b/app/client/dataset/dataset.reducer.js index 40480d7..1b7f0b9 100644 --- a/app/client/dataset/dataset.reducer.js +++ b/app/client/dataset/dataset.reducer.js @@ -35,7 +35,7 @@ const datasetReducer = (state = datasetInitialState, action) => { case types.folder.upload_complete: return { error: null, - loading: true, + loading: false, status: 'Upload complete', } case types.file.create_loading: diff --git a/app/client/modules/samplernn/samplernn.reducer.js b/app/client/modules/samplernn/samplernn.reducer.js index 4b4b93e..c271407 100644 --- a/app/client/modules/samplernn/samplernn.reducer.js +++ b/app/client/modules/samplernn/samplernn.reducer.js @@ -60,19 +60,19 @@ const samplernnReducer = (state = samplernnInitialState, action) => { return state case types.file.create: - case types.folder.upload_complete: if (action.data.module === 'samplernn') { console.log(action.data) 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] + if (dataset_name in state.data.datasetLookup) { + old_dataset = state.data.datasetLookup[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 { + console.log(action.data.created_at, action.data.date) dataset = { name: dataset_name, date: action.data.created_at || action.data.date, @@ -84,7 +84,8 @@ const samplernnReducer = (state = samplernnInitialState, action) => { old_folder = state.data.folderLookup[action.data.folder_id] folder = { ...old_folder, - files: old_folder.files.concat([action.data.id]) + datasets: old_folder.datasets.concat([dataset_name]), + files: old_folder.files.concat([action.data.id]), } return { ...state, -- cgit v1.2.3-70-g09d2