mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Changed PostStore.getDraft/getCommentDraft to return an empty draft instead of null when no draft is found
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user