Fixing comment edits stalling. Fixes #846

This commit is contained in:
Dessalines 2020-06-27 09:03:34 -04:00
parent 96f133750d
commit 208c17dcc8

View file

@ -245,7 +245,7 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
}); });
} }
handleFinished(data: CommentResponse) { handleFinished(op: UserOperation, data: CommentResponse) {
let isReply = let isReply =
this.props.node !== undefined && data.comment.parent_id !== null; this.props.node !== undefined && data.comment.parent_id !== null;
let xor = let xor =
@ -253,11 +253,16 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
if ( if (
(data.comment.creator_id == UserService.Instance.user.id && (data.comment.creator_id == UserService.Instance.user.id &&
((op == UserOperation.CreateComment &&
// If its a reply, make sure parent child match // If its a reply, make sure parent child match
isReply && isReply &&
data.comment.parent_id == this.props.node.comment.id) || data.comment.parent_id == this.props.node.comment.id) ||
// Otherwise, check the XOR of the two // Otherwise, check the XOR of the two
(!isReply && xor) (!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.previewMode = false;
this.state.loading = false; this.state.loading = false;
@ -373,10 +378,10 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
if (UserService.Instance.user) { if (UserService.Instance.user) {
if (res.op == UserOperation.CreateComment) { if (res.op == UserOperation.CreateComment) {
let data = res.data as CommentResponse; let data = res.data as CommentResponse;
this.handleFinished(data); this.handleFinished(res.op, data);
} else if (res.op == UserOperation.EditComment) { } else if (res.op == UserOperation.EditComment) {
let data = res.data as CommentResponse; let data = res.data as CommentResponse;
this.handleFinished(data); this.handleFinished(res.op, data);
} }
} }
} }