file-tree-history.pug 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. aside.editor-sidebar.full-size(
  2. ng-controller="FileTreeController"
  3. ng-class="{ 'multi-selected': multiSelectedCount > 0 }"
  4. ng-show="ui.view == 'history' && !history.isV2"
  5. )
  6. .file-tree
  7. .file-tree-inner(
  8. ng-if="rootFolder",
  9. ng-class="no-toolbar"
  10. )
  11. ul.list-unstyled.file-tree-list
  12. file-entity(
  13. entity="entity",
  14. ng-repeat="entity in rootFolder.children | orderBy:[orderByFoldersFirst, 'name']"
  15. )
  16. li(ng-show="deletedDocs.length > 0 && ui.view == 'history'")
  17. h3 #{translate("deleted_files")}
  18. li(
  19. ng-class="{ 'selected': entity.selected }",
  20. ng-repeat="entity in deletedDocs | orderBy:'name'",
  21. ng-controller="FileTreeEntityController",
  22. ng-show="ui.view == 'history'"
  23. )
  24. .entity
  25. .entity-name(
  26. ng-click="select($event)"
  27. )
  28. //- Just a spacer to align with folders
  29. i.fa.fa-fw.toggle
  30. i.fa.fa-fw.fa-file
  31. span {{ entity.name }}
  32. script(type='text/ng-template', id='entityListItemTemplate')
  33. li(
  34. ng-class="{ 'selected': entity.selected, 'multi-selected': entity.multiSelected }",
  35. ng-controller="FileTreeEntityController"
  36. )
  37. .entity(ng-if="entity.type != 'folder'")
  38. .entity-name(
  39. ng-click="select($event)"
  40. context-menu
  41. data-target="context-menu-{{ entity.id }}"
  42. context-menu-container="body"
  43. context-menu-disabled="true"
  44. )
  45. //- Just a spacer to align with folders
  46. i.fa.fa-fw.toggle(ng-if="entity.type != 'folder'")
  47. i.fa.fa-fw(ng-if="entity.type != 'folder'", ng-class="'fa-' + iconTypeFromName(entity.name)")
  48. i.fa.fa-external-link-square.fa-rotate-180.linked-file-highlight(
  49. ng-if="entity.linkedFileData.provider"
  50. )
  51. span(
  52. ng-hide="entity.renaming"
  53. ) {{ entity.renamingToName || entity.name }}
  54. .entity(ng-if="entity.type == 'folder'", ng-controller="FileTreeFolderController")
  55. .entity-name(
  56. ng-click="select($event)"
  57. )
  58. div(
  59. context-menu
  60. data-target="context-menu-{{ entity.id }}"
  61. context-menu-container="body"
  62. context-menu-disabled="true"
  63. )
  64. i.fa.fa-fw.toggle(
  65. ng-if="entity.type == 'folder'"
  66. ng-class="{'fa-angle-right': !expanded, 'fa-angle-down': expanded}"
  67. ng-click="toggleExpanded()"
  68. )
  69. i.fa.fa-fw(
  70. ng-if="entity.type == 'folder'"
  71. ng-class="{\
  72. 'fa-folder': !expanded, \
  73. 'fa-folder-open': expanded \
  74. }"
  75. ng-click="select($event)"
  76. )
  77. span(
  78. ng-hide="entity.renaming"
  79. ) {{ entity.renamingToName || entity.name }}
  80. ul.list-unstyled(
  81. ng-if="entity.type == 'folder' && (depth == null || depth < MAX_DEPTH)"
  82. ng-show="expanded"
  83. )
  84. file-entity(
  85. entity="child",
  86. ng-repeat="child in entity.children | orderBy:[orderByFoldersFirst, 'name']"
  87. depth="(depth || 0) + 1"
  88. )
  89. .entity-limit-hit(
  90. ng-if="depth === MAX_DEPTH"
  91. ng-show="expanded"
  92. )
  93. i.fa.fa-fw
  94. span.entity-limit-hit-message
  95. | Some files might be hidden
  96. |
  97. i.fa.fa-question-circle.entity-limit-hit-tooltip-trigger(
  98. tooltip="Your project has hit Overleaf's maximum file depth limit. Files within this folder won't be visible."
  99. tooltip-append-to-body="true"
  100. aria-hidden="true"
  101. )
  102. span.sr-only
  103. | Your project has hit Overleaf's maximum file depth limit. Files within this folder won't be visible.