From e4899fa551d53ec07718659eed97178052982552 Mon Sep 17 00:00:00 2001 From: hmhealey Date: Tue, 15 Dec 2015 11:36:14 -0500 Subject: Improved PreferenceStore api when getting values --- web/react/components/create_post.jsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'web/react/components/create_post.jsx') diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx index 89e984e27..e54f1016d 100644 --- a/web/react/components/create_post.jsx +++ b/web/react/components/create_post.jsx @@ -52,7 +52,7 @@ export default class CreatePost extends React.Component { PostStore.clearDraftUploads(); const draft = this.getCurrentDraft(); - const tutorialPref = PreferenceStore.getPreference(Preferences.TUTORIAL_STEP, UserStore.getCurrentId(), {value: '999'}); + const tutorialStep = PreferenceStore.getInt(Preferences.TUTORIAL_STEP, UserStore.getCurrentId(), 999); this.state = { channelId: ChannelStore.getCurrentId(), @@ -63,8 +63,8 @@ export default class CreatePost extends React.Component { initialText: draft.messageText, windowWidth: Utils.windowWidth(), windowHeight: Utils.windowHeight(), - ctrlSend: PreferenceStore.getPreference(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter', {value: 'false'}).value, - showTutorialTip: parseInt(tutorialPref.value, 10) === TutorialSteps.POST_POPOVER + ctrlSend: PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter'), + showTutorialTip: tutorialStep === TutorialSteps.POST_POPOVER }; PreferenceStore.addChangeListener(this.onPreferenceChange); @@ -211,7 +211,7 @@ export default class CreatePost extends React.Component { ); } postMsgKeyPress(e) { - if (this.state.ctrlSend === 'true' && e.ctrlKey || this.state.ctrlSend === 'false') { + if (this.state.ctrlSend && e.ctrlKey || !this.state.ctrlSend) { if (e.which === KeyCodes.ENTER && !e.shiftKey && !e.altKey) { e.preventDefault(); ReactDOM.findDOMNode(this.refs.textbox).blur(); @@ -333,10 +333,10 @@ export default class CreatePost extends React.Component { } } onPreferenceChange() { - const tutorialPref = PreferenceStore.getPreference(Preferences.TUTORIAL_STEP, UserStore.getCurrentId(), {value: '999'}); + const tutorialStep = PreferenceStore.getInt(Preferences.TUTORIAL_STEP, UserStore.getCurrentId(), 999); this.setState({ - showTutorialTip: parseInt(tutorialPref.value, 10) === TutorialSteps.POST_POPOVER, - ctrlSend: PreferenceStore.getPreference(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter', {value: 'false'}).value + showTutorialTip: tutorialStep === TutorialSteps.POST_POPOVER, + ctrlSend: PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter') }); } getFileCount(channelId) { @@ -348,7 +348,7 @@ export default class CreatePost extends React.Component { return draft.previews.length + draft.uploadsInProgress.length; } handleKeyDown(e) { - if (this.state.ctrlSend === 'true' && e.keyCode === KeyCodes.ENTER && e.ctrlKey === true) { + if (this.state.ctrlSend && e.keyCode === KeyCodes.ENTER && e.ctrlKey === true) { this.postMsgKeyPress(e); return; } -- cgit v1.2.3-1-g7c22 From 23af326af20cffef59ac8859e7def38f744a452b Mon Sep 17 00:00:00 2001 From: hmhealey Date: Tue, 15 Dec 2015 11:47:52 -0500 Subject: Stopped CreatePost from responding to PreferenceStore changes before it gets mounted --- web/react/components/create_post.jsx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'web/react/components/create_post.jsx') diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx index e54f1016d..e901b272a 100644 --- a/web/react/components/create_post.jsx +++ b/web/react/components/create_post.jsx @@ -52,7 +52,6 @@ export default class CreatePost extends React.Component { PostStore.clearDraftUploads(); const draft = this.getCurrentDraft(); - const tutorialStep = PreferenceStore.getInt(Preferences.TUTORIAL_STEP, UserStore.getCurrentId(), 999); this.state = { channelId: ChannelStore.getCurrentId(), @@ -63,11 +62,9 @@ export default class CreatePost extends React.Component { initialText: draft.messageText, windowWidth: Utils.windowWidth(), windowHeight: Utils.windowHeight(), - ctrlSend: PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter'), - showTutorialTip: tutorialStep === TutorialSteps.POST_POPOVER + ctrlSend: false, + showTutorialTip: false }; - - PreferenceStore.addChangeListener(this.onPreferenceChange); } handleResize() { this.setState({ @@ -313,6 +310,15 @@ export default class CreatePost extends React.Component { this.setState({previews, uploadsInProgress}); } + componentWillMount() { + const tutorialStep = PreferenceStore.getInt(Preferences.TUTORIAL_STEP, UserStore.getCurrentId(), 999); + + // wait to load these since they may have changed since the component was constructed (particularly in the case of skipping the tutorial) + this.setState({ + ctrlSend: PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter'), + showTutorialTip: tutorialStep === TutorialSteps.POST_POPOVER + }); + } componentDidMount() { ChannelStore.addChangeListener(this.onChange); PreferenceStore.addChangeListener(this.onPreferenceChange); -- cgit v1.2.3-1-g7c22