From f1700e765b979b0a3d3fba478dc468f61d5d1226 Mon Sep 17 00:00:00 2001 From: Reed Garmsen Date: Mon, 21 Sep 2015 18:41:22 -0700 Subject: Small change to remove react warning --- web/react/components/post_list_container.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/web/react/components/post_list_container.jsx b/web/react/components/post_list_container.jsx index 0815ac883..e59d85d41 100644 --- a/web/react/components/post_list_container.jsx +++ b/web/react/components/post_list_container.jsx @@ -49,6 +49,7 @@ export default class PostListContainer extends React.Component { for (let i = 0; i <= this.state.postLists.length - 1; i++) { postListCtls.push( -- cgit v1.2.3-1-g7c22 From bb557b30d7d806dfa14bb0a643d320f7451d875e Mon Sep 17 00:00:00 2001 From: Reed Garmsen Date: Tue, 22 Sep 2015 15:23:50 -0700 Subject: Post drafts are now displayed when they contain only files and no text --- web/react/components/create_post.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx index d9e67836d..6ab4af880 100644 --- a/web/react/components/create_post.jsx +++ b/web/react/components/create_post.jsx @@ -40,7 +40,7 @@ export default class CreatePost extends React.Component { let previews = []; let messageText = ''; let uploadsInProgress = []; - if (draft && draft.previews && draft.message) { + if (draft && (draft.message || (draft.previews && draft.previews.length))) { previews = draft.previews; messageText = draft.message; uploadsInProgress = draft.uploadsInProgress; @@ -258,7 +258,7 @@ export default class CreatePost extends React.Component { let previews = []; let messageText = ''; let uploadsInProgress = []; - if (draft && draft.previews && draft.message) { + if (draft && (draft.message || (draft.previews && draft.previews.length))) { previews = draft.previews; messageText = draft.message; uploadsInProgress = draft.uploadsInProgress; -- cgit v1.2.3-1-g7c22 From 2270a2bb455e0f16ca5d9f886d08f360b272f72c Mon Sep 17 00:00:00 2001 From: Reed Garmsen Date: Tue, 22 Sep 2015 16:00:44 -0700 Subject: Functionalized draft checking --- web/react/components/create_post.jsx | 50 +++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx index 6ab4af880..abad60154 100644 --- a/web/react/components/create_post.jsx +++ b/web/react/components/create_post.jsx @@ -23,6 +23,7 @@ export default class CreatePost extends React.Component { this.lastTime = 0; + this.getCurrentDraft = this.getCurrentDraft.bind(this); this.handleSubmit = this.handleSubmit.bind(this); this.postMsgKeyPress = this.postMsgKeyPress.bind(this); this.handleUserInput = this.handleUserInput.bind(this); @@ -36,23 +37,15 @@ export default class CreatePost extends React.Component { PostStore.clearDraftUploads(); - const draft = PostStore.getCurrentDraft(); - let previews = []; - let messageText = ''; - let uploadsInProgress = []; - if (draft && (draft.message || (draft.previews && draft.previews.length))) { - previews = draft.previews; - messageText = draft.message; - uploadsInProgress = draft.uploadsInProgress; - } + const draft = this.getCurrentDraft(); this.state = { channelId: ChannelStore.getCurrentId(), - messageText: messageText, - uploadsInProgress: uploadsInProgress, - previews: previews, + messageText: draft.messageText, + uploadsInProgress: draft.uploadsInProgress, + previews: draft.previews, submitting: false, - initialText: messageText + initialText: draft.messageText }; } componentDidUpdate(prevProps, prevState) { @@ -60,6 +53,24 @@ export default class CreatePost extends React.Component { this.resizePostHolder(); } } + getCurrentDraft() { + const draft = PostStore.getCurrentDraft(); + const safeDraft = {previews: [], messageText: '', uploadsInProgress: []}; + + if (draft) { + if (draft.message) { + safeDraft.messageText = draft.message; + } + if (draft.previews) { + safeDraft.previews = draft.previews; + } + if (draft.uploadsInProgress) { + safeDraft.uploadsInProgress = draft.uploadsInProgress; + } + } + + return safeDraft; + } handleSubmit(e) { e.preventDefault(); @@ -253,18 +264,9 @@ export default class CreatePost extends React.Component { onChange() { const channelId = ChannelStore.getCurrentId(); if (this.state.channelId !== channelId) { - let draft = PostStore.getCurrentDraft(); - - let previews = []; - let messageText = ''; - let uploadsInProgress = []; - if (draft && (draft.message || (draft.previews && draft.previews.length))) { - previews = draft.previews; - messageText = draft.message; - uploadsInProgress = draft.uploadsInProgress; - } + const draft = this.getCurrentDraft(); - this.setState({channelId: channelId, messageText: messageText, initialText: messageText, submitting: false, serverError: null, postError: null, previews: previews, uploadsInProgress: uploadsInProgress}); + this.setState({channelId: channelId, messageText: draft.messageText, initialText: draft.messageText, submitting: false, serverError: null, postError: null, previews: draft.previews, uploadsInProgress: draft.uploadsInProgress}); } } getFileCount(channelId) { -- cgit v1.2.3-1-g7c22