Added flux-style error protection on team store call in sidebar

Этот коммит содержится в:
nickago
2015-08-13 11:00:49 -07:00
родитель 6d9e715e26
Коммит 7203128e99
2 изменённых файлов: 11 добавлений и 5 удалений

Просмотреть файл

@@ -128,6 +128,7 @@ module.exports = React.createClass({
ChannelStore.addChangeListener(this.onChange);
UserStore.addChangeListener(this.onChange);
UserStore.addStatusesChangeListener(this.onChange);
TeamStore.addChangeListener(this.onChange);
SocketStore.addChangeListener(this.onSocketChange);
$('.nav-pills__container').perfectScrollbar();
@@ -146,6 +147,7 @@ module.exports = React.createClass({
ChannelStore.removeChangeListener(this.onChange);
UserStore.removeChangeListener(this.onChange);
UserStore.removeStatusesChangeListener(this.onChange);
TeamStore.removeChangeListener(this.onChange);
SocketStore.removeChangeListener(this.onSocketChange);
},
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)
var clickHandler = null;
var href;
var href = '#';
var teamURL = TeamStore.getCurrentTeamUrl();
if (!channel.fake) {
clickHandler = function(e) {
e.preventDefault();
utils.switchChannel(channel);
};
href = '#';
} else {
href = TeamStore.getCurrentTeamUrl() + '/channels/' + channel.name;
}
if (channel.fake && teamURL){
href = teamURL + '/channels/' + channel.name;
}
return (

Просмотреть файл

@@ -64,7 +64,10 @@ var TeamStore = assign({}, EventEmitter.prototype, {
return null;
},
getCurrentTeamUrl: function() {
return getWindowLocationOrigin() + "/" + this.getCurrent().name;
if(this.getCurrent()) {
return getWindowLocationOrigin() + "/" + this.getCurrent().name;
}
return null;
},
storeTeam: function(team) {
var teams = this._getTeams();