Add Menu bar option to add a new team
This commit is contained in:
@@ -130,6 +130,10 @@ const MainPage = React.createClass({
|
||||
mattermost.goForward();
|
||||
}
|
||||
});
|
||||
|
||||
ipcRenderer.on('add-server', () => {
|
||||
this.addServer();
|
||||
});
|
||||
},
|
||||
componentDidUpdate(prevProps, prevState) {
|
||||
if (prevState.key !== this.state.key) { // i.e. When tab has been changed
|
||||
@@ -240,7 +244,7 @@ const MainPage = React.createClass({
|
||||
this.setState({targetURL});
|
||||
}
|
||||
},
|
||||
addTeam() {
|
||||
addServer() {
|
||||
this.setState({
|
||||
showNewTeamModal: true
|
||||
});
|
||||
@@ -261,7 +265,7 @@ const MainPage = React.createClass({
|
||||
mentionAtActiveCounts={this.state.mentionAtActiveCounts}
|
||||
activeKey={this.state.key}
|
||||
onSelect={this.handleSelect}
|
||||
onAddTeam={this.addTeam}
|
||||
onAddServer={this.addServer}
|
||||
/>
|
||||
</Row>
|
||||
);
|
||||
|
@@ -45,6 +45,11 @@ const SettingsPage = React.createClass({
|
||||
});
|
||||
});
|
||||
}
|
||||
ipcRenderer.on('add-server', () => {
|
||||
this.setState({
|
||||
showAddTeamForm: true
|
||||
});
|
||||
});
|
||||
},
|
||||
handleTeamsChange(teams) {
|
||||
this.setState({
|
||||
@@ -161,7 +166,7 @@ const SettingsPage = React.createClass({
|
||||
});
|
||||
},
|
||||
|
||||
addTeam(team) {
|
||||
addServer(team) {
|
||||
var teams = this.state.teams;
|
||||
teams.push(team);
|
||||
this.setState({
|
||||
@@ -179,7 +184,7 @@ const SettingsPage = React.createClass({
|
||||
toggleAddTeamForm={this.toggleShowTeamForm}
|
||||
onTeamsChange={this.handleTeamsChange}
|
||||
updateTeam={this.updateTeam}
|
||||
addTeam={this.addTeam}
|
||||
addServer={this.addServer}
|
||||
/>
|
||||
</Col>
|
||||
</Row>
|
||||
|
@@ -84,7 +84,7 @@ class TabBar extends React.Component {
|
||||
return (
|
||||
<Button
|
||||
id='tabBarAddNewTeam'
|
||||
onClick={this.props.onAddTeam}
|
||||
onClick={this.props.onAddServer}
|
||||
bsStyle='tabButton'
|
||||
>
|
||||
{'+'}
|
||||
@@ -98,7 +98,7 @@ TabBar.propTypes = {
|
||||
id: React.PropTypes.string,
|
||||
onSelect: React.PropTypes.func,
|
||||
teams: React.PropTypes.array,
|
||||
onAddTeam: React.PropTypes.func
|
||||
onAddServer: React.PropTypes.func
|
||||
};
|
||||
|
||||
module.exports = TabBar;
|
||||
|
@@ -9,8 +9,9 @@ const TeamList = React.createClass({
|
||||
onTeamsChange: React.PropTypes.func,
|
||||
showAddTeamForm: React.PropTypes.bool,
|
||||
teams: React.PropTypes.array,
|
||||
addTeam: React.PropTypes.func,
|
||||
updateTeam: React.PropTypes.func
|
||||
addServer: React.PropTypes.func,
|
||||
updateTeam: React.PropTypes.func,
|
||||
toggleAddTeamForm: React.PropTypes.func
|
||||
},
|
||||
|
||||
getInitialState() {
|
||||
@@ -94,24 +95,24 @@ const TeamList = React.createClass({
|
||||
);
|
||||
});
|
||||
|
||||
var addTeamForm;
|
||||
var addServerForm;
|
||||
if (this.props.showAddTeamForm || this.state.showEditTeamForm) {
|
||||
addTeamForm = (
|
||||
addServerForm = (
|
||||
<NewTeamModal
|
||||
onClose={() => {
|
||||
this.setState({
|
||||
showNewTeamModal: false,
|
||||
showEditTeamForm: false,
|
||||
team: {
|
||||
name: '',
|
||||
url: '',
|
||||
index: false
|
||||
}
|
||||
});
|
||||
this.props.toggleAddTeamForm();
|
||||
}}
|
||||
onSave={(newTeam) => {
|
||||
if (this.props.showAddTeamForm) {
|
||||
this.props.addTeam(newTeam);
|
||||
this.props.addServer(newTeam);
|
||||
} else {
|
||||
this.props.updateTeam(newTeam.index, newTeam);
|
||||
}
|
||||
@@ -131,7 +132,7 @@ const TeamList = React.createClass({
|
||||
team={this.state.team}
|
||||
/>);
|
||||
} else {
|
||||
addTeamForm = '';
|
||||
addServerForm = '';
|
||||
}
|
||||
|
||||
const removeServer = this.props.teams[this.state.indexToRemoveServer];
|
||||
@@ -151,7 +152,7 @@ const TeamList = React.createClass({
|
||||
return (
|
||||
<ListGroup className='teamList'>
|
||||
{ teamNodes }
|
||||
{ addTeamForm }
|
||||
{ addServerForm }
|
||||
{ removeServerModal}
|
||||
</ListGroup>
|
||||
);
|
||||
|
@@ -27,6 +27,11 @@ function createTemplate(mainWindow, config) {
|
||||
click() {
|
||||
mainWindow.loadURL('file://' + __dirname + '/browser/settings.html');
|
||||
}
|
||||
}, {
|
||||
label: 'Sign in to Another Server',
|
||||
click() {
|
||||
mainWindow.webContents.send('add-server');
|
||||
}
|
||||
}, separatorItem, {
|
||||
role: 'hide'
|
||||
}, {
|
||||
@@ -41,6 +46,11 @@ function createTemplate(mainWindow, config) {
|
||||
click() {
|
||||
mainWindow.loadURL('file://' + __dirname + '/browser/settings.html');
|
||||
}
|
||||
}, {
|
||||
label: 'Sign in to Another Server',
|
||||
click() {
|
||||
mainWindow.webContents.send('add-server');
|
||||
}
|
||||
}, separatorItem, {
|
||||
role: 'quit',
|
||||
accelerator: 'CmdOrCtrl+Q',
|
||||
|
Reference in New Issue
Block a user