Fix some error cases when the number of teams is zero
* There is no config.json * config.teams.length === 0
This commit is contained in:
@@ -210,6 +210,9 @@ try {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
window.location = 'settings.html';
|
window.location = 'settings.html';
|
||||||
}
|
}
|
||||||
|
if (config.teams.length === 0) {
|
||||||
|
window.location = 'settings.html';
|
||||||
|
}
|
||||||
|
|
||||||
var contextMenu = require('./menus/context');
|
var contextMenu = require('./menus/context');
|
||||||
var menu = contextMenu.createDefault();
|
var menu = contextMenu.createDefault();
|
||||||
|
@@ -14,7 +14,12 @@ const Glyphicon = ReactBootstrap.Glyphicon;
|
|||||||
|
|
||||||
var SettingsPage = React.createClass({
|
var SettingsPage = React.createClass({
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
var config = settings.readFileSync(this.props.configFile);
|
var config;
|
||||||
|
try {
|
||||||
|
config = settings.readFileSync(this.props.configFile);
|
||||||
|
} catch (e) {
|
||||||
|
config = settings.loadDefault();
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
teams: config.teams,
|
teams: config.teams,
|
||||||
hideMenuBar: config.hideMenuBar
|
hideMenuBar: config.hideMenuBar
|
||||||
@@ -76,7 +81,7 @@ var SettingsPage = React.createClass({
|
|||||||
<Col md={ 12 }>
|
<Col md={ 12 }>
|
||||||
<Button id="btnCancel" onClick={ this.handleCancel }>Cancel</Button>
|
<Button id="btnCancel" onClick={ this.handleCancel }>Cancel</Button>
|
||||||
{ ' ' }
|
{ ' ' }
|
||||||
<Button id="btnSave" bsStyle="primary" onClick={ this.handleSave }>Save</Button>
|
<Button id="btnSave" bsStyle="primary" onClick={ this.handleSave } disabled={ this.state.teams.length === 0 }>Save</Button>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
@@ -38,5 +38,13 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
var data = JSON.stringify(config, null, ' ');
|
var data = JSON.stringify(config, null, ' ');
|
||||||
fs.writeFileSync(configFile, data, 'utf8');
|
fs.writeFileSync(configFile, data, 'utf8');
|
||||||
|
},
|
||||||
|
|
||||||
|
loadDefault: function() {
|
||||||
|
return {
|
||||||
|
teams: [],
|
||||||
|
hideMenuBar: false,
|
||||||
|
version: version
|
||||||
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user