_tree.html.haml 1.75 KB
%ul.breadcrumb
  %li
    %span.arrow
    = link_to project_tree_path(@project, @ref), remote: true do
      = @project.name
  - tree.breadcrumbs(6) do |link|
    \/
    %li= link

.clear
%div.tree_progress

%div#tree-content-holder.tree-content-holder
  - if tree.is_blob?
    = render partial: "tree/tree_file", object: tree
  - else
    %table#tree-slider{class: "table_#{@hex_path} tree-table" }
      %thead
        %th Name
        %th Last Update
        %th
          Last commit
          = link_to "History", tree.history_path, class: "right"

      - if tree.up_dir?
        %tr.tree-item
          %td.tree-item-file-name
            = image_tag "file_empty.png", size: '16x16'
            = link_to "..", tree.up_dir_path, remote: true
          %td
          %td

      = render_tree(tree.contents)

    - if content = tree.contents.find { |c| c.is_a?(Grit::Blob) and c.name =~ /^readme/i }
      .file_holder#README
        .file_title
          %i.icon-file
          = content.name
        .file_content.wiki
          - if gitlab_markdown?(content.name)
            = preserve do
              = markdown(content.data)
          - else
            = raw GitHub::Markup.render(content.name, content.data)

:javascript
  $(function(){
    history.pushState({ path: this.path }, '', "#{@history_path}");
  });

- unless tree.is_blob?
  :javascript
    // Load last commit log for each file in tree
    $(window).load(function(){
      ajaxGet('#{@logs_path}');
    });

- if @path.present? && request.xhr?
  :javascript
    $(window).unbind('popstate');
    $(window).bind('popstate', function() {
      if(location.pathname.search("tree") != -1) {
        $.ajax({type: "GET", url: location.pathname, dataType: "script"})}
        else { location.href = location.pathname;}});