summaryrefslogtreecommitdiffstats
path: root/webapp/components
diff options
context:
space:
mode:
authorCorey Hulen <corey@hulen.com>2016-04-26 05:39:07 -0700
committerChristopher Speller <crspeller@gmail.com>2016-04-26 08:39:07 -0400
commit80d7debf1a992caf881c939ace66b5632eba1cf6 (patch)
tree5525908ced27356207914784a8cf6bc12766152b /webapp/components
parent88cbfe7f1df5a0ef89d8b2ccf1261cb897c19366 (diff)
downloadchat-80d7debf1a992caf881c939ace66b5632eba1cf6.tar.gz
chat-80d7debf1a992caf881c939ace66b5632eba1cf6.tar.bz2
chat-80d7debf1a992caf881c939ace66b5632eba1cf6.zip
Adding switch to teams in admin console (#2789)
Diffstat (limited to 'webapp/components')
-rw-r--r--webapp/components/admin_console/admin_navbar_dropdown.jsx49
-rw-r--r--webapp/components/navbar_dropdown.jsx2
2 files changed, 50 insertions, 1 deletions
diff --git a/webapp/components/admin_console/admin_navbar_dropdown.jsx b/webapp/components/admin_console/admin_navbar_dropdown.jsx
index dd56411f4..37b8f2135 100644
--- a/webapp/components/admin_console/admin_navbar_dropdown.jsx
+++ b/webapp/components/admin_console/admin_navbar_dropdown.jsx
@@ -4,6 +4,7 @@
import $ from 'jquery';
import ReactDOM from 'react-dom';
+import TeamStore from 'stores/team_store.jsx';
import Constants from 'utils/constants.jsx';
import * as GlobalActions from 'action_creators/global_actions.jsx';
@@ -17,6 +18,12 @@ export default class AdminNavbarDropdown extends React.Component {
constructor(props) {
super(props);
this.blockToggle = false;
+ this.onTeamChange = this.onTeamChange.bind(this);
+
+ this.state = {
+ teams: TeamStore.getAll(),
+ teamMembers: TeamStore.getTeamMembers()
+ };
}
componentDidMount() {
@@ -26,13 +33,50 @@ export default class AdminNavbarDropdown extends React.Component {
this.blockToggle = false;
}, 100);
});
+
+ TeamStore.addChangeListener(this.onTeamChange);
}
componentWillUnmount() {
$(ReactDOM.findDOMNode(this.refs.dropdown)).off('hide.bs.dropdown');
+ TeamStore.removeChangeListener(this.onTeamChange);
+ }
+
+ onTeamChange() {
+ this.setState({
+ teams: TeamStore.getAll(),
+ teamMembers: TeamStore.getTeamMembers()
+ });
}
render() {
+ var teams = [];
+
+ if (this.state.teamMembers && this.state.teamMembers.length > 0) {
+ teams.push(
+ <li
+ key='teamDiv'
+ className='divider'
+ ></li>
+ );
+
+ for (var index in this.state.teamMembers) {
+ if (this.state.teamMembers.hasOwnProperty(index)) {
+ var teamMember = this.state.teamMembers[index];
+ var team = this.state.teams[teamMember.team_id];
+ teams.push(
+ <li key={'team_' + team.name}>
+ <Link
+ to={'/' + team.name + '/channels/town-square'}
+ >
+ {team.display_name}
+ </Link>
+ </li>
+ );
+ }
+ }
+ }
+
return (
<ul className='nav navbar-nav navbar-right'>
<li
@@ -68,6 +112,11 @@ export default class AdminNavbarDropdown extends React.Component {
/>
</Link>
</li>
+ {teams}
+ <li
+ key='teamDiv'
+ className='divider'
+ ></li>
<li>
<a
href='#'
diff --git a/webapp/components/navbar_dropdown.jsx b/webapp/components/navbar_dropdown.jsx
index 19b99a14d..71c1f0d5b 100644
--- a/webapp/components/navbar_dropdown.jsx
+++ b/webapp/components/navbar_dropdown.jsx
@@ -191,7 +191,7 @@ export default class NavbarDropdown extends React.Component {
);
}
- if (this.state.teamMembers && this.state.teamMembers.length > 0) {
+ if (this.state.teamMembers && this.state.teamMembers.length > 1) {
teams.push(
<li
key='teamDiv'