Merge pull request #755 from rgarmsen2295/plt-164
PLT-164 Post drafts containing only files are now recognized properly
Этот коммит содержится в:
@@ -23,6 +23,7 @@ export default class CreatePost extends React.Component {
|
|||||||
|
|
||||||
this.lastTime = 0;
|
this.lastTime = 0;
|
||||||
|
|
||||||
|
this.getCurrentDraft = this.getCurrentDraft.bind(this);
|
||||||
this.handleSubmit = this.handleSubmit.bind(this);
|
this.handleSubmit = this.handleSubmit.bind(this);
|
||||||
this.postMsgKeyPress = this.postMsgKeyPress.bind(this);
|
this.postMsgKeyPress = this.postMsgKeyPress.bind(this);
|
||||||
this.handleUserInput = this.handleUserInput.bind(this);
|
this.handleUserInput = this.handleUserInput.bind(this);
|
||||||
@@ -36,23 +37,15 @@ export default class CreatePost extends React.Component {
|
|||||||
|
|
||||||
PostStore.clearDraftUploads();
|
PostStore.clearDraftUploads();
|
||||||
|
|
||||||
const draft = PostStore.getCurrentDraft();
|
const draft = this.getCurrentDraft();
|
||||||
let previews = [];
|
|
||||||
let messageText = '';
|
|
||||||
let uploadsInProgress = [];
|
|
||||||
if (draft && draft.previews && draft.message) {
|
|
||||||
previews = draft.previews;
|
|
||||||
messageText = draft.message;
|
|
||||||
uploadsInProgress = draft.uploadsInProgress;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
channelId: ChannelStore.getCurrentId(),
|
channelId: ChannelStore.getCurrentId(),
|
||||||
messageText: messageText,
|
messageText: draft.messageText,
|
||||||
uploadsInProgress: uploadsInProgress,
|
uploadsInProgress: draft.uploadsInProgress,
|
||||||
previews: previews,
|
previews: draft.previews,
|
||||||
submitting: false,
|
submitting: false,
|
||||||
initialText: messageText
|
initialText: draft.messageText
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
componentDidUpdate(prevProps, prevState) {
|
componentDidUpdate(prevProps, prevState) {
|
||||||
@@ -60,6 +53,24 @@ export default class CreatePost extends React.Component {
|
|||||||
this.resizePostHolder();
|
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) {
|
handleSubmit(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
@@ -253,18 +264,9 @@ export default class CreatePost extends React.Component {
|
|||||||
onChange() {
|
onChange() {
|
||||||
const channelId = ChannelStore.getCurrentId();
|
const channelId = ChannelStore.getCurrentId();
|
||||||
if (this.state.channelId !== channelId) {
|
if (this.state.channelId !== channelId) {
|
||||||
let draft = PostStore.getCurrentDraft();
|
const draft = this.getCurrentDraft();
|
||||||
|
|
||||||
let previews = [];
|
this.setState({channelId: channelId, messageText: draft.messageText, initialText: draft.messageText, submitting: false, serverError: null, postError: null, previews: draft.previews, uploadsInProgress: draft.uploadsInProgress});
|
||||||
let messageText = '';
|
|
||||||
let uploadsInProgress = [];
|
|
||||||
if (draft && draft.previews && draft.message) {
|
|
||||||
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});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
getFileCount(channelId) {
|
getFileCount(channelId) {
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ export default class PostListContainer extends React.Component {
|
|||||||
for (let i = 0; i <= this.state.postLists.length - 1; i++) {
|
for (let i = 0; i <= this.state.postLists.length - 1; i++) {
|
||||||
postListCtls.push(
|
postListCtls.push(
|
||||||
<PostList
|
<PostList
|
||||||
|
key={'postlistkey' + i}
|
||||||
channelId={postLists[i]}
|
channelId={postLists[i]}
|
||||||
isActive={postLists[i] === channelId}
|
isActive={postLists[i] === channelId}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user