Placed event listeners on higher level components to avoid app dispatcher vomit
Этот коммит содержится в:
@@ -5,15 +5,6 @@ var UserStore = require('../stores/user_store.jsx');
|
|||||||
var utils = require('../utils/utils.jsx');
|
var utils = require('../utils/utils.jsx');
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
componentDidMount: function() {
|
|
||||||
UserStore.addStatusesChangeListener(this._onChange);
|
|
||||||
},
|
|
||||||
componentWillUnmount: function() {
|
|
||||||
UserStore.removeStatusesChangeListener(this._onChange);
|
|
||||||
},
|
|
||||||
_onChange: function() {
|
|
||||||
this.forceUpdate();
|
|
||||||
},
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
return { };
|
return { };
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ module.exports = React.createClass({
|
|||||||
|
|
||||||
PostStore.addChangeListener(this._onChange);
|
PostStore.addChangeListener(this._onChange);
|
||||||
ChannelStore.addChangeListener(this._onChange);
|
ChannelStore.addChangeListener(this._onChange);
|
||||||
|
UserStore.addStatusesChangeListener(this._onChange);
|
||||||
SocketStore.addChangeListener(this._onSocketChange);
|
SocketStore.addChangeListener(this._onSocketChange);
|
||||||
|
|
||||||
$(".post-list-holder-by-time").perfectScrollbar();
|
$(".post-list-holder-by-time").perfectScrollbar();
|
||||||
@@ -157,6 +158,7 @@ module.exports = React.createClass({
|
|||||||
componentWillUnmount: function() {
|
componentWillUnmount: function() {
|
||||||
PostStore.removeChangeListener(this._onChange);
|
PostStore.removeChangeListener(this._onChange);
|
||||||
ChannelStore.removeChangeListener(this._onChange);
|
ChannelStore.removeChangeListener(this._onChange);
|
||||||
|
UserStore.removeStatusesChangeListener(this._onChange);
|
||||||
SocketStore.removeChangeListener(this._onSocketChange);
|
SocketStore.removeChangeListener(this._onSocketChange);
|
||||||
$('body').off('click.userpopover');
|
$('body').off('click.userpopover');
|
||||||
},
|
},
|
||||||
@@ -193,6 +195,8 @@ module.exports = React.createClass({
|
|||||||
this.scrolledToNew = false;
|
this.scrolledToNew = false;
|
||||||
}
|
}
|
||||||
this.setState(newState);
|
this.setState(newState);
|
||||||
|
} else {
|
||||||
|
this.forceUpdate()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_onSocketChange: function(msg) {
|
_onSocketChange: function(msg) {
|
||||||
|
|||||||
@@ -16,10 +16,15 @@ module.exports = React.createClass({
|
|||||||
componentDidMount: function() {
|
componentDidMount: function() {
|
||||||
PostStore.addSearchChangeListener(this._onSearchChange);
|
PostStore.addSearchChangeListener(this._onSearchChange);
|
||||||
PostStore.addSelectedPostChangeListener(this._onSelectedChange);
|
PostStore.addSelectedPostChangeListener(this._onSelectedChange);
|
||||||
|
UserStore.addStatusesChangeListener(this._onChange);
|
||||||
},
|
},
|
||||||
componentWillUnmount: function() {
|
componentWillUnmount: function() {
|
||||||
PostStore.removeSearchChangeListener(this._onSearchChange);
|
PostStore.removeSearchChangeListener(this._onSearchChange);
|
||||||
PostStore.removeSelectedPostChangeListener(this._onSelectedChange);
|
PostStore.removeSelectedPostChangeListener(this._onSelectedChange);
|
||||||
|
UserStore.removeStatusesChangeListener(this._onChange);
|
||||||
|
},
|
||||||
|
_onChange: function() {
|
||||||
|
this.forceUpdate();
|
||||||
},
|
},
|
||||||
_onSelectedChange: function(from_search) {
|
_onSelectedChange: function(from_search) {
|
||||||
if (this.isMounted()) {
|
if (this.isMounted()) {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user