summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/actions.js
blob: 270c9a766d0b72f8eec8f5f5a05f5715933a1594 (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
import { bindActionCreators } from 'redux'
import { crud_actions } from 'app/api/crud.actions'

import * as viewerActions from 'app/views/viewer/viewer.actions'
import * as transcriptActions from 'app/views/paragraph/transcript.actions'
import * as audioActions from 'app/views/audio/audio.actions'
import * as alignActions from 'app/views/align/align.actions'
import * as siteActions from 'app/views/site/site.actions'

import { store } from 'app/store'

const crudActions = [
  'paragraph',
  'annotation',
  'upload',
  'media',
].reduce((a,b) => (a[b] = crud_actions(b)) && a, {})

export default
    Object.keys(crudActions)
          .map(a => [a, crudActions[a]])
          .concat([
            ['site', siteActions],
            ['align', alignActions],
            ['audio', audioActions],
            ['viewer', viewerActions],
            ['transcript', transcriptActions],
          ])
          .map(p => [p[0], bindActionCreators(p[1], store.dispatch)])
          .concat([
            // ['socket', socketActions],
          ])
          .reduce((a,b) => (a[b[0]] = b[1])&&a,{})