Răsfoiți Sursa

Pull indicators into entries directives.

Paulo Reis 10 ani în urmă
părinte
comite
32b3ba6bbb

+ 94 - 85
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
+				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

+ 1 - 0
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

+ 1 - 0
services/web/public/coffee/ide/review-panel/directives/changeEntry.coffee

@@ -9,4 +9,5 @@ define [
 			user: "="
 			onAccept: "&"
 			onReject: "&"
+			onIndicatorClick: "&"
 		

+ 1 - 0
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