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