summaryrefslogtreecommitdiffstats
path: root/web/react/components/create_post.jsx
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2015-12-16 09:10:24 -0500
committerChristopher Speller <crspeller@gmail.com>2015-12-16 09:10:24 -0500
commit34e0ac00e81f5e8912e341e4fece3b38dbb6cf76 (patch)
tree1e67c2ce24f447e26d4abc63df28a3828c919e60 /web/react/components/create_post.jsx
parent3e418a100a3a491ebff7ba72ac003dd06752a30a (diff)
parent23af326af20cffef59ac8859e7def38f744a452b (diff)
downloadchat-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.jsx26
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;
}