Commit 6ddb35bd5e27829609e40b8dd87313a01fb6f293
1 parent
567767bc
Exists in
master
and in
4 other branches
Move tree-related views from refs to trees
Showing
15 changed files
with
165 additions
and
154 deletions
Show diff stats
app/views/refs/_submodule_item.html.haml
| ... | ... | @@ -1,13 +0,0 @@ |
| 1 | -- url = content.url(@ref) rescue nil | |
| 2 | -- name = content.basename | |
| 3 | -- return unless url | |
| 4 | -%tr{ class: "tree-item", url: url } | |
| 5 | - %td.tree-item-file-name | |
| 6 | - = image_tag "submodule.png" | |
| 7 | - %strong= truncate(name, length: 40) | |
| 8 | - %td | |
| 9 | - %code= content.id[0..10] | |
| 10 | - %td | |
| 11 | - = link_to truncate(url, length: 40), url | |
| 12 | - | |
| 13 | - |
app/views/refs/_tree.html.haml
| ... | ... | @@ -1,70 +0,0 @@ |
| 1 | -%ul.breadcrumb | |
| 2 | - %li | |
| 3 | - %span.arrow | |
| 4 | - = link_to tree_project_ref_path(@project, @ref, path: nil), remote: true do | |
| 5 | - = @project.name | |
| 6 | - - tree.breadcrumbs(6) do |link| | |
| 7 | - \/ | |
| 8 | - %li= link | |
| 9 | -.clear | |
| 10 | -%div.tree_progress | |
| 11 | -#tree-content-holder | |
| 12 | - - if tree.is_blob? | |
| 13 | - = render partial: "refs/tree_file", locals: { name: tree.name, content: tree.data, file: tree } | |
| 14 | - - else | |
| 15 | - - contents = tree.contents | |
| 16 | - %table#tree-slider{class: "table_#{@hex_path}" } | |
| 17 | - %thead | |
| 18 | - %th Name | |
| 19 | - %th Last Update | |
| 20 | - %th | |
| 21 | - Last commit | |
| 22 | - = link_to "History", tree.history_path, class: "right" | |
| 23 | - | |
| 24 | - - if tree.up_dir? | |
| 25 | - %tr{ class: "tree-item", url: tree.up_dir_path } | |
| 26 | - %td.tree-item-file-name | |
| 27 | - = image_tag "file_empty.png" | |
| 28 | - = link_to "..", tree.up_dir_path, remote: :true | |
| 29 | - %td | |
| 30 | - %td | |
| 31 | - | |
| 32 | - - index = 0 | |
| 33 | - - contents.select{ |i| i.is_a?(Grit::Tree)}.each do |content| | |
| 34 | - = render partial: "refs/tree_item", locals: { content: content, index: (index += 1) } | |
| 35 | - - contents.select{ |i| i.is_a?(Grit::Blob)}.each do |content| | |
| 36 | - = render partial: "refs/tree_item", locals: { content: content, index: (index += 1) } | |
| 37 | - - contents.select{ |i| i.is_a?(Grit::Submodule)}.each do |content| | |
| 38 | - = render partial: "refs/submodule_item", locals: { content: content, index: (index += 1) } | |
| 39 | - | |
| 40 | - - if content = contents.select{ |c| c.is_a?(Grit::Blob) and c.name =~ /^readme/i }.first | |
| 41 | - .file_holder#README | |
| 42 | - .file_title | |
| 43 | - %i.icon-file | |
| 44 | - = content.name | |
| 45 | - .file_content.wiki | |
| 46 | - - if gitlab_markdown?(content.name) | |
| 47 | - = preserve do | |
| 48 | - = markdown(content.data) | |
| 49 | - - else | |
| 50 | - = raw GitHub::Markup.render(content.name, content.data) | |
| 51 | - | |
| 52 | -:javascript | |
| 53 | - $(function(){ | |
| 54 | - history.pushState({ path: this.path }, '', "#{@history_path}"); | |
| 55 | - }); | |
| 56 | - | |
| 57 | -- unless tree.is_blob? | |
| 58 | - :javascript | |
| 59 | - // Load last commit log for each file in tree | |
| 60 | - $(window).load(function(){ | |
| 61 | - ajaxGet('#{@logs_path}'); | |
| 62 | - }); | |
| 63 | - | |
| 64 | -- if params[:path] && request.xhr? | |
| 65 | - :javascript | |
| 66 | - $(window).unbind('popstate'); | |
| 67 | - $(window).bind('popstate', function() { | |
| 68 | - if(location.pathname.search("tree") != -1) { | |
| 69 | - $.ajax({type: "GET", url: location.pathname, dataType: "script"})} | |
| 70 | - else { location.href = location.pathname;}}); |
app/views/refs/_tree_commit.html.haml
app/views/refs/_tree_file.html.haml
| ... | ... | @@ -1,40 +0,0 @@ |
| 1 | -.file_holder | |
| 2 | - .file_title | |
| 3 | - %i.icon-file | |
| 4 | - %span.file_name | |
| 5 | - = name.force_encoding('utf-8') | |
| 6 | - %small #{file.mode} | |
| 7 | - %span.options | |
| 8 | - = link_to "raw", blob_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small", target: "_blank" | |
| 9 | - = link_to "history", project_commits_path(@project, path: params[:path], ref: @ref), class: "btn very_small" | |
| 10 | - = link_to "blame", blame_file_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small" | |
| 11 | - - if file.text? | |
| 12 | - - if gitlab_markdown?(name) | |
| 13 | - .file_content.wiki | |
| 14 | - = preserve do | |
| 15 | - = markdown(file.data) | |
| 16 | - - elsif markup?(name) | |
| 17 | - .file_content.wiki | |
| 18 | - = raw GitHub::Markup.render(name, file.data) | |
| 19 | - - else | |
| 20 | - .file_content.code | |
| 21 | - - unless file.empty? | |
| 22 | - %div{class: current_user.dark_scheme ? "black" : "white"} | |
| 23 | - = preserve do | |
| 24 | - = raw file.colorize(options: { linenos: 'True'}) | |
| 25 | - - else | |
| 26 | - %h4.nothing_here_message Empty file | |
| 27 | - | |
| 28 | - - elsif file.image? | |
| 29 | - .file_content.image_file | |
| 30 | - %img{ src: "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"} | |
| 31 | - | |
| 32 | - - else | |
| 33 | - .file_content.blob_file | |
| 34 | - %center | |
| 35 | - = link_to blob_project_ref_path(@project, @ref, path: params[:path]) do | |
| 36 | - %div.padded | |
| 37 | - %br | |
| 38 | - = image_tag "download.png", width: 64 | |
| 39 | - %h3 | |
| 40 | - Download (#{file.mb_size}) |
app/views/refs/_tree_item.html.haml
| ... | ... | @@ -1,11 +0,0 @@ |
| 1 | -- file = tree_full_path(content) | |
| 2 | -%tr{ class: "tree-item #{tree_hex_class(content)}", url: tree_file_project_ref_path(@project, @ref, file) } | |
| 3 | - %td.tree-item-file-name | |
| 4 | - = tree_icon(content) | |
| 5 | - %strong= link_to truncate(content.name, length: 40), tree_file_project_ref_path(@project, @ref || @commit.id, file), remote: :true | |
| 6 | - %td.tree_time_ago.cgray | |
| 7 | - - if index == 1 | |
| 8 | - %span.log_loading | |
| 9 | - Loading commit data.. | |
| 10 | - = image_tag "ajax_loader_tree.gif", width: 14 | |
| 11 | - %td.tree_commit |
app/views/refs/tree.html.haml
app/views/refs/tree.js.haml
| ... | ... | @@ -1,10 +0,0 @@ |
| 1 | -:plain | |
| 2 | - // Load Files list | |
| 3 | - $("#tree-holder").html("#{escape_javascript(render(partial: "tree", locals: {repo: @repo, commit: @commit, tree: @tree}))}"); | |
| 4 | - $("#tree-content-holder").show("slide", { direction: "right" }, 150); | |
| 5 | - $('.project-refs-form #path').val("#{params[:path]}"); | |
| 6 | - | |
| 7 | - // Load last commit log for each file in tree | |
| 8 | - $('#tree-slider').waitForImages(function() { | |
| 9 | - ajaxGet('#{@logs_path}'); | |
| 10 | - }); |
| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | +%ul.nav.nav-tabs | |
| 2 | + %li | |
| 3 | + = render partial: 'shared/ref_switcher', locals: {destination: 'tree', path: params[:path]} | |
| 4 | + %li{class: "#{'active' if (controller.controller_name == "refs") }"} | |
| 5 | + = link_to tree_project_ref_path(@project, @ref) do | |
| 6 | + Source | |
| 7 | + %li.right | |
| 8 | + .input-prepend.project_clone_holder | |
| 9 | + %button{class: "btn small active", :"data-clone" => @project.ssh_url_to_repo} SSH | |
| 10 | + %button{class: "btn small", :"data-clone" => @project.http_url_to_repo} HTTP | |
| 11 | + = text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select span5" | ... | ... |
| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | +- url = content.url(@ref) rescue nil | |
| 2 | +- name = content.basename | |
| 3 | +- return unless url | |
| 4 | +%tr{ class: "tree-item", url: url } | |
| 5 | + %td.tree-item-file-name | |
| 6 | + = image_tag "submodule.png" | |
| 7 | + %strong= truncate(name, length: 40) | |
| 8 | + %td | |
| 9 | + %code= content.id[0..10] | |
| 10 | + %td | |
| 11 | + = link_to truncate(url, length: 40), url | |
| 12 | + | |
| 13 | + | ... | ... |
| ... | ... | @@ -0,0 +1,70 @@ |
| 1 | +%ul.breadcrumb | |
| 2 | + %li | |
| 3 | + %span.arrow | |
| 4 | + = link_to tree_project_ref_path(@project, @ref, path: nil), remote: true do | |
| 5 | + = @project.name | |
| 6 | + - tree.breadcrumbs(6) do |link| | |
| 7 | + \/ | |
| 8 | + %li= link | |
| 9 | +.clear | |
| 10 | +%div.tree_progress | |
| 11 | +#tree-content-holder | |
| 12 | + - if tree.is_blob? | |
| 13 | + = render partial: "refs/tree_file", locals: { name: tree.name, content: tree.data, file: tree } | |
| 14 | + - else | |
| 15 | + - contents = tree.contents | |
| 16 | + %table#tree-slider{class: "table_#{@hex_path}" } | |
| 17 | + %thead | |
| 18 | + %th Name | |
| 19 | + %th Last Update | |
| 20 | + %th | |
| 21 | + Last commit | |
| 22 | + = link_to "History", tree.history_path, class: "right" | |
| 23 | + | |
| 24 | + - if tree.up_dir? | |
| 25 | + %tr{ class: "tree-item", url: tree.up_dir_path } | |
| 26 | + %td.tree-item-file-name | |
| 27 | + = image_tag "file_empty.png" | |
| 28 | + = link_to "..", tree.up_dir_path, remote: :true | |
| 29 | + %td | |
| 30 | + %td | |
| 31 | + | |
| 32 | + - index = 0 | |
| 33 | + - contents.select{ |i| i.is_a?(Grit::Tree)}.each do |content| | |
| 34 | + = render partial: "refs/tree_item", locals: { content: content, index: (index += 1) } | |
| 35 | + - contents.select{ |i| i.is_a?(Grit::Blob)}.each do |content| | |
| 36 | + = render partial: "refs/tree_item", locals: { content: content, index: (index += 1) } | |
| 37 | + - contents.select{ |i| i.is_a?(Grit::Submodule)}.each do |content| | |
| 38 | + = render partial: "refs/submodule_item", locals: { content: content, index: (index += 1) } | |
| 39 | + | |
| 40 | + - if content = contents.select{ |c| c.is_a?(Grit::Blob) and c.name =~ /^readme/i }.first | |
| 41 | + .file_holder#README | |
| 42 | + .file_title | |
| 43 | + %i.icon-file | |
| 44 | + = content.name | |
| 45 | + .file_content.wiki | |
| 46 | + - if gitlab_markdown?(content.name) | |
| 47 | + = preserve do | |
| 48 | + = markdown(content.data) | |
| 49 | + - else | |
| 50 | + = raw GitHub::Markup.render(content.name, content.data) | |
| 51 | + | |
| 52 | +:javascript | |
| 53 | + $(function(){ | |
| 54 | + history.pushState({ path: this.path }, '', "#{@history_path}"); | |
| 55 | + }); | |
| 56 | + | |
| 57 | +- unless tree.is_blob? | |
| 58 | + :javascript | |
| 59 | + // Load last commit log for each file in tree | |
| 60 | + $(window).load(function(){ | |
| 61 | + ajaxGet('#{@logs_path}'); | |
| 62 | + }); | |
| 63 | + | |
| 64 | +- if params[:path] && request.xhr? | |
| 65 | + :javascript | |
| 66 | + $(window).unbind('popstate'); | |
| 67 | + $(window).bind('popstate', function() { | |
| 68 | + if(location.pathname.search("tree") != -1) { | |
| 69 | + $.ajax({type: "GET", url: location.pathname, dataType: "script"})} | |
| 70 | + else { location.href = location.pathname;}}); | ... | ... |
| ... | ... | @@ -0,0 +1,40 @@ |
| 1 | +.file_holder | |
| 2 | + .file_title | |
| 3 | + %i.icon-file | |
| 4 | + %span.file_name | |
| 5 | + = name.force_encoding('utf-8') | |
| 6 | + %small #{file.mode} | |
| 7 | + %span.options | |
| 8 | + = link_to "raw", blob_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small", target: "_blank" | |
| 9 | + = link_to "history", project_commits_path(@project, path: params[:path], ref: @ref), class: "btn very_small" | |
| 10 | + = link_to "blame", blame_file_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small" | |
| 11 | + - if file.text? | |
| 12 | + - if gitlab_markdown?(name) | |
| 13 | + .file_content.wiki | |
| 14 | + = preserve do | |
| 15 | + = markdown(file.data) | |
| 16 | + - elsif markup?(name) | |
| 17 | + .file_content.wiki | |
| 18 | + = raw GitHub::Markup.render(name, file.data) | |
| 19 | + - else | |
| 20 | + .file_content.code | |
| 21 | + - unless file.empty? | |
| 22 | + %div{class: current_user.dark_scheme ? "black" : "white"} | |
| 23 | + = preserve do | |
| 24 | + = raw file.colorize(options: { linenos: 'True'}) | |
| 25 | + - else | |
| 26 | + %h4.nothing_here_message Empty file | |
| 27 | + | |
| 28 | + - elsif file.image? | |
| 29 | + .file_content.image_file | |
| 30 | + %img{ src: "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"} | |
| 31 | + | |
| 32 | + - else | |
| 33 | + .file_content.blob_file | |
| 34 | + %center | |
| 35 | + = link_to blob_project_ref_path(@project, @ref, path: params[:path]) do | |
| 36 | + %div.padded | |
| 37 | + %br | |
| 38 | + = image_tag "download.png", width: 64 | |
| 39 | + %h3 | |
| 40 | + Download (#{file.mb_size}) | ... | ... |
| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | +- file = tree_full_path(content) | |
| 2 | +%tr{ class: "tree-item #{tree_hex_class(content)}", url: tree_file_project_ref_path(@project, @ref, file) } | |
| 3 | + %td.tree-item-file-name | |
| 4 | + = tree_icon(content) | |
| 5 | + %strong= link_to truncate(content.name, length: 40), tree_file_project_ref_path(@project, @ref || @commit.id, file), remote: :true | |
| 6 | + %td.tree_time_ago.cgray | |
| 7 | + - if index == 1 | |
| 8 | + %span.log_loading | |
| 9 | + Loading commit data.. | |
| 10 | + = image_tag "ajax_loader_tree.gif", width: 14 | |
| 11 | + %td.tree_commit | ... | ... |
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | +:plain | |
| 2 | + // Load Files list | |
| 3 | + $("#tree-holder").html("#{escape_javascript(render(partial: "tree", locals: {repo: @repo, commit: @commit, tree: @tree}))}"); | |
| 4 | + $("#tree-content-holder").show("slide", { direction: "right" }, 150); | |
| 5 | + $('.project-refs-form #path').val("#{params[:path]}"); | |
| 6 | + | |
| 7 | + // Load last commit log for each file in tree | |
| 8 | + $('#tree-slider').waitForImages(function() { | |
| 9 | + ajaxGet('#{@logs_path}'); | |
| 10 | + }); | ... | ... |