summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorhmhealey <harrisonmhealey@gmail.com>2015-08-11 09:41:18 -0400
committerhmhealey <harrisonmhealey@gmail.com>2015-08-11 09:41:18 -0400
commit17b05f705f910429ece1ca6c64ec56bf89dd014b (patch)
treef33d4ccc0661cba6076e0865def0be6eb2359e8f /web
parent6ec1b7a8b3aad12bb337b6751a7859349aa03cf6 (diff)
downloadchat-17b05f705f910429ece1ca6c64ec56bf89dd014b.tar.gz
chat-17b05f705f910429ece1ca6c64ec56bf89dd014b.tar.bz2
chat-17b05f705f910429ece1ca6c64ec56bf89dd014b.zip
Changed PostStore.getDraft/getCommentDraft to return an empty draft instead of null when no draft is found
Diffstat (limited to 'web')
-rw-r--r--web/react/components/create_comment.jsx44
-rw-r--r--web/react/components/create_post.jsx57
-rw-r--r--web/react/stores/post_store.jsx9
3 files changed, 15 insertions, 95 deletions
diff --git a/web/react/components/create_comment.jsx b/web/react/components/create_comment.jsx
index 0eb5e28bf..78e06c532 100644
--- a/web/react/components/create_comment.jsx
+++ b/web/react/components/create_comment.jsx
@@ -89,9 +89,6 @@ module.exports = React.createClass({
},
handleUserInput: function(messageText) {
var draft = PostStore.getCommentDraft(this.props.rootId);
- if (!draft) {
- draft = {previews: [], uploadsInProgress: []};
- }
draft.message = messageText;
PostStore.storeCommentDraft(this.props.rootId, draft);
@@ -101,12 +98,6 @@ module.exports = React.createClass({
},
handleUploadStart: function(clientIds, channelId) {
var draft = PostStore.getCommentDraft(this.props.rootId);
- if (!draft) {
- draft = {};
- draft['message'] = '';
- draft['uploadsInProgress'] = [];
- draft['previews'] = [];
- }
draft['uploadsInProgress'] = draft['uploadsInProgress'].concat(clientIds);
PostStore.storeCommentDraft(this.props.rootId, draft);
@@ -115,12 +106,6 @@ module.exports = React.createClass({
},
handleFileUploadComplete: function(filenames, clientIds, channelId) {
var draft = PostStore.getCommentDraft(this.props.rootId);
- if (!draft) {
- draft = {};
- draft['message'] = '';
- draft['uploadsInProgress'] = [];
- draft['previews'] = [];
- }
// remove each finished file from uploads
for (var i = 0; i < clientIds.length; i++) {
@@ -138,12 +123,6 @@ module.exports = React.createClass({
},
handleUploadError: function(err, clientId) {
var draft = PostStore.getCommentDraft(this.props.rootId);
- if (!draft) {
- draft = {};
- draft['message'] = '';
- draft['uploadsInProgress'] = [];
- draft['previews'] = [];
- }
var index = draft['uploadsInProgress'].indexOf(clientId);
if (index !== -1) {
@@ -175,9 +154,6 @@ module.exports = React.createClass({
}
var draft = PostStore.getCommentDraft(this.props.rootId);
- if (!draft) {
- draft = {message: '', uploadsInProgress: []};
- }
draft.previews = previews;
draft.uploadsInProgress = uploadsInProgress;
PostStore.storeCommentDraft(this.props.rootId, draft);
@@ -188,28 +164,12 @@ module.exports = React.createClass({
PostStore.clearCommentDraftUploads();
var draft = PostStore.getCommentDraft(this.props.rootId);
- var messageText = '';
- var uploadsInProgress = [];
- var previews = [];
- if (draft) {
- messageText = draft.message;
- uploadsInProgress = draft.uploadsInProgress;
- previews = draft.previews
- }
- return {messageText: messageText, uploadsInProgress: uploadsInProgress, previews: previews, submitting: false};
+ return {messageText: draft['message'], uploadsInProgress: draft['uploadsInProgress'], previews: draft['previews'], submitting: false};
},
componentWillReceiveProps: function(newProps) {
if (newProps.rootId !== this.props.rootId) {
var draft = PostStore.getCommentDraft(newProps.rootId);
- var messageText = '';
- var uploadsInProgress = [];
- var previews = [];
- if (draft) {
- messageText = draft.message;
- uploadsInProgress = draft.uploadsInProgress;
- previews = draft.previews
- }
- this.setState({messageText: messageText, uploadsInProgress: uploadsInProgress, previews: previews});
+ this.setState({messageText: draft['message'], uploadsInProgress: draft['uploadsInProgress'], previews: draft['previews']});
}
},
getFileCount: function(channelId) {
diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx
index 80b1208ff..9ca1d5388 100644
--- a/web/react/components/create_post.jsx
+++ b/web/react/components/create_post.jsx
@@ -111,11 +111,6 @@ module.exports = React.createClass({
this.setState({messageText: messageText});
var draft = PostStore.getCurrentDraft();
- if (!draft) {
- draft = {};
- draft['previews'] = [];
- draft['uploadsInProgress'] = [];
- }
draft['message'] = messageText;
PostStore.storeCurrentDraft(draft);
},
@@ -126,12 +121,6 @@ module.exports = React.createClass({
},
handleUploadStart: function(clientIds, channelId) {
var draft = PostStore.getDraft(channelId);
- if (!draft) {
- draft = {};
- draft['message'] = '';
- draft['uploadsInProgress'] = [];
- draft['previews'] = [];
- }
draft['uploadsInProgress'] = draft['uploadsInProgress'].concat(clientIds);
PostStore.storeDraft(channelId, draft);
@@ -140,12 +129,6 @@ module.exports = React.createClass({
},
handleFileUploadComplete: function(filenames, clientIds, channelId) {
var draft = PostStore.getDraft(channelId);
- if (!draft) {
- draft = {};
- draft['message'] = '';
- draft['uploadsInProgress'] = [];
- draft['previews'] = [];
- }
// remove each finished file from uploads
for (var i = 0; i < clientIds.length; i++) {
@@ -163,12 +146,6 @@ module.exports = React.createClass({
},
handleUploadError: function(err, clientId) {
var draft = PostStore.getDraft(this.state.channelId);
- if (!draft) {
- draft = {};
- draft['message'] = '';
- draft['uploadsInProgress'] = [];
- draft['previews'] = [];
- }
var index = draft['uploadsInProgress'].indexOf(clientId);
if (index !== -1) {
@@ -197,11 +174,6 @@ module.exports = React.createClass({
}
var draft = PostStore.getCurrentDraft();
- if (!draft) {
- draft = {};
- draft['message'] = '';
- draft['uploadsInProgress'] = [];
- }
draft['previews'] = previews;
draft['uploadsInProgress'] = uploadsInProgress;
PostStore.storeCurrentDraft(draft);
@@ -219,17 +191,9 @@ module.exports = React.createClass({
var channelId = ChannelStore.getCurrentId();
if (this.state.channelId !== channelId) {
var draft = PostStore.getCurrentDraft();
- var previews = [];
- var messageText = '';
- var uploadsInProgress = [];
- if (draft) {
- previews = draft['previews'];
- messageText = draft['message'];
- uploadsInProgress = draft['uploadsInProgress'];
- }
this.setState({
- channelId: channelId, messageText: messageText, initialText: messageText, submitting: false,
- serverError: null, postError: null, previews: previews, uploadsInProgress: uploadsInProgress
+ channelId: channelId, messageText: draft['message'], initialText: draft['message'], submitting: false,
+ serverError: null, postError: null, previews: draft['previews'], uploadsInProgress: draft['uploadsInProgress']
});
}
},
@@ -237,13 +201,10 @@ module.exports = React.createClass({
PostStore.clearDraftUploads();
var draft = PostStore.getCurrentDraft();
- var previews = [];
- var messageText = '';
- if (draft) {
- previews = draft['previews'];
- messageText = draft['message'];
- }
- return {channelId: ChannelStore.getCurrentId(), messageText: messageText, uploadsInProgress: [], previews: previews, submitting: false, initialText: messageText};
+ return {
+ channelId: ChannelStore.getCurrentId(), messageText: draft['message'], uploadsInProgress: draft['uploadsInProgress'],
+ previews: draft['previews'], submitting: false, initialText: draft['message']
+ };
},
getFileCount: function(channelId) {
if (channelId === this.state.channelId) {
@@ -251,11 +212,7 @@ module.exports = React.createClass({
} else {
var draft = PostStore.getDraft(channelId);
- if (draft) {
- return draft['previews'].length + draft['uploadsInProgress'].length;
- } else {
- return 0;
- }
+ return draft['previews'].length + draft['uploadsInProgress'].length;
}
},
render: function() {
diff --git a/web/react/stores/post_store.jsx b/web/react/stores/post_store.jsx
index 044e7b300..9ebdf734c 100644
--- a/web/react/stores/post_store.jsx
+++ b/web/react/stores/post_store.jsx
@@ -132,25 +132,28 @@ var PostStore = assign({}, EventEmitter.prototype, {
getSearchTerm: function getSearchTerm() {
return BrowserStore.getItem('search_term');
},
+ getEmptyDraft: function getEmptyDraft(draft) {
+ return {message: '', uploadsInProgress: [], previews: []};
+ },
storeCurrentDraft: function storeCurrentDraft(draft) {
var channelId = ChannelStore.getCurrentId();
BrowserStore.setItem('draft_' + channelId, draft);
},
getCurrentDraft: function getCurrentDraft() {
var channelId = ChannelStore.getCurrentId();
- return BrowserStore.getItem('draft_' + channelId);
+ return PostStore.getDraft(channelId);
},
storeDraft: function storeDraft(channelId, draft) {
BrowserStore.setItem('draft_' + channelId, draft);
},
getDraft: function getDraft(channelId) {
- return BrowserStore.getItem('draft_' + channelId);
+ return BrowserStore.getItem('draft_' + channelId, PostStore.getEmptyDraft());
},
storeCommentDraft: function storeCommentDraft(parentPostId, draft) {
BrowserStore.setItem('comment_draft_' + parentPostId, draft);
},
getCommentDraft: function getCommentDraft(parentPostId) {
- return BrowserStore.getItem('comment_draft_' + parentPostId);
+ return BrowserStore.getItem('comment_draft_' + parentPostId, PostStore.getEmptyDraft());
},
clearDraftUploads: function clearDraftUploads() {
BrowserStore.actionOnItemsWithPrefix('draft_', function clearUploads(key, value) {