ShareController.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. define(['base'], App => {
  2. App.controller('ShareController', function(
  3. $scope,
  4. $modal,
  5. ide,
  6. projectInvites,
  7. projectMembers,
  8. // eslint-disable-next-line camelcase
  9. eventTracking
  10. ) {
  11. $scope.openShareProjectModal = function(isAdmin) {
  12. $scope.isAdmin = isAdmin
  13. eventTracking.sendMBOnce('ide-open-share-modal-once')
  14. $modal.open({
  15. templateUrl: 'shareProjectModalTemplate',
  16. controller: 'ShareProjectModalController',
  17. scope: $scope
  18. })
  19. }
  20. ide.socket.on('project:tokens:changed', data => {
  21. if (data.tokens != null) {
  22. ide.$scope.project.tokens = data.tokens
  23. $scope.$digest()
  24. }
  25. })
  26. ide.socket.on('project:membership:changed', data => {
  27. if (data.members) {
  28. projectMembers
  29. .getMembers()
  30. .then(response => {
  31. if (response.data.members) {
  32. $scope.project.members = response.data.members
  33. }
  34. })
  35. .catch(() => {
  36. console.error('Error fetching members for project')
  37. })
  38. }
  39. if (data.invites) {
  40. projectInvites
  41. .getInvites()
  42. .then(response => {
  43. if (response.data.invites) {
  44. $scope.project.invites = response.data.invites
  45. }
  46. })
  47. .catch(() => {
  48. console.error('Error fetching invites for project')
  49. })
  50. }
  51. })
  52. })
  53. })