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

Only call /project/.../threads if we need the threads

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

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

@@ -185,7 +185,7 @@ script(type='text/ng-template', id='commentEntryTemplate')
 						| {{ comment.content }}
 						| {{ comment.content }}
 					.rp-entry-metadata
 					.rp-entry-metadata
 						| {{ comment.timestamp | date : 'MMM d, y h:mm a' }}
 						| {{ comment.timestamp | date : 'MMM d, y h:mm a' }}
-			.rp-loading(ng-if="threads[entry.thread_id].submitting")
+			.rp-loading(ng-if="!threads[entry.thread_id] || threads[entry.thread_id].submitting")
 				i.fa.fa-spinner.fa-spin
 				i.fa.fa-spinner.fa-spin
 			.rp-comment-reply(ng-if="permissions.comment")
 			.rp-comment-reply(ng-if="permissions.comment")
 				textarea.rp-comment-input(
 				textarea.rp-comment-input(

+ 9 - 3
services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee

@@ -205,6 +205,9 @@ define [
 				if !$scope.users[change.metadata.user_id]?
 				if !$scope.users[change.metadata.user_id]?
 					refreshChangeUsers(change.metadata.user_id)
 					refreshChangeUsers(change.metadata.user_id)
 
 
+			if rangesTracker.comments.length > 0
+				ensureThreadsAreLoaded()
+
 			for comment in rangesTracker.comments
 			for comment in rangesTracker.comments
 				changed = true
 				changed = true
 				delete delete_changes[comment.id]
 				delete delete_changes[comment.id]
@@ -394,7 +397,12 @@ define [
 				.error () ->
 				.error () ->
 					_refreshingRangeUsers = false
 					_refreshingRangeUsers = false
 
 
-		refreshThreads = () ->
+		_threadsLoaded = false
+		ensureThreadsAreLoaded = () ->
+			if _threadsLoaded
+				# We get any updates in real time so only need to load them once.
+				return
+			_threadsLoaded = true
 			$http.get "/project/#{$scope.project_id}/threads"
 			$http.get "/project/#{$scope.project_id}/threads"
 				.success (threads) ->
 				.success (threads) ->
 					for thread_id, _ of $scope.reviewPanel.resolvedThreadIds
 					for thread_id, _ of $scope.reviewPanel.resolvedThreadIds
@@ -408,8 +416,6 @@ define [
 							$scope.reviewPanel.resolvedThreadIds[thread_id] = true
 							$scope.reviewPanel.resolvedThreadIds[thread_id] = true
 					$scope.reviewPanel.commentThreads = threads
 					$scope.reviewPanel.commentThreads = threads
 
 
-		refreshThreads()
-
 		formatComment = (comment) ->
 		formatComment = (comment) ->
 			comment.user = formatUser(comment.user)
 			comment.user = formatUser(comment.user)
 			comment.timestamp = new Date(comment.timestamp)
 			comment.timestamp = new Date(comment.timestamp)