ChatController.js 1.4 KB

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