FileTreeFolderController.coffee 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. define [
  2. "base"
  3. ], (App) ->
  4. App.controller "FileTreeFolderController", ($scope, ide, $modal, localStorage) ->
  5. $scope.expanded = localStorage("folder.#{$scope.entity.id}.expanded") or false
  6. $scope.toggleExpanded = () ->
  7. $scope.expanded = !$scope.expanded
  8. localStorage("folder.#{$scope.entity.id}.expanded", $scope.expanded)
  9. $scope.onDrop = (events, ui) ->
  10. if ide.fileTreeManager.multiSelectedCount()
  11. entities = ide.fileTreeManager.getMultiSelectedEntityChildNodes()
  12. else
  13. entities = [$(ui.draggable).scope().entity]
  14. for dropped_entity in entities
  15. ide.fileTreeManager.moveEntity(dropped_entity, $scope.entity)
  16. $scope.$digest()
  17. # clear highlight explicitly
  18. $('.file-tree-inner .droppable-hover').removeClass('droppable-hover')
  19. $scope.orderByFoldersFirst = (entity) ->
  20. # We need this here as well as in FileTreeController
  21. # since the file-entity diretive creates a new scope
  22. # that doesn't inherit from previous scopes.
  23. return '0' if entity?.type == "folder"
  24. return '1'
  25. $scope.openNewDocModal = () ->
  26. $modal.open(
  27. templateUrl: "newFileModalTemplate"
  28. controller: "NewFileModalController"
  29. size: 'lg'
  30. resolve: {
  31. parent_folder: () -> $scope.entity
  32. type: () -> 'doc'
  33. }
  34. )
  35. $scope.openNewFolderModal = () ->
  36. $modal.open(
  37. templateUrl: "newFolderModalTemplate"
  38. controller: "NewFolderModalController"
  39. resolve: {
  40. parent_folder: () -> $scope.entity
  41. }
  42. )
  43. $scope.openUploadFileModal = () ->
  44. $modal.open(
  45. templateUrl: "newFileModalTemplate"
  46. controller: "NewFileModalController"
  47. size: 'lg'
  48. resolve: {
  49. parent_folder: () -> $scope.entity
  50. type: () -> 'upload'
  51. }
  52. )