nested_content.mustache 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <%
  2. # Copyright (C) 2011 - present Instructure, Inc.
  3. #
  4. # This file is part of Canvas.
  5. #
  6. # Canvas is free software: you can redistribute it and/or modify it under
  7. # the terms of the GNU Affero General Public License as published by the Free
  8. # Software Foundation, version 3 of the License.
  9. #
  10. # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
  11. # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  12. # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
  13. # details.
  14. #
  15. # You should have received a copy of the GNU Affero General Public License along
  16. # with this program. If not, see <http://www.gnu.org/licenses/>.
  17. %>
  18. <% skip_ul ||= false; exclude_files ||= false %>
  19. <% unless skip_ul %><ul><% end %>
  20. <% folders ||= [] %>
  21. <% nested_content.compact.select{|i| !i.is_a?(Attachment) || !exclude_files}.each do |item|
  22. new_f = folders.to_a.find{|i| i.id == item.id} if folders && item.is_a?(Folder)
  23. item = new_f if new_f
  24. subcontent = folders.select{|f| f.parent_folder_id == f.id } if exclude_files && !folders.empty?
  25. subcontent ||= item.subcontent(:exclude_files => exclude_files) if item.respond_to?(:subcontent)
  26. %>
  27. <li class="<%= item.is_a?(Attachment) ? "file" : "folder" %> <%= 'folder_locked' if item.is_a?(Folder) && item.currently_locked %> <%= item.mime_class rescue "" %> <%= item.is_a?(Attachment) ? "file" : "folder" %>_<%= item ? item.id : "blank" %>">
  28. <span class="id" style="display: none;"><%= item.id %></span>
  29. <span class="text name"><%= item.display_name %></span>
  30. <% if subcontent %>
  31. {{> views/files/nested_content}}
  32. <% end %>
  33. </li>
  34. <% end %>
  35. <% unless skip_ul %></ul><% end %>