-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathmain.coffee
46 lines (33 loc) · 1.08 KB
/
main.coffee
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
React = require('react')
ReactDOM = require('react-dom')
recorder = require('actions-recorder')
pathUtil = require('router-view/lib/path')
require '../style/main.css'
routes = require('./routes')
schema = require('./schema')
updater = require('./updater')
controller = require('./controller')
Page = React.createFactory(require('./app/page'))
oldAddress = location.hash.substr(1)
router = pathUtil.getCurrentInfo(routes, oldAddress)
recorder.setup
initial: schema.store
updater: updater
render = (core) ->
ReactDOM.render Page(core: core), document.querySelector('#app')
recorder.request render
recorder.subscribe render
if module.hot
module.hot.accept ['./schema', './updater'], ->
schema = require('./schema')
updater = require('./updater')
recorder.hotSetup
initial: schema.store
updater: updater
module.hot.accept './controller', ->
module.hot.accept './app/page', ->
Page = React.createFactory(require('./app/page'))
recorder.request render
controller.start()
if router.get('name') == 'topic'
controller.routerTopic router.getIn ['data', 'id']