summaryrefslogtreecommitdiff
path: root/app/client/modules/samplernn/samplernn.reducer.js
blob: 524d650efe40b07ed4d037c87813e68872f430e1 (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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import types from '../../types'

const samplernnInitialState = {
  loading: true,
  error: null,
  folders: [],
  folder: {},
  data: null,
  lossReport: null,
}

const samplernnReducer = (state = samplernnInitialState, action) => {
  switch(action.type) {
    case types.samplernn.init:
      return {
        ...state,
        loading: false,
        data: action.data,
      }

    case types.socket.connect:
      return {
        ...state,
      }

    case types.task.task_begin:
      return {
        ...state,
      }

    case types.task.task_finish:
      return {
        ...state,
      }

    case types.folder.create:
      if (action.data.module === 'samplernn') {
        return {
          ...state,
          loading: false,
          // folder: {
          //   ...action.data,
          //   input: [],
          //   checkpoints: [],
          //   output: [],
          // }
        }
      }
      return state

    case types.file.create:
      if (state.folder.id === action.data.folder_id) {
        return {
          ...state,
          loading: false,
          folder: {
            ...state.folder,
            input: [action.data].concat(state.folder.input),
          },
        }
      }
      return state

    case types.folder.upload_complete:
      if (state.folder.id === action.folder) {
        return {
          ...state,
          loading: false,
          folder: {
            ...state.folder,
            input: [action.data].concat(state.folder.input),
          },
        }
      }
      return state

    case types.socket.status:
      return samplernnSocket(state, action.data)

    case types.samplernn.set_folder:
      return {
        ...state,
        folder: action.folder,
      }

    case types.samplernn.load_loss:
      return {
        ...state,
        lossReport: action.lossReport,
      }

    default:
      return state
  }
}

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

export default samplernnReducer