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 =
this.props.node !== undefined && data.comment.parent_id !== null;
let xor =
@ -253,11 +253,16 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
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<CommentFormProps, CommentFormState> {
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);
}
}
}