diff --git a/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee b/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee index 411367b5f8..0291412bc2 100644 --- a/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee +++ b/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee @@ -39,9 +39,8 @@ define [ $scope.$watch "ui.reviewPanelOpen", (reviewPanelOpen) -> return if !reviewPanelOpen? - setTimeout () -> - $scope.$broadcast "reviewPanel:toggle" if reviewPanelOpen + $scope.$broadcast "review-panel:layout" scroller.on "scroll", scrollAce $scope.onScroll = scrollPanel # Passed into the editor directive for it to call else @@ -63,15 +62,18 @@ define [ $scope.startNewComment = () -> $scope.commentState.adding = true $scope.$broadcast "comment:select_line" + $scope.$broadcast "review-panel:layout" $scope.submitNewComment = () -> $scope.commentState.adding = false $scope.$broadcast "comment:add", $scope.commentState.content $scope.commentState.content = "" + $scope.$broadcast "review-panel:layout" $scope.startReply = (entry) -> console.log "Start new reply" entry.replying = true + $scope.$broadcast "review-panel:layout" $scope.submitReply = (entry) -> entry.thread.push { @@ -80,4 +82,5 @@ define [ user_id: window.user_id } entry.replyContent = "" - entry.replying = false \ No newline at end of file + entry.replying = false + $scope.$broadcast "review-panel:layout" \ No newline at end of file diff --git a/services/web/public/coffee/ide/review-panel/directives/reviewPanelSorted.coffee b/services/web/public/coffee/ide/review-panel/directives/reviewPanelSorted.coffee index 1bb8d0f96c..a250c48f47 100644 --- a/services/web/public/coffee/ide/review-panel/directives/reviewPanelSorted.coffee +++ b/services/web/public/coffee/ide/review-panel/directives/reviewPanelSorted.coffee @@ -1,11 +1,10 @@ define [ "base" ], (App) -> - App.directive "reviewPanelSorted", () -> + App.directive "reviewPanelSorted", ($timeout) -> return { link: (scope, element, attrs) -> - scope.$watch "reviewPanel.entries", (value) -> - return if !value? + layout = () -> entries = [] for el in element.find(".review-entry") entries.push { @@ -21,4 +20,12 @@ define [ top = Math.max(top, previousBottom + 12) previousBottom = top + height entry.scope.top = top + + scope.$watch "reviewPanel.entries", (value) -> + return if !value? + layout() + + scope.$on "review-panel:layout", () -> + $timeout () -> + layout() } \ No newline at end of file