Adding React.js, Redux, revamping dashboard
This commit is contained in:
parent
68c93f8b85
commit
49520d6e62
34 changed files with 297 additions and 75 deletions
40
app/assets/javascripts/components/containers/root.jsx
Normal file
40
app/assets/javascripts/components/containers/root.jsx
Normal file
|
@ -0,0 +1,40 @@
|
|||
import { Provider } from 'react-redux';
|
||||
import configureStore from '../store/configureStore';
|
||||
import Frontend from '../components/frontend';
|
||||
import { setTimeline, addStatus } from '../actions/statuses';
|
||||
|
||||
const store = configureStore();
|
||||
|
||||
const Root = React.createClass({
|
||||
|
||||
componentWillMount() {
|
||||
for (var timelineType in this.props.timelines) {
|
||||
if (this.props.timelines.hasOwnProperty(timelineType)) {
|
||||
store.dispatch(setTimeline(timelineType, JSON.parse(this.props.timelines[timelineType])));
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof App !== 'undefined') {
|
||||
App.timeline = App.cable.subscriptions.create("TimelineChannel", {
|
||||
connected: function() {},
|
||||
|
||||
disconnected: function() {},
|
||||
|
||||
received: function(data) {
|
||||
return store.dispatch(addStatus(data.timeline, JSON.parse(data.message)));
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
render() {
|
||||
return (
|
||||
<Provider store={store}>
|
||||
<Frontend />
|
||||
</Provider>
|
||||
);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
export default Root;
|
Loading…
Add table
Add a link
Reference in a new issue