summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/stylesheets/generic/buttons.scss25
-rw-r--r--app/assets/stylesheets/sections/projects.scss25
-rw-r--r--app/views/projects/branches/_branch.html.haml4
-rw-r--r--app/views/projects/repositories/_download_archive.html.haml37
-rw-r--r--app/views/projects/show.html.haml9
-rw-r--r--app/views/projects/tags/index.html.haml6
-rw-r--r--app/views/projects/tree/show.html.haml3
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