From 32b3ba6bbbfd2fe3655d06f288aea6f4d803f945 Mon Sep 17 00:00:00 2001 From: Paulo Reis Date: Wed, 16 Nov 2016 16:13:39 +0000 Subject: [PATCH 1/2] Pull indicators into entries directives. --- .../views/project/editor/review-panel.jade | 179 +++++++++--------- .../directives/addCommentEntry.coffee | 1 + .../directives/changeEntry.coffee | 1 + .../directives/commentEntry.coffee | 1 + 4 files changed, 97 insertions(+), 85 deletions(-) diff --git a/services/web/app/views/project/editor/review-panel.jade b/services/web/app/views/project/editor/review-panel.jade index 2741a35b57..8e15ec2b58 100644 --- a/services/web/app/views/project/editor/review-panel.jade +++ b/services/web/app/views/project/editor/review-panel.jade @@ -14,26 +14,13 @@ ng-class="'rp-entry-callout-' + entry.type" ) - div(ng-switch="entry.type") - .rp-entry-indicator(ng-switch-when="insert", ng-class="{ 'rp-entry-indicator-focused': entry.focused }") - i.fa.fa-pencil - .rp-entry-indicator(ng-switch-when="delete", ng-class="{ 'rp-entry-indicator-focused': entry.focused }") - i.rp-icon-delete - .rp-entry-indicator(ng-switch-when="comment", ng-class="{ 'rp-entry-indicator-focused': entry.focused }") - i.fa.fa-comment - .rp-entry-indicator( - ng-switch-when="add-comment" - ng-if="!commentState.adding" - ng-click="startNewComment(); toggleReviewPanel();" - ) - i.fa.fa-commenting - div(ng-if="entry.type === 'insert' || entry.type === 'delete'") change-entry( entry="entry" user="users[entry.metadata.user_id]" on-reject="rejectChange(entry_id);" on-accept="acceptChange(entry_id);" + on-indicator-click="toggleReviewPanel();" ) div(ng-if="entry.type === 'comment'") @@ -42,6 +29,7 @@ users="users" on-resolve="" on-reply="submitReply(entry);" + on-indicator-click="toggleReviewPanel();" ) div(ng-if="entry.type === 'add-comment'") @@ -49,6 +37,7 @@ on-start-new="startNewComment();" on-submit="submitNewComment(content);" on-cancel="cancelNewComment();" + on-indicator-click="toggleReviewPanel();" ) .rp-overview-entry-list( @@ -171,81 +160,101 @@ script(type='text/ng-template', id='changeEntryTemplate') - .rp-entry( - ng-class="[ 'rp-entry-' + entry.type, (entry.focused ? 'rp-entry-focused' : '')]" - ) - .rp-entry-header - .rp-entry-action-icon(ng-switch="entry.type") - i.fa.fa-pencil(ng-switch-when="insert") - i.rp-icon-delete(ng-switch-when="delete") - .rp-entry-metadata - p.rp-entry-metadata-line(style="color: hsl({{ user.hue }}, 70%, 50%);") {{ user.name }} - p.rp-entry-metadata-line {{ entry.metadata.ts | date : 'MMM d, y h:mm a' }} - .rp-avatar(style="background-color: hsl({{ user.hue }}, 70%, 50%);") {{ user.avatar_text }} - .rp-entry-body(ng-switch="entry.type") - span(ng-switch-when="insert") Added  - ins.rp-content-highlight {{ entry.content }} - span(ng-switch-when="delete") Deleted  - del.rp-content-highlight {{ entry.content }} - .rp-entry-actions - a.rp-entry-button(href, ng-click="onReject();") - i.fa.fa-times - |  Reject - a.rp-entry-button(href, ng-click="onAccept();") - i.fa.fa-check - |  Accept + div + .rp-entry-indicator( + ng-switch="entry.type" + ng-class="{ 'rp-entry-indicator-focused': entry.focused }" + ng-click="onIndicatorClick();" + ) + i.fa.fa-pencil(ng-switch-when="insert") + i.rp-icon-delete(ng-switch-when="delete") + .rp-entry( + ng-class="[ 'rp-entry-' + entry.type, (entry.focused ? 'rp-entry-focused' : '')]" + ) + .rp-entry-header + .rp-entry-action-icon(ng-switch="entry.type") + i.fa.fa-pencil(ng-switch-when="insert") + i.rp-icon-delete(ng-switch-when="delete") + .rp-entry-metadata + p.rp-entry-metadata-line(style="color: hsl({{ user.hue }}, 70%, 50%);") {{ user.name }} + p.rp-entry-metadata-line {{ entry.metadata.ts | date : 'MMM d, y h:mm a' }} + .rp-avatar(style="background-color: hsl({{ user.hue }}, 70%, 50%);") {{ user.avatar_text }} + .rp-entry-body(ng-switch="entry.type") + span(ng-switch-when="insert") Added  + ins.rp-content-highlight {{ entry.content }} + span(ng-switch-when="delete") Deleted  + del.rp-content-highlight {{ entry.content }} + .rp-entry-actions + a.rp-entry-button(href, ng-click="onReject();") + i.fa.fa-times + |  Reject + a.rp-entry-button(href, ng-click="onAccept();") + i.fa.fa-check + |  Accept script(type='text/ng-template', id='commentEntryTemplate') - .rp-entry.rp-entry-comment( - ng-class="entry.focused ? 'rp-entry-focused' : '';" - ) - .rp-comment( - ng-repeat="comment in entry.thread" - ng-class="users[comment.user_id].isSelf ? 'rp-comment-self' : '';" + div + .rp-entry-indicator( + ng-class="{ 'rp-entry-indicator-focused': entry.focused }" + ng-click="onIndicatorClick();" ) - .rp-avatar( - ng-if="!users[comment.user_id].isSelf;" - style="background-color: hsl({{ users[comment.user_id].hue }}, 70%, 50%);" - ) {{ users[comment.user_id].avatar_text }} - .rp-comment-body(style="color: hsl({{ users[comment.user_id].hue }}, 70%, 90%);") - p.rp-comment-content {{ comment.content }} - p.rp-comment-metadata - | {{ comment.ts | date : 'MMM d, y h:mm a' }} - |  •  - span(style="color: hsl({{ users[comment.user_id].hue }}, 70%, 40%);") {{ users[comment.user_id].name }} - .rp-comment-reply - textarea.rp-comment-input( - ng-model="entry.replyContent" - ng-keypress="handleCommentReplyKeyPress($event);" - placeholder="Hit \"Enter\" to reply" - ) - .rp-entry-actions - a.rp-entry-button(href, ng-click="onResolve();") - i.fa.fa-check - |  Mark as resolved - -script(type='text/ng-template', id='addCommentEntryTemplate') - .rp-entry.rp-entry-add-comment( - ng-class="[ (state.isAdding ? 'rp-entry-adding-comment' : ''), (entry.focused ? 'rp-entry-focused' : '')]" - ) - a.rp-add-comment-btn( - href - ng-if="!state.isAdding" - ng-click="startNewComment();" - ) i.fa.fa-comment - |  Add comment - div(ng-if="state.isAdding") - .rp-new-comment + .rp-entry.rp-entry-comment( + ng-class="entry.focused ? 'rp-entry-focused' : '';" + ) + .rp-comment( + ng-repeat="comment in entry.thread" + ng-class="users[comment.user_id].isSelf ? 'rp-comment-self' : '';" + ) + .rp-avatar( + ng-if="!users[comment.user_id].isSelf;" + style="background-color: hsl({{ users[comment.user_id].hue }}, 70%, 50%);" + ) {{ users[comment.user_id].avatar_text }} + .rp-comment-body(style="color: hsl({{ users[comment.user_id].hue }}, 70%, 90%);") + p.rp-comment-content {{ comment.content }} + p.rp-comment-metadata + | {{ comment.ts | date : 'MMM d, y h:mm a' }} + |  •  + span(style="color: hsl({{ users[comment.user_id].hue }}, 70%, 40%);") {{ users[comment.user_id].name }} + .rp-comment-reply textarea.rp-comment-input( - ng-model="state.content" - ng-keypress="handleCommentKeyPress($event);" - placeholder="Add your comment here" + ng-model="entry.replyContent" + ng-keypress="handleCommentReplyKeyPress($event);" + placeholder="Hit \"Enter\" to reply" ) .rp-entry-actions - a.rp-entry-button(href, ng-click="cancelNewComment();") - i.fa.fa-times - |  Cancel - a.rp-entry-button(href, ng-click="submitNewComment()") - i.fa.fa-comment - |  Comment \ No newline at end of file + a.rp-entry-button(href, ng-click="onResolve();") + i.fa.fa-check + |  Mark as resolved + +script(type='text/ng-template', id='addCommentEntryTemplate') + div + .rp-entry-indicator( + ng-if="!commentState.adding" + ng-click="startNewComment(); onIndicatorClick();" + ) + i.fa.fa-commenting + .rp-entry.rp-entry-add-comment( + ng-class="[ (state.isAdding ? 'rp-entry-adding-comment' : ''), (entry.focused ? 'rp-entry-focused' : '')]" + ) + a.rp-add-comment-btn( + href + ng-if="!state.isAdding" + ng-click="startNewComment();" + ) + i.fa.fa-comment + |  Add comment + div(ng-if="state.isAdding") + .rp-new-comment + textarea.rp-comment-input( + ng-model="state.content" + ng-keypress="handleCommentKeyPress($event);" + placeholder="Add your comment here" + ) + .rp-entry-actions + a.rp-entry-button(href, ng-click="cancelNewComment();") + i.fa.fa-times + |  Cancel + a.rp-entry-button(href, ng-click="submitNewComment()") + i.fa.fa-comment + |  Comment \ No newline at end of file diff --git a/services/web/public/coffee/ide/review-panel/directives/addCommentEntry.coffee b/services/web/public/coffee/ide/review-panel/directives/addCommentEntry.coffee index 202dfa0d80..fd3edd09ca 100644 --- a/services/web/public/coffee/ide/review-panel/directives/addCommentEntry.coffee +++ b/services/web/public/coffee/ide/review-panel/directives/addCommentEntry.coffee @@ -8,6 +8,7 @@ define [ onStartNew: "&" onSubmit: "&" onCancel: "&" + onIndicatorClick: "&" link: (scope, element, attrs) -> scope.state = isAdding: false diff --git a/services/web/public/coffee/ide/review-panel/directives/changeEntry.coffee b/services/web/public/coffee/ide/review-panel/directives/changeEntry.coffee index adf474a6bd..d436a34b2c 100644 --- a/services/web/public/coffee/ide/review-panel/directives/changeEntry.coffee +++ b/services/web/public/coffee/ide/review-panel/directives/changeEntry.coffee @@ -9,4 +9,5 @@ define [ user: "=" onAccept: "&" onReject: "&" + onIndicatorClick: "&" \ No newline at end of file diff --git a/services/web/public/coffee/ide/review-panel/directives/commentEntry.coffee b/services/web/public/coffee/ide/review-panel/directives/commentEntry.coffee index 32efcbbe39..3fe0bd93cf 100644 --- a/services/web/public/coffee/ide/review-panel/directives/commentEntry.coffee +++ b/services/web/public/coffee/ide/review-panel/directives/commentEntry.coffee @@ -9,6 +9,7 @@ define [ users: "=" onResolve: "&" onReply: "&" + onIndicatorClick: "&" link: (scope, element, attrs) -> scope.handleCommentReplyKeyPress = (ev) -> if ev.keyCode == 13 and !ev.shiftKey and !ev.ctrlKey and !ev.metaKey From 706b0793abbd5d3e1c97b4ec221308f0f4bddd3d Mon Sep 17 00:00:00 2001 From: Paulo Reis Date: Wed, 16 Nov 2016 16:21:24 +0000 Subject: [PATCH 2/2] Pull callouts into entries directives. --- services/web/app/views/project/editor/review-panel.jade | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/services/web/app/views/project/editor/review-panel.jade b/services/web/app/views/project/editor/review-panel.jade index 8e15ec2b58..7328bf584f 100644 --- a/services/web/app/views/project/editor/review-panel.jade +++ b/services/web/app/views/project/editor/review-panel.jade @@ -10,10 +10,6 @@ .rp-entry-wrapper( ng-repeat="(entry_id, entry) in reviewPanel.entries[editor.open_doc_id]" ) - .rp-entry-callout( - ng-class="'rp-entry-callout-' + entry.type" - ) - div(ng-if="entry.type === 'insert' || entry.type === 'delete'") change-entry( entry="entry" @@ -161,6 +157,9 @@ script(type='text/ng-template', id='changeEntryTemplate') div + .rp-entry-callout( + ng-class="'rp-entry-callout-' + entry.type" + ) .rp-entry-indicator( ng-switch="entry.type" ng-class="{ 'rp-entry-indicator-focused': entry.focused }" @@ -194,6 +193,7 @@ script(type='text/ng-template', id='changeEntryTemplate') script(type='text/ng-template', id='commentEntryTemplate') div + .rp-entry-callout.rp-entry-callout-comment .rp-entry-indicator( ng-class="{ 'rp-entry-indicator-focused': entry.focused }" ng-click="onIndicatorClick();" @@ -229,6 +229,7 @@ script(type='text/ng-template', id='commentEntryTemplate') script(type='text/ng-template', id='addCommentEntryTemplate') div + .rp-entry-callout.rp-entry-callout-add-comment .rp-entry-indicator( ng-if="!commentState.adding" ng-click="startNewComment(); onIndicatorClick();"