summaryrefslogtreecommitdiffstats
path: root/web/react/stores
diff options
context:
space:
mode:
authornickago <ngonella@calpoly.edu>2015-07-20 12:54:13 -0700
committernickago <ngonella@calpoly.edu>2015-07-22 08:48:37 -0700
commitee25df7e5545ad3f4d6817b967a0bcea6e6e398d (patch)
treec742bc7150810f907d5d029ada5dce33a5a8d886 /web/react/stores
parent06bac01e882a7b05519d0e39bccafacd0c27c602 (diff)
downloadchat-ee25df7e5545ad3f4d6817b967a0bcea6e6e398d.tar.gz
chat-ee25df7e5545ad3f4d6817b967a0bcea6e6e398d.tar.bz2
chat-ee25df7e5545ad3f4d6817b967a0bcea6e6e398d.zip
Added message persistance on closing RHS/switching to another comment
thread. Similar to the center pane and channels, switching comment threads won't delete entered but unsent text/media in the RHS
Diffstat (limited to 'web/react/stores')
-rw-r--r--web/react/stores/post_store.jsx28
1 files changed, 20 insertions, 8 deletions
diff --git a/web/react/stores/post_store.jsx b/web/react/stores/post_store.jsx
index 5280bfe08..fe683c1e8 100644
--- a/web/react/stores/post_store.jsx
+++ b/web/react/stores/post_store.jsx
@@ -136,19 +136,23 @@ var PostStore = assign({}, EventEmitter.prototype, {
},
storeCurrentDraft: function(draft) {
var channel_id = ChannelStore.getCurrentId();
- var user_id = UserStore.getCurrentId();
- BrowserStore.setItem("draft_" + channel_id + "_" + user_id, draft);
+ BrowserStore.setItem("draft_" + channel_id, draft);
},
getCurrentDraft: function() {
var channel_id = ChannelStore.getCurrentId();
- var user_id = UserStore.getCurrentId();
- return BrowserStore.getItem("draft_" + channel_id + "_" + user_id);
+ return BrowserStore.getItem("draft_" + channel_id);
},
- storeDraft: function(channel_id, user_id, draft) {
- BrowserStore.setItem("draft_" + channel_id + "_" + user_id, draft);
+ storeDraft: function(channel_id, draft) {
+ BrowserStore.setItem("draft_" + channel_id, draft);
},
- getDraft: function(channel_id, user_id) {
- return BrowserStore.getItem("draft_" + channel_id + "_" + user_id);
+ getDraft: function(channel_id) {
+ return BrowserStore.getItem("draft_" + channel_id);
+ },
+ storeCommentDraft: function(parent_post_id, draft) {
+ BrowserStore.setItem("comment_draft_" + parent_post_id, draft);
+ },
+ getCommentDraft: function(parent_post_id) {
+ return BrowserStore.getItem("comment_draft_" + parent_post_id);
},
clearDraftUploads: function() {
BrowserStore.actionOnItemsWithPrefix("draft_", function (key, value) {
@@ -157,6 +161,14 @@ var PostStore = assign({}, EventEmitter.prototype, {
BrowserStore.setItem(key, value);
}
});
+ },
+ clearCommentDraftUploads: function() {
+ BrowserStore.actionOnItemsWithPrefix("comment_draft_", function (key, value) {
+ if (value) {
+ value.uploadsInProgress = 0;
+ BrowserStore.setItem(key, value);
+ }
+ });
}
});