Merge pull request #2534 from hmhealey/plt2184

PLT-2184 Moved theme reset code to componentWillUnmount
Этот коммит содержится в:
Corey Hulen
2016-03-24 21:45:23 -07:00
родитель 1147c7ff29 e02921f344
Коммит fb9adbfe5b
2 изменённых файлов: 6 добавлений и 21 удалений

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

@@ -9,7 +9,6 @@ import SettingsSidebar from '../settings_sidebar.jsx';
import UserStore from 'stores/user_store.jsx';
import * as Utils from 'utils/utils.jsx';
import Constants from 'utils/constants.jsx';
import {Modal} from 'react-bootstrap';
@@ -113,7 +112,6 @@ class UserSettingsModal extends React.Component {
return;
}
this.resetTheme();
this.deactivateTab();
this.props.onModalDismissed();
return;
@@ -220,22 +218,10 @@ class UserSettingsModal extends React.Component {
if (!skipConfirm && this.requireConfirm) {
this.showConfirmModal(() => this.updateSection(section, true));
} else {
if (this.state.active_section === 'theme' && section !== 'theme') {
this.resetTheme();
}
this.setState({active_section: section});
}
}
resetTheme() {
const user = UserStore.getCurrentUser();
if (user.theme_props == null) {
Utils.applyTheme(Constants.THEMES.default);
} else {
Utils.applyTheme(user.theme_props);
}
}
render() {
const {formatMessage} = this.props.intl;
if (this.state.currentUser == null) {

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

@@ -40,7 +40,6 @@ export default class ThemeSetting extends React.Component {
this.onChange = this.onChange.bind(this);
this.submitTheme = this.submitTheme.bind(this);
this.updateTheme = this.updateTheme.bind(this);
this.deactivate = this.deactivate.bind(this);
this.resetFields = this.resetFields.bind(this);
this.handleImportModal = this.handleImportModal.bind(this);
@@ -62,12 +61,17 @@ export default class ThemeSetting extends React.Component {
}
}
componentWillReceiveProps(nextProps) {
if (!this.props.selected && nextProps.selected) {
if (this.props.selected && !nextProps.selected) {
this.resetFields();
}
}
componentWillUnmount() {
UserStore.removeChangeListener(this.onChange);
if (this.props.selected) {
const state = this.getStateFromStores();
Utils.applyTheme(state.theme);
}
}
getStateFromStores() {
const user = UserStore.getCurrentUser();
@@ -147,11 +151,6 @@ export default class ThemeSetting extends React.Component {
updateType(type) {
this.setState({type});
}
deactivate() {
const state = this.getStateFromStores();
Utils.applyTheme(state.theme);
}
resetFields() {
const state = this.getStateFromStores();
state.serverError = null;