diff options
Diffstat (limited to 'animism-align/frontend/site')
| -rw-r--r-- | animism-align/frontend/site/actions.js | 11 | ||||
| -rw-r--r-- | animism-align/frontend/site/app.js | 31 | ||||
| -rw-r--r-- | animism-align/frontend/site/index.js | 4 | ||||
| -rw-r--r-- | animism-align/frontend/site/site/site.reducer.js | 12 | ||||
| -rw-r--r-- | animism-align/frontend/site/store.js | 31 |
5 files changed, 60 insertions, 29 deletions
diff --git a/animism-align/frontend/site/actions.js b/animism-align/frontend/site/actions.js index f11ce13..2642469 100644 --- a/animism-align/frontend/site/actions.js +++ b/animism-align/frontend/site/actions.js @@ -1,8 +1,10 @@ import { bindActionCreators } from 'redux' // import { actions as crudActions } from './api' -import * as audioActions from 'app/views/audio.actions' -import * as viewerActions from 'app/views/viewer.actions' +import * as siteActions from 'site/site/site.actions' +import * as audioActions from 'app/views/audio/audio.actions' +import * as viewerActions from 'app/views/viewer/viewer.actions' +import * as transcriptActions from 'app/views/paragraph/transcript.actions' import { store } from './store' @@ -11,12 +13,13 @@ export default // .map(a => [a, crudActions[a]]) // .concat( [ - // ['site', siteActions], + ['site', siteActions], ['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,{})
\ No newline at end of file + .reduce((a,b) => (a[b[0]] = b[1])&&a,{}) diff --git a/animism-align/frontend/site/app.js b/animism-align/frontend/site/app.js index 4f8a6cf..8509954 100644 --- a/animism-align/frontend/site/app.js +++ b/animism-align/frontend/site/app.js @@ -3,31 +3,26 @@ import { ConnectedRouter } from 'connected-react-router' import { Route } from 'react-router' // import ViewerContainer from './viewer/viewer.container' +import Viewer from 'app/views/viewer/viewer.container' import actions from './actions' export default class App extends Component { componentDidMount() { - const path_partz = window.location.pathname.split('/') - const graph_name = path_partz[1] - let path_name = null - if (path_partz.length > 2) { - path_name = path_partz[2] - } - // console.log('loading', graph_name, path_name) - actions.site.loadSite(graph_name, path_name) + actions.site.loadProject() } render() { - return ( - <ConnectedRouter history={this.props.history}> - <div className='app'> - <Route exact key='root' path='/' render={() => { - // setTimeout(() => this.props.history.push('/'), 10) - return null - }} /> - </div> - </ConnectedRouter> - ) + return <Viewer /> + // return ( + // <ConnectedRouter history={this.props.history}> + // <div className='app'> + // <Route exact key='root' path='/' render={() => { + // // setTimeout(() => this.props.history.push('/'), 10) + // return null + // }} /> + // </div> + // </ConnectedRouter> + // ) } } /* diff --git a/animism-align/frontend/site/index.js b/animism-align/frontend/site/index.js index 448d38d..7d47bd0 100644 --- a/animism-align/frontend/site/index.js +++ b/animism-align/frontend/site/index.js @@ -7,7 +7,7 @@ import '../app/common/form.css' import { store } from './store' -import Viewer from 'app/views/viewer/viewer.container' +import App from './app' const container = document.createElement('div') container.classList.add('container') @@ -15,6 +15,6 @@ document.body.appendChild(container) ReactDOM.render( <Provider store={store}> - <Viewer /> + <App /> </Provider>, container ) diff --git a/animism-align/frontend/site/site/site.reducer.js b/animism-align/frontend/site/site/site.reducer.js new file mode 100644 index 0000000..ea10886 --- /dev/null +++ b/animism-align/frontend/site/site/site.reducer.js @@ -0,0 +1,12 @@ +// import * as types from 'app/types' + +const initialState = { +} + +export default function siteReducer(state = initialState, action) { + console.log(action.type, action) + switch (action.type) { + default: + return state + } +} diff --git a/animism-align/frontend/site/store.js b/animism-align/frontend/site/store.js index 0b4aff7..2d9ffbc 100644 --- a/animism-align/frontend/site/store.js +++ b/animism-align/frontend/site/store.js @@ -1,25 +1,46 @@ -import { crudReducer } from 'app/api/crud.reducer' +import { crudState, crudReducer } from 'app/api/crud.reducer' import { applyMiddleware, compose, combineReducers, createStore } from 'redux' import { connectRouter, routerMiddleware } from 'connected-react-router' import { createBrowserHistory } from 'history' import thunk from 'redux-thunk' -// import siteReducer from './site/site.reducer' +import audioReducer from 'app/views/audio/audio.reducer' +import alignReducer from 'app/views/align/align.reducer' +import viewerReducer from 'app/views/viewer/viewer.reducer' +import paragraphReducer from 'app/views/paragraph/paragraph.reducer' +import siteReducer from 'site/site/site.reducer' + +// document.querySelector("#plain_content").remove() +const siteData = JSON.parse(document.querySelector("#site_data").innerText) const createRootReducer = history => ( combineReducers([ "media", - "upload", "annotation", "paragraph", "episode", "venue", ].reduce((a, type) => { - a[type] = crudReducer(type) + a[type] = (() => { + const initialState = { + ...crudState(), + index: siteData[type], + } + if (type === 'paragraph') { + return (state=initialState, action) => paragraphReducer(state, action) + } else { + const typeReducer = crudReducer(type) + return (state=initialState, action) => typeReducer(state, action) + } + })() return a }, { - auth: (state = {}) => state, + // auth: (state = {}) => state, router: connectRouter(history), + site: siteReducer, + audio: audioReducer, + align: alignReducer, + viewer: viewerReducer, })) ) |
