Просмотр исходного кода

Separate resolved comments so they don't affect review panel

James Allen 9 лет назад
Родитель
Сommit
b6ea338ff8

+ 1 - 1
services/web/app/views/project/editor/review-panel.jade

@@ -1,7 +1,7 @@
 #review-panel
 #review-panel
 	.review-panel-toolbar
 	.review-panel-toolbar
 		resolved-comments-dropdown(
 		resolved-comments-dropdown(
-			entries="reviewPanel.entries"
+			entries="reviewPanel.resolvedComments"
 			threads="reviewPanel.commentThreads"
 			threads="reviewPanel.commentThreads"
 			resolved-ids="reviewPanel.resolvedThreadIds"
 			resolved-ids="reviewPanel.resolvedThreadIds"
 			docs="docs"
 			docs="docs"

+ 14 - 2
services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee

@@ -13,6 +13,7 @@ define [
 
 
 		$scope.reviewPanel =
 		$scope.reviewPanel =
 			entries: {}
 			entries: {}
+			resolvedComments: {}
 			hasEntries: false
 			hasEntries: false
 			subView: $scope.SubViews.CUR_FILE
 			subView: $scope.SubViews.CUR_FILE
 			openSubView: $scope.SubViews.CUR_FILE
 			openSubView: $scope.SubViews.CUR_FILE
@@ -69,6 +70,10 @@ define [
 			$scope.reviewPanel.entries[doc_id] ?= {}
 			$scope.reviewPanel.entries[doc_id] ?= {}
 			return $scope.reviewPanel.entries[doc_id]
 			return $scope.reviewPanel.entries[doc_id]
 
 
+		getDocResolvedComments = (doc_id) ->
+			$scope.reviewPanel.resolvedComments[doc_id] ?= {}
+			return $scope.reviewPanel.resolvedComments[doc_id]
+
 		getChangeTracker = (doc_id) ->
 		getChangeTracker = (doc_id) ->
 			if !rangesTrackers[doc_id]?
 			if !rangesTrackers[doc_id]?
 				rangesTrackers[doc_id] = new RangesTracker()
 				rangesTrackers[doc_id] = new RangesTracker()
@@ -162,6 +167,7 @@ define [
 		updateEntries = (doc_id) ->
 		updateEntries = (doc_id) ->
 			rangesTracker = getChangeTracker(doc_id)
 			rangesTracker = getChangeTracker(doc_id)
 			entries = getDocEntries(doc_id)
 			entries = getDocEntries(doc_id)
+			resolvedComments = getDocResolvedComments(doc_id)
 			
 			
 			changed = false
 			changed = false
 
 
@@ -170,6 +176,8 @@ define [
 			for change_id, change of entries
 			for change_id, change of entries
 				if change_id != "add-comment"
 				if change_id != "add-comment"
 					delete_changes[change_id] = true 
 					delete_changes[change_id] = true 
+			for change_id, change of resolvedComments
+				delete_changes[change_id] = true 
 
 
 			for change in rangesTracker.changes
 			for change in rangesTracker.changes
 				changed = true
 				changed = true
@@ -194,7 +202,10 @@ define [
 			for comment in rangesTracker.comments
 			for comment in rangesTracker.comments
 				changed = true
 				changed = true
 				delete delete_changes[comment.id]
 				delete delete_changes[comment.id]
-				entries[comment.id] ?= {}
+				if $scope.reviewPanel.resolvedThreadIds[comment.op.t]
+					new_comment = resolvedComments[comment.id] ?= {}
+				else
+					new_comment = entries[comment.id] ?= {}
 				new_entry = {
 				new_entry = {
 					type: "comment"
 					type: "comment"
 					thread_id: comment.op.t
 					thread_id: comment.op.t
@@ -202,11 +213,12 @@ define [
 					offset: comment.op.p
 					offset: comment.op.p
 				}
 				}
 				for key, value of new_entry
 				for key, value of new_entry
-					entries[comment.id][key] = value
+					new_comment[key] = value
 
 
 			for change_id, _ of delete_changes
 			for change_id, _ of delete_changes
 				changed = true
 				changed = true
 				delete entries[change_id]
 				delete entries[change_id]
+				delete resolvedComments[change_id]
 			
 			
 			if changed
 			if changed
 				$scope.$broadcast "entries:changed"
 				$scope.$broadcast "entries:changed"