FileTreeController.coffee 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. , 700
  40. $scope.create = () ->
  41. $scope.state.inflight = true
  42. ide.fileTreeManager.createDocInCurrentFolder $scope.inputs.name, (error, doc) ->
  43. $scope.state.inflight = false
  44. $modalInstance.close()
  45. $scope.cancel = () ->
  46. $modalInstance.dismiss('cancel')
  47. ]
  48. App.controller "NewFolderModalController", [
  49. "$scope", "ide", "$modalInstance", "$timeout",
  50. ($scope, ide, $modalInstance, $timeout) ->
  51. $scope.inputs =
  52. name: "name"
  53. $scope.state =
  54. inflight: false
  55. $modalInstance.opened.then () ->
  56. $timeout () ->
  57. $scope.$broadcast "open"
  58. , 700
  59. $scope.create = () ->
  60. $scope.state.inflight = true
  61. ide.fileTreeManager.createFolderInCurrentFolder $scope.inputs.name, (error, doc) ->
  62. $scope.state.inflight = false
  63. $modalInstance.close()
  64. $scope.cancel = () ->
  65. $modalInstance.dismiss('cancel')
  66. ]
  67. App.controller "UploadFileModalController", [
  68. "$scope", "ide", "$modalInstance", "$timeout",
  69. ($scope, ide, $modalInstance, $timeout) ->
  70. parent_folder = ide.fileTreeManager.getCurrentFolder()
  71. $scope.parent_folder_id = parent_folder?.id
  72. uploadCount = 0
  73. $scope.onUpload = () ->
  74. uploadCount++
  75. $scope.onComplete = (error, name, response) ->
  76. $timeout (() ->
  77. uploadCount--
  78. if uploadCount == 0 and response? and response.success
  79. $modalInstance.close("done")
  80. ), 250
  81. $scope.cancel = () ->
  82. $modalInstance.dismiss('cancel')
  83. ]