summaryrefslogtreecommitdiffstats
path: root/web/react/components/user_settings/user_settings_appearance.jsx
diff options
context:
space:
mode:
authorhmhealey <harrisonmhealey@gmail.com>2015-11-03 14:09:09 -0500
committerhmhealey <harrisonmhealey@gmail.com>2015-11-03 14:09:09 -0500
commita7ceba2e57f5b693afa51b0aefd04081646c6948 (patch)
tree2dffe67136b02b73e90ac085dfddb2570b5c2a4b /web/react/components/user_settings/user_settings_appearance.jsx
parentbe442b6221406fae96b2c3a74f1214e058b28e1d (diff)
downloadchat-a7ceba2e57f5b693afa51b0aefd04081646c6948.tar.gz
chat-a7ceba2e57f5b693afa51b0aefd04081646c6948.tar.bz2
chat-a7ceba2e57f5b693afa51b0aefd04081646c6948.zip
Fixed theme confirmation dialog to work in all cases and removed some jquery magic related to it
Diffstat (limited to 'web/react/components/user_settings/user_settings_appearance.jsx')
-rw-r--r--web/react/components/user_settings/user_settings_appearance.jsx28
1 files changed, 21 insertions, 7 deletions
diff --git a/web/react/components/user_settings/user_settings_appearance.jsx b/web/react/components/user_settings/user_settings_appearance.jsx
index 28fc9018a..425645c1f 100644
--- a/web/react/components/user_settings/user_settings_appearance.jsx
+++ b/web/react/components/user_settings/user_settings_appearance.jsx
@@ -20,7 +20,8 @@ export default class UserSettingsAppearance extends React.Component {
this.submitTheme = this.submitTheme.bind(this);
this.updateTheme = this.updateTheme.bind(this);
this.updateCodeTheme = this.updateCodeTheme.bind(this);
- this.handleClose = this.handleClose.bind(this);
+ this.deactivate = this.deactivate.bind(this);
+ this.resetFields = this.resetFields.bind(this);
this.handleImportModal = this.handleImportModal.bind(this);
this.state = this.getStateFromStores();
@@ -42,8 +43,6 @@ export default class UserSettingsAppearance extends React.Component {
}
componentWillUnmount() {
UserStore.removeChangeListener(this.onChange);
-
- this.handleClose();
}
getStateFromStores() {
const user = UserStore.getCurrentUser();
@@ -130,10 +129,19 @@ export default class UserSettingsAppearance extends React.Component {
updateType(type) {
this.setState({type});
}
- handleClose() {
+ deactivate() {
+ const state = this.getStateFromStores();
+
+ Utils.applyTheme(state.theme);
+ }
+ resetFields() {
const state = this.getStateFromStores();
+ state.serverError = null;
+ this.setState(state);
Utils.applyTheme(state.theme);
+
+ this.props.setRequireConfirm(false);
}
handleImportModal() {
AppDispatcher.handleViewAction({
@@ -212,7 +220,7 @@ export default class UserSettingsAppearance extends React.Component {
<a
className='btn btn-sm theme'
href='#'
- onClick={this.handleClose}
+ onClick={this.resetFields}
>
{'Cancel'}
</a>
@@ -226,8 +234,8 @@ export default class UserSettingsAppearance extends React.Component {
<button
type='button'
className='close'
- data-dismiss='modal'
aria-label='Close'
+ onClick={this.props.closeModal}
>
<span aria-hidden='true'>{'×'}</span>
</button>
@@ -235,7 +243,11 @@ export default class UserSettingsAppearance extends React.Component {
className='modal-title'
ref='title'
>
- <i className='modal-back'></i>{'Appearance Settings'}
+ <i
+ className='modal-back'
+ onClick={this.props.collapseModal}
+ />
+ {'Appearance Settings'}
</h4>
</div>
<div className='user-settings'>
@@ -262,6 +274,8 @@ UserSettingsAppearance.defaultProps = {
UserSettingsAppearance.propTypes = {
activeSection: React.PropTypes.string,
updateTab: React.PropTypes.func,
+ closeModal: React.PropTypes.func.isRequired,
+ collapseModal: React.PropTypes.func.isRequired,
setRequireConfirm: React.PropTypes.func.isRequired,
setEnforceFocus: React.PropTypes.func.isRequired
};