FileTreeController.coffee 2.4 KB

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