Merge pull request #570 from rgarmsen2295/fix-initial-state-calls

Refactor remaining uses of getInitialState and componentWillMount
Этот коммит содержится в:
Corey Hulen
2015-09-02 16:57:05 -07:00
родитель f11f703158 7b70892c75
Коммит 2c06ec89fe
5 изменённых файлов: 30 добавлений и 22 удалений

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

@@ -14,15 +14,9 @@ export default class FeatureTab extends React.Component {
this.submitValetFeature = this.submitValetFeature.bind(this);
this.handleValetRadio = this.handleValetRadio.bind(this);
this.onUpdateSection = this.onUpdateSection.bind(this);
this.setupInitialState = this.setupInitialState.bind(this);
this.state = {};
var team = this.props.team;
if (team && team.allow_valet) {
this.state.allowValet = 'true';
} else {
this.state.allowValet = 'false';
}
this.state = this.setupInitialState();
}
componentWillReceiveProps(newProps) {
var team = newProps.team;
@@ -44,7 +38,7 @@ export default class FeatureTab extends React.Component {
AsyncClient.getMyTeam();
}.bind(this),
function fail(err) {
var state = this.getInitialState();
var state = this.setupInitialState();
state.serverError = err;
this.setState(state);
}.bind(this)
@@ -62,6 +56,18 @@ export default class FeatureTab extends React.Component {
this.props.updateSection('valet');
}
}
setupInitialState() {
var allowValet;
var team = this.props.team;
if (team && team.allow_valet) {
allowValet = 'true';
} else {
allowValet = 'false';
}
return {allowValet: allowValet};
}
render() {
var clientError = null;
var serverError = null;

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

@@ -18,6 +18,11 @@ export default class TeamSignupSendInvitesPage extends React.Component {
this.state = {
emailEnabled: !ConfigStore.getSettingAsBoolean('ByPassEmail', false)
};
if (!this.state.emailEnabled) {
this.props.state.wizard = 'username';
this.props.updateParent(this.props.state);
}
}
submitBack(e) {
e.preventDefault();
@@ -75,12 +80,6 @@ export default class TeamSignupSendInvitesPage extends React.Component {
this.submitNext(e);
}
}
componentWillMount() {
if (!this.state.emailEnabled) {
this.props.state.wizard = 'username';
this.props.updateParent(this.props.state);
}
}
componentDidMount() {
if (!this.state.emailEnabled) {
// Must use keypress not keyup due to event chain of pressing enter

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

@@ -16,6 +16,8 @@ export default class TeamSignupWelcomePage extends React.Component {
this.handleKeyPress = this.handleKeyPress.bind(this);
this.state = {useDiff: false};
document.addEventListener('keyup', this.handleKeyPress, false);
}
submitNext(e) {
if (!BrowserStore.isLocalStorageSupported()) {
@@ -68,9 +70,6 @@ export default class TeamSignupWelcomePage extends React.Component {
this.submitNext(event);
}
}
componentWillMount() {
document.addEventListener('keyup', this.handleKeyPress, false);
}
componentWillUnmount() {
document.removeEventListener('keyup', this.handleKeyPress, false);
}

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

@@ -142,7 +142,7 @@ export default class NotificationsTab extends React.Component {
this.props.updateTab('general');
}
updateSection(section) {
this.setState(this.getInitialState());
this.setState(getNotificationsStateFromStores());
this.props.updateSection(section);
}
componentDidMount() {

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

@@ -16,8 +16,9 @@ export default class SecurityTab extends React.Component {
this.updateNewPassword = this.updateNewPassword.bind(this);
this.updateConfirmPassword = this.updateConfirmPassword.bind(this);
this.handleClose = this.handleClose.bind(this);
this.setupInitialState = this.setupInitialState.bind(this);
this.state = {currentPassword: '', newPassword: '', confirmPassword: ''};
this.state = this.setupInitialState();
}
submitPassword(e) {
e.preventDefault();
@@ -51,10 +52,10 @@ export default class SecurityTab extends React.Component {
function success() {
this.props.updateSection('');
AsyncClient.getMe();
this.setState({currentPassword: '', newPassword: '', confirmPassword: ''});
this.setState(this.setupInitialState());
}.bind(this),
function fail(err) {
var state = this.getInitialState();
var state = this.setupInitialState();
if (err.message) {
state.serverError = err.message;
} else {
@@ -88,6 +89,9 @@ export default class SecurityTab extends React.Component {
this.props.updateTab('general');
}
setupInitialState() {
return {currentPassword: '', newPassword: '', confirmPassword: ''};
}
componentDidMount() {
$('#user_settings').on('hidden.bs.modal', this.handleClose);
}