2010-09-06 Adam Barth <abarth@webkit.org>
authorabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 Sep 2010 12:59:46 +0000 (12:59 +0000)
committerabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 Sep 2010 12:59:46 +0000 (12:59 +0000)
        Reviewed by Eric Seidel.

        [reviewtool] Add an "ok" button that collapses review comments
        https://bugs.webkit.org/show_bug.cgi?id=45255

        Many folks (including myself) are too trigger-happy with the "delete"
        button that we end up deleting perfectly good review comments.  This
        patch adds an "ok" button to absorb these clicks (and renames "delete"
        to "cancel").  When you click the ok button, the comment becomes
        non-editable and the box shrinks to fit the text.  You can click the
        text to get back to the editable version.

        * code-review.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@66821 268f45cc-cd09-0410-ab3c-d52691b4dbfc

BugsSite/ChangeLog
BugsSite/code-review.js

index b5a0db8..a7d5323 100644 (file)
@@ -1,3 +1,19 @@
+2010-09-06  Adam Barth  <abarth@webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        [reviewtool] Add an "ok" button that collapses review comments
+        https://bugs.webkit.org/show_bug.cgi?id=45255
+
+        Many folks (including myself) are too trigger-happy with the "delete"
+        button that we end up deleting perfectly good review comments.  This
+        patch adds an "ok" button to absorb these clicks (and renames "delete"
+        to "cancel").  When you click the ok button, the comment becomes
+        non-editable and the box shrinks to fit the text.  You can click the
+        text to get back to the editable version.
+
+        * code-review.js:
+
 2010-08-31  Adam Barth  <abarth@webkit.org>
 
         Reviewed by Eric Seidel.
index 4713e5e..d0a8ca5 100644 (file)
@@ -67,7 +67,7 @@
     line.attr('data-has-comment', 'true');
     line.addClass('commentContext');
 
-    var comment_block = $('<div class="comment"><textarea data-comment-for="' + line.attr('id') + '"></textarea><div class="actions"><button class="delete">Delete</button></div></div>');
+    var comment_block = $('<div class="comment"><textarea data-comment-for="' + line.attr('id') + '"></textarea><div class="actions"><button class="ok">Ok</button><button class="cancel">Cancel</button></div></div>');
     insertCommentFor(line, comment_block);
     comment_block.children('textarea').focus();
   }
     $(document.body).prepend('<div id="comment_form" class="inactive"><div class="winter"></div><div class="lightbox"><iframe src="attachment.cgi?id=' + attachment_id + '&action=reviewform"></iframe></div></div>');
   });
 
-  $('.comment .delete').live('click', function() {
+  $('.comment .cancel').live('click', function() {
     var line_id = $(this).parentsUntil('.comment').parent().find('textarea').attr('data-comment-for');
     var line = $('#' + line_id)
     findCommentBlockFor(line).remove();
     trimCommentContextToBefore(line);
   });
 
+  $('.comment .ok').live('click', function() {
+    var comment_textarea = $(this).parentsUntil('.comment').parent().find('textarea');
+    var line_id = comment_textarea.attr('data-comment-for');
+    var line = $('#' + line_id)
+    findCommentBlockFor(line).hide().after($('<div class="frozen-comment"></div>').text(comment_textarea.val()));
+  });
+
+  $('.frozen-comment').live('click', function() {
+    $(this).prev().show();
+    $(this).remove();
+  });
+
   function focusOn(comment) {
     $('.focused').removeClass('focused');
     if (comment.length == 0)