summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-05-01 16:09:01 +0000
committerSean McGivern <sean@mcgivern.me.uk>2017-05-01 16:09:01 +0000
commit2b7e31825df4409742c545d15884ef18067aad5e (patch)
tree100ae179fcf69e99eec97bda4fa9c7687a4d679a /app
parentf963f761b184398ecb281a769648d9f8dcecbcde (diff)
parent1686ce039c6823e7974ee5813d00f54e7067aa48 (diff)
downloadgitlab-ce-2b7e31825df4409742c545d15884ef18067aad5e.tar.gz
Merge branch 'dm-blob-download-button' into 'master'
Show Raw button as Download for binary files See merge request !10743
Diffstat (limited to 'app')
-rw-r--r--app/helpers/blob_helper.rb14
-rw-r--r--app/views/projects/blob/_header.html.haml4
-rw-r--r--app/views/shared/snippets/_blob.html.haml2
3 files changed, 15 insertions, 5 deletions
diff --git a/app/helpers/blob_helper.rb b/app/helpers/blob_helper.rb
index 0b80747f001..377b080b3c6 100644
--- a/app/helpers/blob_helper.rb
+++ b/app/helpers/blob_helper.rb
@@ -217,11 +217,21 @@ module BlobHelper
end
def copy_blob_source_button(blob)
+ return unless blob.rendered_as_text?(ignore_errors: false)
+
clipboard_button(target: ".blob-content[data-blob-id='#{blob.id}']", class: "btn btn-sm js-copy-blob-source-btn", title: "Copy source to clipboard")
end
- def open_raw_blob_button
- link_to icon('file-code-o'), blob_raw_url, class: 'btn btn-sm has-tooltip', target: '_blank', rel: 'noopener noreferrer', title: 'Open raw', data: { container: 'body' }
+ def open_raw_blob_button(blob)
+ if blob.raw_binary?
+ icon = icon('download')
+ title = 'Download'
+ else
+ icon = icon('file-code-o')
+ title = 'Open raw'
+ end
+
+ link_to icon, blob_raw_url, class: 'btn btn-sm has-tooltip', target: '_blank', rel: 'noopener noreferrer', title: title, data: { container: 'body' }
end
def blob_render_error_reason(viewer)
diff --git a/app/views/projects/blob/_header.html.haml b/app/views/projects/blob/_header.html.haml
index 638f8cef3bd..219dc14645b 100644
--- a/app/views/projects/blob/_header.html.haml
+++ b/app/views/projects/blob/_header.html.haml
@@ -15,8 +15,8 @@
= render 'projects/blob/viewer_switcher', blob: blob unless blame
.btn-group{ role: "group" }<
- = copy_blob_source_button(blob) if !blame && blob.rendered_as_text?(ignore_errors: false)
- = open_raw_blob_button
+ = copy_blob_source_button(blob) unless blame
+ = open_raw_blob_button(blob)
= view_on_environment_button(@commit.sha, @path, @environment) if @environment
.btn-group{ role: "group" }<
diff --git a/app/views/shared/snippets/_blob.html.haml b/app/views/shared/snippets/_blob.html.haml
index 0c481120969..67d186e2874 100644
--- a/app/views/shared/snippets/_blob.html.haml
+++ b/app/views/shared/snippets/_blob.html.haml
@@ -16,7 +16,7 @@
.btn-group{ role: "group" }<
= copy_blob_source_button(blob)
- = open_raw_blob_button
+ = open_raw_blob_button(blob)
- if defined?(download_path) && download_path
= link_to icon('download'), download_path, class: "btn btn-sm has-tooltip", title: 'Download', data: { container: 'body' }