summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorReed Garmsen <rgarmsen2295@gmail.com>2016-01-04 16:06:44 -0800
committerReed Garmsen <rgarmsen2295@gmail.com>2016-01-04 16:24:18 -0800
commita9638df031366d27c2222e7306b205dbf8e2d508 (patch)
tree1227b5ffe8ef35568d7b9337e18029b3f5fc2308 /web
parent0c6483b60a230251c6704b85de0c203da37737dc (diff)
downloadchat-a9638df031366d27c2222e7306b205dbf8e2d508.tar.gz
chat-a9638df031366d27c2222e7306b205dbf8e2d508.tar.bz2
chat-a9638df031366d27c2222e7306b205dbf8e2d508.zip
Fixed issue where font would remain changed even after cancelling changes
Diffstat (limited to 'web')
-rw-r--r--web/react/components/user_settings/user_settings_display.jsx20
1 files changed, 13 insertions, 7 deletions
diff --git a/web/react/components/user_settings/user_settings_display.jsx b/web/react/components/user_settings/user_settings_display.jsx
index 96c3985d0..1ff0a2913 100644
--- a/web/react/components/user_settings/user_settings_display.jsx
+++ b/web/react/components/user_settings/user_settings_display.jsx
@@ -29,17 +29,16 @@ export default class UserSettingsDisplay extends React.Component {
this.handleNameRadio = this.handleNameRadio.bind(this);
this.handleFont = this.handleFont.bind(this);
this.updateSection = this.updateSection.bind(this);
+ this.updateState = this.updateState.bind(this);
+ this.deactivate = this.deactivate.bind(this);
this.state = getDisplayStateFromStores();
- this.selectedFont = this.state.selectedFont;
}
handleSubmit() {
const timePreference = PreferenceStore.setPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'use_military_time', this.state.militaryTime);
const namePreference = PreferenceStore.setPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'name_format', this.state.nameFormat);
const fontPreference = PreferenceStore.setPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'selected_font', this.state.selectedFont);
- this.selectedFont = this.state.selectedFont;
-
savePreferences([timePreference, namePreference, fontPreference],
() => {
PreferenceStore.emitChange();
@@ -61,9 +60,19 @@ export default class UserSettingsDisplay extends React.Component {
this.setState({selectedFont});
}
updateSection(section) {
- this.setState(getDisplayStateFromStores());
+ this.updateState();
this.props.updateSection(section);
}
+ updateState() {
+ const newState = getDisplayStateFromStores();
+ if (!Utils.areObjectsEqual(newState, this.state)) {
+ this.handleFont(newState.selectedFont);
+ this.setState(newState);
+ }
+ }
+ deactivate() {
+ this.updateState();
+ }
render() {
const serverError = this.state.serverError || null;
let clockSection;
@@ -266,9 +275,6 @@ export default class UserSettingsDisplay extends React.Component {
submit={this.handleSubmit}
server_error={serverError}
updateSection={(e) => {
- if (this.selectedFont !== this.state.selectedFont) {
- this.handleFont(this.selectedFont);
- }
this.updateSection('');
e.preventDefault();
}}