ChatController.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* eslint-disable
  2. max-len,
  3. no-return-assign,
  4. no-undef,
  5. */
  6. // TODO: This file was created by bulk-decaffeinate.
  7. // Fix any style issues and re-enable lint.
  8. /*
  9. * decaffeinate suggestions:
  10. * DS102: Remove unnecessary code created because of implicit returns
  11. * DS207: Consider shorter variations of null checks
  12. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  13. */
  14. define(['base', 'ide/chat/services/chatMessages'], App =>
  15. App.controller('ChatController', function(
  16. $scope,
  17. chatMessages,
  18. ide,
  19. $location
  20. ) {
  21. $scope.chat = chatMessages.state
  22. $scope.$watch(
  23. 'chat.messages',
  24. function(messages) {
  25. if (messages != null) {
  26. return $scope.$emit('updateScrollPosition')
  27. }
  28. },
  29. true
  30. ) // Deep watch
  31. $scope.$on('layout:chat:resize', () => $scope.$emit('updateScrollPosition'))
  32. $scope.$watch('chat.newMessage', function(message) {
  33. if (message != null) {
  34. return ide.$scope.$broadcast('chat:newMessage', message)
  35. }
  36. })
  37. $scope.resetUnreadMessages = () =>
  38. ide.$scope.$broadcast('chat:resetUnreadMessages')
  39. $scope.sendMessage = function() {
  40. const message = $scope.newMessageContent
  41. $scope.newMessageContent = ''
  42. return chatMessages.sendMessage(message)
  43. }
  44. return ($scope.loadMoreMessages = () => chatMessages.loadMoreMessages())
  45. }))