From faefb529724b0214e3dfdbbad9c8592b8dcf4a40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Sun, 10 May 2020 20:47:35 +0200 Subject: [PATCH] Use the same code to add comments and replies --- app/assets/javascripts/comments.js | 28 +++++++++++----------------- app/views/comments/create.js.erb | 13 +++++-------- 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/app/assets/javascripts/comments.js b/app/assets/javascripts/comments.js index f2c5411ca..05229bce5 100644 --- a/app/assets/javascripts/comments.js +++ b/app/assets/javascripts/comments.js @@ -1,12 +1,8 @@ (function() { "use strict"; App.Comments = { - add_comment: function(parent_id, response_html) { - $(".comment-list:first").prepend($(response_html)); - this.update_comments_count(); - }, - add_reply: function(parent_id, response_html) { - $("#" + parent_id + " .comment-list:first").prepend($(response_html)); + add_comment: function(parent_selector, response_html) { + $(parent_selector + " .comment-list:first").prepend($(response_html)); this.update_comments_count(); }, update_comments_count: function() { @@ -21,17 +17,15 @@ display_error: function(field_with_errors, error_html) { $(error_html).insertAfter($("" + field_with_errors)); }, - reset_and_hide_form: function(id) { - var form_container, input; - form_container = $("#js-comment-form-" + id); - input = form_container.find("form textarea"); - input.val(""); - form_container.hide(); - }, - reset_form: function(id) { - var input; - input = $("#js-comment-form-" + id + " form textarea"); - input.val(""); + reset_form: function(parent_selector) { + var form_container; + + form_container = $(parent_selector + " .comment-form:first"); + form_container.find("textarea").val(""); + + if (parent_selector !== "") { + form_container.hide(); + } }, toggle_form: function(id) { $("#js-comment-form-" + id).toggle(); diff --git a/app/views/comments/create.js.erb b/app/views/comments/create.js.erb index ff8c068bf..1492140f0 100644 --- a/app/views/comments/create.js.erb +++ b/app/views/comments/create.js.erb @@ -1,11 +1,8 @@ -var comment_html = "
  • <%= j(render @comment) %>
  • " - <% if @comment.root? -%> - var commentable_id = "<%= dom_id(@commentable) %>"; - App.Comments.reset_form(commentable_id); - App.Comments.add_comment(commentable_id, comment_html); + var parent_id = ""; <% else -%> - var parent_id = "<%= "comment_#{@comment.parent_id}" %>"; - App.Comments.reset_and_hide_form(parent_id); - App.Comments.add_reply(parent_id, comment_html); + var parent_id = "#" + "<%= "comment_#{@comment.parent_id}" %>"; <% end -%> + +App.Comments.reset_form(parent_id); +App.Comments.add_comment(parent_id, "
  • <%= j(render @comment) %>
  • ");