RootFolderView.coffee 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. define [
  2. "file-tree/FolderView"
  3. ], (FolderView) ->
  4. RootFolderView = FolderView.extend
  5. actionsTemplate: $("#fileTreeActionsTemplate").html()
  6. events: () ->
  7. events = FolderView::events.apply(this)
  8. if @ide.isAllowedToDoIt("readAndWrite")
  9. _.extend(events,
  10. "click .js-new-file" : (e) ->
  11. e.preventDefault()
  12. @manager.showNewDocModal()
  13. ga('send', 'event', 'editor-interaction', 'newFile', "topMenu")
  14. "click .js-new-folder" : (e) ->
  15. e.preventDefault()
  16. @manager.showNewFolderModal()
  17. ga('send', 'event', 'editor-interaction', 'newFolder', "topMenu")
  18. "click .js-upload-file" : (e) ->
  19. e.preventDefault()
  20. @manager.showUploadFileModal()
  21. ga('send', 'event', 'editor-interaction', 'uploadFile', "topMenu")
  22. "click .js-delete-btn" : (e) ->
  23. e.preventDefault()
  24. @manager.confirmDeleteOfSelectedEntity()
  25. ga('send', 'event', 'editor-interaction', 'deleteEntity', "topMenu")
  26. "click .js-rename-btn" : (e) ->
  27. e.preventDefault()
  28. @manager.renameSelected()
  29. ga('send', 'event', 'editor-interaction', 'renameEntity', "topMenu")
  30. )
  31. render: () ->
  32. @$el.append(Mustache.to_html @entityTemplate, {
  33. name: @manager.project.get("name")
  34. type: "project"
  35. })
  36. @_bindToDomElements()
  37. @renderActions()
  38. @hideRenameBox()
  39. @hideToggle()
  40. @renderEntries()
  41. @showEntries()
  42. return @
  43. renderActions: () ->
  44. @$actions = $(@actionsTemplate)
  45. @$actions.insertAfter(@$entityListItemEl)
  46. @$(".js-new-entity-menu > a").dropdown()
  47. onClick: () ->
  48. e.preventDefault()
  49. onToggle: () ->
  50. e.preventDefault()
  51. getContextMenuEntries: () ->
  52. @getFolderContextMenuEntries()
  53. hideToggle: () ->
  54. @$(".js-toggle").hide()
  55. makeReadOnly: () ->
  56. @$actions.hide()
  57. makeReadWrite: () ->
  58. @$actions.show()