summaryrefslogtreecommitdiff
path: root/app/client/modules/samplernn/samplernn.reducer.js
blob: 9ecd49277a259d743ecd35cb868c25c73b9f1cda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import types from '../../types'

const samplernnInitialState = {
  loading: false,
  error: null,
  folder: {},
  folders: [],
  datasets: [],
  results: [],
  input: {
    folder: {},
    files: [],
  },
  output: {
    folder: {},
    files: [],
  },
}

const samplernnReducer = (state = samplernnInitialState, 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.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:
      return state
  }
}

const samplernnSocket = (state, action) => {
  console.log(action)
  switch (action.key) {
    case 'list_directory':
      return state
    default:
      return state
  }
}

export default samplernnReducer