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

Add timeout around reply layout render

James Allen 10 лет назад
Родитель
Сommit
d447ebe304

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

@@ -3,7 +3,7 @@ define [
 	"utils/EventEmitter"
 	"ide/colors/ColorManager"
 ], (App, EventEmitter, ColorManager) ->
-	App.controller "ReviewPanelController", ($scope, $element, ide) ->
+	App.controller "ReviewPanelController", ($scope, $element, ide, $timeout) ->
 		$scope.reviewPanel =
 			entries: {}
 			trackNewChanges: false
@@ -103,7 +103,8 @@ define [
 			}
 			entry.replyContent = ""
 			entry.replying = false
-			$scope.$broadcast "review-panel:layout"
+			$timeout () ->
+				$scope.$broadcast "review-panel:layout"
 			# TODO Just for prototyping purposes; remove afterwards
 			window.setTimeout((() -> 
 				$scope.$applyAsync(() -> submitMockedReply(entry))
@@ -118,7 +119,8 @@ define [
 			}
 			entry.replyContent = ""
 			entry.replying = false
-			$scope.$broadcast "review-panel:layout"
+			$timeout () ->
+				$scope.$broadcast "review-panel:layout"
 		
 		$scope.cancelReply = (entry) ->
 			entry.replying = false

+ 2 - 0
services/web/public/coffee/ide/review-panel/directives/reviewPanelSorted.coffee

@@ -5,6 +5,7 @@ define [
 		return  {
 			link: (scope, element, attrs) ->
 				layout = () ->
+					sl_console.log "LAYOUT"
 					entries = []
 					for el in element.find(".rp-entry-wrapper")
 						entries.push {
@@ -22,6 +23,7 @@ define [
 						previousBottom = top + height
 						entry.$box_el.css(top: top)
 						entry.$callout_el.css(top: original_top + 15, height: top - original_top)
+						sl_console.log "ENTRY", {entry: entry.scope.entry, top}
 				
 				scope.$watch "reviewPanel.entryGeneration", (value) ->
 					scope.$evalAsync () ->