diff --git a/CHANGES.txt b/CHANGES.txt index 60c1dd9..337580d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,9 @@ Changelog 2.1.6 (unreleased) ------------------ +- Fix excessive JS comment deletion. + [gaudenz] + - No longer depend on zope.app packages. [hannosch] diff --git a/plone/app/discussion/browser/javascripts/comments.js b/plone/app/discussion/browser/javascripts/comments.js index 4e7cb97..6519202 100644 --- a/plone/app/discussion/browser/javascripts/comments.js +++ b/plone/app/discussion/browser/javascripts/comments.js @@ -179,31 +179,24 @@ url: form_url, context: $(trigger).parents(".comment"), success: function (data) { - if ($(".discussion .replyTreeLevel0").length === 1) { - $(".discussion").fadeOut('fast', function () { - $(".discussion").remove(); - }); + var comment = $(this); + var clss = comment.attr('class'); + // remove replies + var treelevel = parseInt(clss[clss.indexOf('replyTreeLevel') + 'replyTreeLevel'.length], 10); + // selector for all the following elements of lower level + var selector = ".replyTreeLevel" + treelevel; + for (var i = 0; i < treelevel; i++) { + selector += ", .replyTreeLevel" + i; } - else { - var comment = $(this); - var clss = comment.attr('class'); - // remove replies - var treelevel = parseInt(clss[clss.indexOf('replyTreeLevel') + 'replyTreeLevel'.length], 10); - // selector for all the following elements of lower level - var selector = ".replyTreeLevel" + treelevel; - for (var i = 0; i < treelevel; i++) { - selector += ", .replyTreeLevel" + i; - } - comment.nextUntil(selector).each(function () { - $(this).fadeOut('fast', function () { - $(this).remove(); - }); - }); - // remove comment + comment.nextUntil(selector).each(function () { $(this).fadeOut('fast', function () { $(this).remove(); }); - } + }); + // remove comment + $(this).fadeOut('fast', function () { + $(this).remove(); + }); }, error: function (req, error) { return true;