summaryrefslogtreecommitdiffstats
path: root/ui/src/components/comment-form.tsx
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2020-06-27 09:03:34 -0400
committerDessalines <tyhou13@gmx.com>2020-06-27 09:03:34 -0400
commit208c17dcc8f8fea3167f61a78f32a151c603e91f (patch)
tree587b21e74bda995eb852d1cc5fa6cfa26d6cbc45 /ui/src/components/comment-form.tsx
parent96f133750dd295d62672beec38232f81764cade8 (diff)
Fixing comment edits stalling. Fixes #846
Diffstat (limited to 'ui/src/components/comment-form.tsx')
-rw-r--r--ui/src/components/comment-form.tsx21
1 files changed, 13 insertions, 8 deletions
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<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);
}
}
}