Added flux-style error protection on team store call in sidebar
Этот коммит содержится в:
@@ -128,6 +128,7 @@ module.exports = React.createClass({
|
|||||||
ChannelStore.addChangeListener(this.onChange);
|
ChannelStore.addChangeListener(this.onChange);
|
||||||
UserStore.addChangeListener(this.onChange);
|
UserStore.addChangeListener(this.onChange);
|
||||||
UserStore.addStatusesChangeListener(this.onChange);
|
UserStore.addStatusesChangeListener(this.onChange);
|
||||||
|
TeamStore.addChangeListener(this.onChange);
|
||||||
SocketStore.addChangeListener(this.onSocketChange);
|
SocketStore.addChangeListener(this.onSocketChange);
|
||||||
$('.nav-pills__container').perfectScrollbar();
|
$('.nav-pills__container').perfectScrollbar();
|
||||||
|
|
||||||
@@ -146,6 +147,7 @@ module.exports = React.createClass({
|
|||||||
ChannelStore.removeChangeListener(this.onChange);
|
ChannelStore.removeChangeListener(this.onChange);
|
||||||
UserStore.removeChangeListener(this.onChange);
|
UserStore.removeChangeListener(this.onChange);
|
||||||
UserStore.removeStatusesChangeListener(this.onChange);
|
UserStore.removeStatusesChangeListener(this.onChange);
|
||||||
|
TeamStore.removeChangeListener(this.onChange);
|
||||||
SocketStore.removeChangeListener(this.onSocketChange);
|
SocketStore.removeChangeListener(this.onSocketChange);
|
||||||
},
|
},
|
||||||
onChange: function() {
|
onChange: function() {
|
||||||
@@ -346,15 +348,16 @@ module.exports = React.createClass({
|
|||||||
|
|
||||||
// set up click handler to switch channels (or create a new channel for non-existant ones)
|
// set up click handler to switch channels (or create a new channel for non-existant ones)
|
||||||
var clickHandler = null;
|
var clickHandler = null;
|
||||||
var href;
|
var href = '#';
|
||||||
|
var teamURL = TeamStore.getCurrentTeamUrl();
|
||||||
if (!channel.fake) {
|
if (!channel.fake) {
|
||||||
clickHandler = function(e) {
|
clickHandler = function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
utils.switchChannel(channel);
|
utils.switchChannel(channel);
|
||||||
};
|
};
|
||||||
href = '#';
|
}
|
||||||
} else {
|
if (channel.fake && teamURL){
|
||||||
href = TeamStore.getCurrentTeamUrl() + '/channels/' + channel.name;
|
href = teamURL + '/channels/' + channel.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -64,7 +64,10 @@ var TeamStore = assign({}, EventEmitter.prototype, {
|
|||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
getCurrentTeamUrl: function() {
|
getCurrentTeamUrl: function() {
|
||||||
return getWindowLocationOrigin() + "/" + this.getCurrent().name;
|
if(this.getCurrent()) {
|
||||||
|
return getWindowLocationOrigin() + "/" + this.getCurrent().name;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
},
|
},
|
||||||
storeTeam: function(team) {
|
storeTeam: function(team) {
|
||||||
var teams = this._getTeams();
|
var teams = this._getTeams();
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user