diff options
author | Christopher Speller <crspeller@gmail.com> | 2015-12-16 09:10:24 -0500 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2015-12-16 09:10:24 -0500 |
commit | 34e0ac00e81f5e8912e341e4fece3b38dbb6cf76 (patch) | |
tree | 1e67c2ce24f447e26d4abc63df28a3828c919e60 /web/react/components/create_post.jsx | |
parent | 3e418a100a3a491ebff7ba72ac003dd06752a30a (diff) | |
parent | 23af326af20cffef59ac8859e7def38f744a452b (diff) | |
download | chat-34e0ac00e81f5e8912e341e4fece3b38dbb6cf76.tar.gz chat-34e0ac00e81f5e8912e341e4fece3b38dbb6cf76.tar.bz2 chat-34e0ac00e81f5e8912e341e4fece3b38dbb6cf76.zip |
Merge pull request #1733 from hmhealey/plt1437
PLT-1437 PreferenceStore api changes and fixing CreatePost warning
Diffstat (limited to 'web/react/components/create_post.jsx')
-rw-r--r-- | web/react/components/create_post.jsx | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx index 89e984e27..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 tutorialPref = PreferenceStore.getPreference(Preferences.TUTORIAL_STEP, UserStore.getCurrentId(), {value: '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.getPreference(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter', {value: 'false'}).value, - showTutorialTip: parseInt(tutorialPref.value, 10) === TutorialSteps.POST_POPOVER + ctrlSend: false, + showTutorialTip: false }; - - PreferenceStore.addChangeListener(this.onPreferenceChange); } handleResize() { this.setState({ @@ -211,7 +208,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(); @@ -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); @@ -333,10 +339,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 +354,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; } |