FileTreeController.coffee 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. define [
  2. "base"
  3. ], (App) ->
  4. App.controller "FileTreeController", ["$scope", "$modal", ($scope, $modal) ->
  5. $scope.openNewDocModal = () ->
  6. $modal.open(
  7. templateUrl: "newDocModalTemplate"
  8. controller: "NewDocModalController"
  9. )
  10. $scope.openNewFolderModal = () ->
  11. $modal.open(
  12. templateUrl: "newFolderModalTemplate"
  13. controller: "NewFolderModalController"
  14. )
  15. $scope.openUploadFileModal = () ->
  16. $modal.open(
  17. templateUrl: "uploadFileModalTemplate"
  18. controller: "UploadFileModalController"
  19. scope: $scope
  20. )
  21. $scope.orderByFoldersFirst = (entity) ->
  22. return '0' if entity.type == "folder"
  23. return '1'
  24. $scope.startRenamingSelected = () ->
  25. $scope.$broadcast "rename:selected"
  26. $scope.openDeleteModalForSelected = () ->
  27. $scope.$broadcast "delete:selected"
  28. ]
  29. App.controller "NewDocModalController", [
  30. "$scope", "ide", "$modalInstance", "$timeout",
  31. ($scope, ide, $modalInstance, $timeout) ->
  32. $scope.inputs =
  33. name: "name.tex"
  34. $scope.state =
  35. inflight: false
  36. $modalInstance.opened.then () ->
  37. $timeout () ->
  38. $scope.$broadcast "open"
  39. , 200
  40. $scope.create = () ->
  41. $scope.state.inflight = true
  42. ide.fileTreeManager
  43. .createDocInCurrentFolder($scope.inputs.name)
  44. .success () ->
  45. $scope.state.inflight = false
  46. $modalInstance.close()
  47. $scope.cancel = () ->
  48. $modalInstance.dismiss('cancel')
  49. ]
  50. App.controller "NewFolderModalController", [
  51. "$scope", "ide", "$modalInstance", "$timeout",
  52. ($scope, ide, $modalInstance, $timeout) ->
  53. $scope.inputs =
  54. name: "name"
  55. $scope.state =
  56. inflight: false
  57. $modalInstance.opened.then () ->
  58. $timeout () ->
  59. $scope.$broadcast "open"
  60. , 200
  61. $scope.create = () ->
  62. $scope.state.inflight = true
  63. ide.fileTreeManager
  64. .createFolderInCurrentFolder($scope.inputs.name)
  65. .success () ->
  66. $scope.state.inflight = false
  67. $modalInstance.close()
  68. $scope.cancel = () ->
  69. $modalInstance.dismiss('cancel')
  70. ]
  71. App.controller "UploadFileModalController", [
  72. "$scope", "ide", "$modalInstance", "$timeout",
  73. ($scope, ide, $modalInstance, $timeout) ->
  74. parent_folder = ide.fileTreeManager.getCurrentFolder()
  75. $scope.parent_folder_id = parent_folder?.id
  76. uploadCount = 0
  77. $scope.onUpload = () ->
  78. uploadCount++
  79. $scope.onComplete = (error, name, response) ->
  80. $timeout (() ->
  81. uploadCount--
  82. if uploadCount == 0 and response? and response.success
  83. $modalInstance.close("done")
  84. ), 250
  85. $scope.cancel = () ->
  86. $modalInstance.dismiss('cancel')
  87. ]