From fe399143527972050534b3262c94dfbf291ddb41 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 31 May 2018 22:59:56 +0200 Subject: split out datasets folder --- app/client/dataset/dataset.reducer.js | 136 ++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 app/client/dataset/dataset.reducer.js (limited to 'app/client/dataset/dataset.reducer.js') diff --git a/app/client/dataset/dataset.reducer.js b/app/client/dataset/dataset.reducer.js new file mode 100644 index 0000000..c7a2e26 --- /dev/null +++ b/app/client/dataset/dataset.reducer.js @@ -0,0 +1,136 @@ +import types from '../types' + +const datasetInitialState = { + loading: false, + error: null, + status: '', +} + +const datasetReducer = (state = datasetInitialState, action) => { + console.log(action) + switch(action.type) { + case types.socket.connect: + return { + ...state, + } + case types.task.task_begin: + return { + ...state, + } + case types.task.task_finish: + 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.folder.upload_loading: + return { + ...state, + upload: { + loading: true, + status: 'Loading...', + }, + } + case types.folder.upload_error: + return { + ...state, + upload: { + loading: false, + status: 'Error uploading :(', + }, + } + case types.folder.upload_progress: + console.log(action) + return { + ...state, + upload: { + loading: true, + status: 'Upload progress ' + action.percent + '%', + }, + } + case types.folder.upload_waiting: + console.log(action) + return { + ...state, + upload: { + loading: true, + status: 'Waiting for server to finish processing...', + }, + } + case types.file.create_loading: + return { + ...state, + upload: { + loading: true, + status: 'Creating file...' + } + } + case types.file.create: + console.log('booo') + if (state.folder.id === action.data.folder_id) { + return { + ...state, + files: [action.data].concat(state.files), + upload: { + loading: false, + status: 'File created', + }, + } + } else { + return { + ...state, + upload: { + loading: false, + status: 'created', + }, + } + } + case types.folder.upload_complete: + console.log(action) + if (state.folder.id === action.folder) { + return { + ...state, + files: [action.files].concat(state.files), + upload: { + loading: false, + status: 'Upload complete', + }, + } + } else { + return { + ...state, + upload: { + loading: false, + status: 'Upload complete', + }, + } + } + case types.socket.status: + return datasetSocket(state, action.data) + default: + return state + } +} + +const datasetSocket = (state, action) => { + console.log(action) + switch (action.key) { + default: + return state + } +} + +export default datasetReducer -- cgit v1.2.3-70-g09d2