summaryrefslogtreecommitdiff
path: root/app/client/modules/samplernn/samplernn.reducer.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-05 21:03:31 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-05 21:03:31 +0200
commit746c9f9399487ece15c369c4dd9e3388d415c22c (patch)
tree42341d940f3650ea77c85daabc24a15a44769d2b /app/client/modules/samplernn/samplernn.reducer.js
parent3b386480bfc8d0b2cc232fec62225d4b4c778c6b (diff)
separate dataset stuff from samplernn stuff
Diffstat (limited to 'app/client/modules/samplernn/samplernn.reducer.js')
-rw-r--r--app/client/modules/samplernn/samplernn.reducer.js191
1 files changed, 6 insertions, 185 deletions
diff --git a/app/client/modules/samplernn/samplernn.reducer.js b/app/client/modules/samplernn/samplernn.reducer.js
index c1dee82..1efbc90 100644
--- a/app/client/modules/samplernn/samplernn.reducer.js
+++ b/app/client/modules/samplernn/samplernn.reducer.js
@@ -1,5 +1,7 @@
import types from '../../types'
+import datasetReducer from '../../dataset/dataset.reducer'
+
const samplernnInitialState = {
loading: true,
progress: { i: 0, n: 0 },
@@ -11,192 +13,11 @@ const samplernnInitialState = {
}
const samplernnReducer = (state = samplernnInitialState, action) => {
- // console.log(action.type)
- switch(action.type) {
- case types.samplernn.init:
- return {
- ...state,
- loading: false,
- data: action.data,
- }
-
- case types.folder.create:
- if (action.data.module === 'samplernn') {
- return {
- ...state,
- loading: false,
- data: {
- folders: state.data.folders.concat([action.data.id]),
- folderLookup: {
- ...state.data.folderLookup,
- [action.data.id]: action.data,
- }
- },
- folder: {
- ...action.data,
- datasets: [],
- files: [],
- },
- }
- }
- return state
-
- case types.file.create:
- if (action.data.module === 'samplernn') {
- console.log(action.data)
- let dataset, old_dataset, folder, old_folder
- let dataset_name
- if (action.data.dataset) {
- dataset_name = action.data.dataset
- }
- else if (action.data.name) {
- dataset_name = action.data.name.split('.')[0]
- }
- else if (action.data.url) {
- dataset_name = action.data.url
- }
- else {
- dataset_name = null
- }
- 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,
- 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,
- datasets: old_folder.datasets.concat([dataset_name]),
- 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') {
- let old_dataset;
- let new_dataset = state.data.datasetLookup[action.data.dataset]
- let old_file = state.data.fileLookup[action.data.id]
- let new_dataset_update;
- if (old_file && action.data.dataset !== old_file.dataset) {
- if (state.data.datasetLookup[old_file.dataset]) {
- old_dataset = state.data.datasetLookup[old_file.dataset]
- old_dataset_update = {
- ...old_dataset,
- input: old_dataset.input.filter(id => id !== action.data.id),
- output: old_dataset.output.filter(id => id !== action.data.id),
- }
- }
- new_dataset_update = {
- ...new_dataset,
- input: action.data.generated ? [] : [action.data.id],
- output: !action.data.generated ? [] : [action.data.id],
- }
- }
- console.log('old_dataset', old_dataset_update.name)
- console.log('new_dataset', new_dataset_update.name)
- return {
- ...state,
- loading: false,
- data: {
- ...state.data,
- datasetLookup: old_dataset ? {
- ...state.data.datasetLookup,
- [old_dataset.name]: old_dataset_update,
- [new_dataset.name]: new_dataset_update,
- } : new_dataset_update ? {
- ...state.data.datasetLookup,
- [new_dataset.name]: new_dataset_update,
- } : state.data.datasetLookup,
- fileLookup: {
- ...state.data.fileLookup,
- [action.data.id]: action.data,
- },
- }
- }
- }
- return state
-
- case types.file.destroy:
- if (action.data.module === 'samplernn') {
- // delete the key from fileLookup
- let fileLookup = {
- ...state.data.fileLookup
- }
- let datasetLookup = {
- ...state.data.datasetLookup
- }
- let folderLookup = {
- ...state.data.folderLookup
- }
- let old_file = fileLookup[action.data.id]
- if (!old_file) return state
- let old_dataset = state.data.datasetLookup[old_file.dataset]
- let dataset
- if (old_dataset) {
- dataset = {
- ...old_dataset,
- input: old_dataset.input.filter(id => id !== old_file.id),
- output: old_dataset.output.filter(id => id !== old_file.id),
- }
- if (! dataset.input.length && ! dataset.checkpoints.length && ! dataset.output.length) {
- delete datasetLookup[old_file.dataset]
- let old_folder = folderLookup[old_file.folder_id]
- folderLookup[old_file.folder_id] = {
- ...old_folder,
- datasets: old_folder.datasets.filter(name => name !== old_file.dataset)
- }
- } else {
- console.log('dataset just needs sweeping')
- datasetLookup[old_file.dataset ] = dataset
- }
- }
- delete fileLookup[old_file.id]
+ if (action.data && action.data.module === 'samplernn') {
+ return datasetReducer(state, action)
+ }
- return {
- ...state,
- loading: false,
- data: {
- ...state.data,
- folderLookup,
- fileLookup,
- datasetLookup,
- }
- }
- }
- return state
+ switch(action.type) {
case types.samplernn.set_folder:
return {