From 208c17dcc8f8fea3167f61a78f32a151c603e91f Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sat, 27 Jun 2020 09:03:34 -0400 Subject: Fixing comment edits stalling. Fixes #846 --- ui/src/components/comment-form.tsx | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'ui/src/components/comment-form.tsx') diff --git a/ui/src/components/comment-form.tsx b/ui/src/components/comment-form.tsx index 0fb7824e..45974cc0 100644 --- a/ui/src/components/comment-form.tsx +++ b/ui/src/components/comment-form.tsx @@ -245,7 +245,7 @@ export class CommentForm extends Component { }); } - handleFinished(data: CommentResponse) { + handleFinished(op: UserOperation, data: CommentResponse) { let isReply = this.props.node !== undefined && data.comment.parent_id !== null; let xor = @@ -253,11 +253,16 @@ export class CommentForm extends Component { if ( (data.comment.creator_id == UserService.Instance.user.id && - // If its a reply, make sure parent child match - isReply && - data.comment.parent_id == this.props.node.comment.id) || - // Otherwise, check the XOR of the two - (!isReply && xor) + ((op == UserOperation.CreateComment && + // If its a reply, make sure parent child match + isReply && + data.comment.parent_id == this.props.node.comment.id) || + // Otherwise, check the XOR of the two + (!isReply && xor))) || + // If its a comment edit, only check that its from your user, and that its a + // text edit only + + (op == UserOperation.EditComment && data.comment.content) ) { this.state.previewMode = false; this.state.loading = false; @@ -373,10 +378,10 @@ export class CommentForm extends Component { if (UserService.Instance.user) { if (res.op == UserOperation.CreateComment) { let data = res.data as CommentResponse; - this.handleFinished(data); + this.handleFinished(res.op, data); } else if (res.op == UserOperation.EditComment) { let data = res.data as CommentResponse; - this.handleFinished(data); + this.handleFinished(res.op, data); } } } -- cgit v1.2.3