From 5e6d4ad27c4795955f57a6d67179587383e22110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Fri, 24 Nov 2017 13:04:59 +0100 Subject: [PATCH] Disable elements while a comment is being deleted MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a comment is being deleted the "disabled" class is added to the comment div, which causes it to look disabled. However, the input elements and the content editable div were not truly disabled, and thus it was still possible to interact with them. This commit ensures that they are properly disabled while the comment is being deleted. Signed-off-by: Daniel Calviño Sánchez --- apps/comments/css/comments.css | 4 ++-- apps/comments/js/commentstabview.js | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/comments/css/comments.css b/apps/comments/css/comments.css index 1ed418df2f..6b0452da1f 100644 --- a/apps/comments/css/comments.css +++ b/apps/comments/css/comments.css @@ -35,8 +35,8 @@ border: none; opacity: .3; } -#commentsTabView .newCommentForm .submit:hover, -#commentsTabView .newCommentForm .submit:focus { +#commentsTabView .newCommentForm .submit:not(:disabled):hover, +#commentsTabView .newCommentForm .submit:not(:disabled):focus { opacity: 1; } diff --git a/apps/comments/js/commentstabview.js b/apps/comments/js/commentstabview.js index 7398a70942..0d2d0b0b81 100644 --- a/apps/comments/js/commentstabview.js +++ b/apps/comments/js/commentstabview.js @@ -544,9 +544,16 @@ var $comment = $(ev.target).closest('.comment'); var commentId = $comment.data('id'); var $loading = $comment.find('.submitLoading'); + var $commentField = $comment.find('.message'); + var $submit = $comment.find('.submit'); + var $cancel = $comment.find('.cancel'); + $commentField.prop('contenteditable', false); + $submit.prop('disabled', true); + $cancel.prop('disabled', true); $comment.addClass('disabled'); $loading.removeClass('hidden'); + this.collection.get(commentId).destroy({ success: function() { $comment.data('commentEl').remove(); @@ -555,6 +562,10 @@ error: function() { $loading.addClass('hidden'); $comment.removeClass('disabled'); + $commentField.prop('contenteditable', true); + $submit.prop('disabled', false); + $cancel.prop('disabled', false); + OC.Notification.showTemporary(t('comments', 'Error occurred while retrieving comment with id {id}', {id: commentId})); } });