diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2016-10-31 10:52:00 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-10-31 10:52:00 -0400 |
commit | a8e772fa4878e3004e5399d85b7105dee3859312 (patch) | |
tree | b187a45ba263940f70115979bd0a198a148bb1ca /webapp/stores/post_store.jsx | |
parent | b3044ba4eaf017486f70c7f324d0942c37f71e28 (diff) | |
download | chat-a8e772fa4878e3004e5399d85b7105dee3859312.tar.gz chat-a8e772fa4878e3004e5399d85b7105dee3859312.tar.bz2 chat-a8e772fa4878e3004e5399d85b7105dee3859312.zip |
Cleaned up code for ensuring post drafts are non-null (#4382)
Diffstat (limited to 'webapp/stores/post_store.jsx')
-rw-r--r-- | webapp/stores/post_store.jsx | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/webapp/stores/post_store.jsx b/webapp/stores/post_store.jsx index cdd3f5860..6adc03bad 100644 --- a/webapp/stores/post_store.jsx +++ b/webapp/stores/post_store.jsx @@ -513,8 +513,23 @@ class PostStoreClass extends EventEmitter { return lastPost; } - getEmptyDraft() { - return {message: '', uploadsInProgress: [], fileInfos: []}; + normalizeDraft(originalDraft) { + let draft = { + messageText: '', + uploadsInProgress: [], + fileInfos: [] + }; + + // Make sure that the post draft is non-null and has all the required fields + if (originalDraft) { + draft = { + messageText: originalDraft.messageText || draft.messageText, + uploadsInProgress: originalDraft.uploadsInProgress || draft.uploadsInProgress, + fileInfos: originalDraft.fileInfos || draft.fileInfos + }; + } + + return draft; } storeCurrentDraft(draft) { @@ -532,7 +547,7 @@ class PostStoreClass extends EventEmitter { } getDraft(channelId) { - return BrowserStore.getGlobalItem('draft_' + channelId, this.getEmptyDraft()); + return this.normalizeDraft(BrowserStore.getGlobalItem('draft_' + channelId)); } storeCommentDraft(parentPostId, draft) { @@ -540,7 +555,7 @@ class PostStoreClass extends EventEmitter { } getCommentDraft(parentPostId) { - return BrowserStore.getGlobalItem('comment_draft_' + parentPostId, this.getEmptyDraft()); + return this.normalizeDraft(BrowserStore.getGlobalItem('comment_draft_' + parentPostId)); } clearDraftUploads() { |