Explorar o código

Small chat scroll tweaks

James Allen %!s(int64=12) %!d(string=hai) anos
pai
achega
1d7a595c6c

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

@@ -6,7 +6,7 @@ aside.chat(
 		infinite-scroll-disabled="chat.loading || chat.atEnd"
 		infinite-scroll-disabled="chat.loading || chat.atEnd"
 		infinite-scroll-initialize="ui.chatOpen"
 		infinite-scroll-initialize="ui.chatOpen"
 		infinite-scroll-upwards="true"
 		infinite-scroll-upwards="true"
-		update-scroll-bottom-on="messages:updated"
+		update-scroll-bottom-on="updateScrollPosition"
 	)
 	)
 		.infinite-scroll-inner
 		.infinite-scroll-inner
 			.loading(ng-show="chat.loading")
 			.loading(ng-show="chat.loading")

+ 2 - 2
services/web/public/coffee/directives/scroll.coffee

@@ -1,7 +1,7 @@
 define [
 define [
 	"base"
 	"base"
 ], (App) ->
 ], (App) ->
-	App.directive "updateScrollBottomOn", ->
+	App.directive "updateScrollBottomOn", ($timeout) ->
 		return {
 		return {
 			restrict: "A"
 			restrict: "A"
 			link: (scope, element, attrs, ctrls) ->
 			link: (scope, element, attrs, ctrls) ->
@@ -29,7 +29,7 @@ define [
 					scrollBottom = element[0].scrollHeight - element[0].scrollTop - element[0].clientHeight
 					scrollBottom = element[0].scrollHeight - element[0].scrollTop - element[0].clientHeight
 					
 					
 				scope.$on attrs.updateScrollBottomOn, () ->
 				scope.$on attrs.updateScrollBottomOn, () ->
-					setTimeout () ->
+					$timeout () ->
 						element.scrollTop(element[0].scrollHeight - element[0].clientHeight - scrollBottom)
 						element.scrollTop(element[0].scrollHeight - element[0].clientHeight - scrollBottom)
 					, 0
 					, 0
 		}
 		}

+ 4 - 1
services/web/public/coffee/ide/chat/controllers/ChatController.coffee

@@ -7,8 +7,11 @@ define [
 		
 		
 		$scope.$watch "chat.messages", (messages) ->
 		$scope.$watch "chat.messages", (messages) ->
 			if messages?
 			if messages?
-				$scope.$emit "messages:updated"
+				$scope.$emit "updateScrollPosition"
 		, true # Deep watch
 		, true # Deep watch
+		
+		$scope.$on "layout:chat:resize", () ->
+			$scope.$emit "updateScrollPosition"
 				
 				
 		$scope.sendMessage = ->
 		$scope.sendMessage = ->
 			chatMessages
 			chatMessages

+ 0 - 1
services/web/public/coffee/ide/chat/services/chatMessages.coffee

@@ -34,7 +34,6 @@ define [
 					messages.reverse()
 					messages.reverse()
 					prependMessages(messages)
 					prependMessages(messages)
 					chat.state.nextBeforeTimestamp = chat.state.messages[0]?.timestamp
 					chat.state.nextBeforeTimestamp = chat.state.messages[0]?.timestamp
-					console.log messages, chat.state
 		
 		
 		TIMESTAMP_GROUP_SIZE = 5 * 60 * 1000 # 5 minutes
 		TIMESTAMP_GROUP_SIZE = 5 * 60 * 1000 # 5 minutes