diff options
-rw-r--r-- | app/assets/stylesheets/generic/buttons.scss | 25 | ||||
-rw-r--r-- | app/assets/stylesheets/sections/projects.scss | 25 | ||||
-rw-r--r-- | app/views/projects/branches/_branch.html.haml | 4 | ||||
-rw-r--r-- | app/views/projects/repositories/_download_archive.html.haml | 37 | ||||
-rw-r--r-- | app/views/projects/show.html.haml | 9 | ||||
-rw-r--r-- | app/views/projects/tags/index.html.haml | 6 | ||||
-rw-r--r-- | app/views/projects/tree/show.html.haml | 3 |
7 files changed, 85 insertions, 24 deletions
diff --git a/app/assets/stylesheets/generic/buttons.scss b/app/assets/stylesheets/generic/buttons.scss index 347da1ad680..219e6ebd68b 100644 --- a/app/assets/stylesheets/generic/buttons.scss +++ b/app/assets/stylesheets/generic/buttons.scss @@ -143,16 +143,27 @@ line-height: 16px; margin: 2px; } +} + +.btn-block { + width: 100%; + margin: 0; + margin-bottom: 15px; + &.btn { + padding: 6px 0; + } +} +.btn, +.btn-group { &.grouped { margin-right: 7px; float: left; - } - - &.btn-block { - width: 100%; - margin: 0; - padding: 6px 0; - margin-bottom: 15px; + &:last-child { + margin-right: 0px; + } } } + +.btn-group-small > .btn { @extend .btn.btn-small; } +.btn-group-tiny > .btn { @extend .btn.btn-tiny; } diff --git a/app/assets/stylesheets/sections/projects.scss b/app/assets/stylesheets/sections/projects.scss index b565b2bdaac..9c3281b6125 100644 --- a/app/assets/stylesheets/sections/projects.scss +++ b/app/assets/stylesheets/sections/projects.scss @@ -228,11 +228,26 @@ ul.nav.nav-projects-tabs { .project-side { .btn-block { background-image: none; - background-color: #F1f1f1; - border-color: #EEE; - &:hover { - background-color: #eee; - border-color: #DDD; + .btn, + &.btn, + &.btn-group ul.dropdown-menu { + background-color: #F1f1f1; + border-color: #EEE; + &:hover { + background-color: #eee; + border-color: #DDD; + } + } + &.btn-group-justified { + .btn { + width: 100%; + } + .dropdown-toggle { + width: 26px; + } + } + ul { + width: 100%; } } .project-fork-icon { diff --git a/app/views/projects/branches/_branch.html.haml b/app/views/projects/branches/_branch.html.haml index 2bd39985107..4fd708517fc 100644 --- a/app/views/projects/branches/_branch.html.haml +++ b/app/views/projects/branches/_branch.html.haml @@ -10,9 +10,7 @@ %i.icon-lock .pull-right - if can?(current_user, :download_code, @project) - = link_to archive_project_repository_path(@project, ref: branch.name), class: 'btn grouped btn-small' do - %i.icon-download-alt - Download + = render 'projects/repositories/download_archive', ref: branch.name, btn_class: 'grouped btn-group-small' = link_to project_compare_index_path(@project, from: branch.name, to: branch.name), class: 'btn grouped btn-small', title: "Compare" do %i.icon-copy Compare diff --git a/app/views/projects/repositories/_download_archive.html.haml b/app/views/projects/repositories/_download_archive.html.haml new file mode 100644 index 00000000000..b03feded0a7 --- /dev/null +++ b/app/views/projects/repositories/_download_archive.html.haml @@ -0,0 +1,37 @@ +- ref = ref || nil +- btn_class = btn_class || '' +- split_button = split_button || false +- if split_button == true + %span.btn-group{class: btn_class} + = link_to archive_project_repository_path(@project, ref: ref, format: 'zip'), class: 'btn' do + %i.icon-download-alt + %span Download zip + %a.btn.dropdown-toggle{ 'data-toggle' => 'dropdown' } + %span.caret + %span.sr-only + Select Archive Format + %ul.dropdown-menu{ role: 'menu' } + %li + = link_to archive_project_repository_path(@project, ref: ref, format: 'zip') do + %i.icon-download-alt + %span Download zip + %li + = link_to archive_project_repository_path(@project, ref: ref, format: 'tar.gz') do + %i.icon-download-alt + %span Download tar.gz + %li + = link_to archive_project_repository_path(@project, ref: ref, format: 'tar.bz2') do + %i.icon-download-alt + %span Download tar.bz2 + %li + = link_to archive_project_repository_path(@project, ref: ref, format: 'tar') do + %i.icon-download-alt + %span Download tar +- else + %span.btn-group{class: btn_class} + = link_to archive_project_repository_path(@project, ref: ref, format: 'zip'), class: 'btn' do + %i.icon-download-alt + %span zip + = link_to archive_project_repository_path(@project, ref: ref, format: 'tar.gz'), class: 'btn' do + %i.icon-download-alt + %span tar.gz
\ No newline at end of file diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index e188d365903..59075abf984 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -34,11 +34,10 @@ Fork repository - if can? current_user, :download_code, @project - = link_to archive_project_repository_path(@project), class: "btn btn-block" do - %i.icon-download-alt - %span Download - = link_to project_compare_index_path(@project, from: @repository.root_ref, to: @ref || @repository.root_ref), class: 'btn btn-block' do - Compare code + = render 'projects/repositories/download_archive', btn_class: 'btn-block btn-group-justified', split_button: true + + = link_to project_compare_index_path(@project, from: @repository.root_ref, to: @ref || @repository.root_ref), class: 'btn btn-block' do + Compare code - if @repository.readme - readme = @repository.readme diff --git a/app/views/projects/tags/index.html.haml b/app/views/projects/tags/index.html.haml index 945853c726b..c88e42a1073 100644 --- a/app/views/projects/tags/index.html.haml +++ b/app/views/projects/tags/index.html.haml @@ -32,11 +32,9 @@ %span.pull-right - if can? current_user, :download_code, @project - = link_to archive_project_repository_path(@project, ref: tag.name), class: 'btn grouped btn-small' do - %i.icon-download-alt - Download + = render 'projects/repositories/download_archive', ref: tag.name, btn_class: 'grouped btn-group-small' - if can?(current_user, :admin_project, @project) - = link_to project_tag_path(@project, tag.name), class: 'btn btn-small remove-row', method: :delete, data: { confirm: 'Removed tag cannot be restored. Are you sure?'}, remote: true do + = link_to project_tag_path(@project, tag.name), class: 'btn btn-small remove-row grouped', method: :delete, data: { confirm: 'Removed tag cannot be restored. Are you sure?'}, remote: true do %i.icon-trash = paginate @tags, theme: 'gitlab' diff --git a/app/views/projects/tree/show.html.haml b/app/views/projects/tree/show.html.haml index 0f7692aba7f..60ae95ebcb7 100644 --- a/app/views/projects/tree/show.html.haml +++ b/app/views/projects/tree/show.html.haml @@ -1,4 +1,7 @@ %div.tree-ref-holder = render 'shared/ref_switcher', destination: 'tree', path: @path +- if can? current_user, :download_code, @project + .tree-ref-holder.pull-right + = render 'projects/repositories/download_archive', ref: @ref, btn_class: 'btn-group-small', split_button: true %div#tree-holder.tree-holder = render "tree", tree: @tree |