diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-04-10 21:23:19 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2017-04-10 21:23:19 +0000 |
commit | fb8a12c8fea422a9054fcbdb2e6b22770e9dfab3 (patch) | |
tree | dd8b86df7d03857238a994683a6b7f5014208570 /app/views | |
parent | 520ed0781cc86f3c158b3ebcfb2457dba3b41a6e (diff) | |
download | gitlab-ce-fb8a12c8fea422a9054fcbdb2e6b22770e9dfab3.tar.gz |
Don't show 'Copy content' button on text files that are not rendered as text
Diffstat (limited to 'app/views')
-rw-r--r-- | app/views/projects/blob/_blob.html.haml | 8 | ||||
-rw-r--r-- | app/views/projects/blob/_header.html.haml | 2 | ||||
-rw-r--r-- | app/views/projects/blob/_image.html.haml | 15 | ||||
-rw-r--r-- | app/views/projects/blob/_markup.html.haml | 4 | ||||
-rw-r--r-- | app/views/projects/blob/_svg.html.haml | 9 | ||||
-rw-r--r-- | app/views/projects/blob/_text.html.haml | 21 | ||||
-rw-r--r-- | app/views/projects/blob/_too_large.html.haml | 5 |
7 files changed, 29 insertions, 35 deletions
diff --git a/app/views/projects/blob/_blob.html.haml b/app/views/projects/blob/_blob.html.haml index aa9b852035e..fd0ae42571e 100644 --- a/app/views/projects/blob/_blob.html.haml +++ b/app/views/projects/blob/_blob.html.haml @@ -32,4 +32,10 @@ = link_to 'Fork', fork_path, method: :post, class: 'btn btn-grouped btn-inverted btn-new' %button.js-cancel-fork-suggestion.btn.btn-grouped{ type: 'button' } Cancel - = render blob.to_partial_path(@project), blob: blob + + - if blob.empty? + .file-content.code + .nothing-here-block + Empty file + - else + = render blob.to_partial_path(@project), blob: blob diff --git a/app/views/projects/blob/_header.html.haml b/app/views/projects/blob/_header.html.haml index 6c7d389e707..c42bf3c324a 100644 --- a/app/views/projects/blob/_header.html.haml +++ b/app/views/projects/blob/_header.html.haml @@ -13,7 +13,7 @@ .file-actions.hidden-xs .btn-group{ role: "group" }< - = copy_blob_content_button(blob) if !blame && blob_text_viewable?(blob) + = copy_blob_content_button(blob) if !blame && blob_rendered_as_text?(blob) = open_raw_file_button(namespace_project_raw_path(@project.namespace, @project, @id)) = view_on_environment_button(@commit.sha, @path, @environment) if @environment diff --git a/app/views/projects/blob/_image.html.haml b/app/views/projects/blob/_image.html.haml index ea3cecb86a9..73877d730f5 100644 --- a/app/views/projects/blob/_image.html.haml +++ b/app/views/projects/blob/_image.html.haml @@ -1,15 +1,2 @@ .file-content.image_file - - if blob.svg? - - if blob.size_within_svg_limits? - -# We need to scrub SVG but we cannot do so in the RawController: it would - -# be wrong/strange if RawController modified the data. - - blob.load_all_data!(@repository) - - blob = sanitize_svg(blob) - %img{ src: "data:#{blob.mime_type};base64,#{Base64.encode64(blob.data)}", alt: "#{blob.name}" } - - else - .nothing-here-block - The SVG could not be displayed as it is too large, you can - #{link_to('view the raw file', namespace_project_raw_path(@project.namespace, @project, @id), target: '_blank', rel: 'noopener noreferrer')} - instead. - - else - %img{ src: namespace_project_raw_path(@project.namespace, @project, tree_join(@commit.id, blob.path)), alt: "#{blob.name}" } + %img{ src: namespace_project_raw_path(@project.namespace, @project, @id), alt: blob.name } diff --git a/app/views/projects/blob/_markup.html.haml b/app/views/projects/blob/_markup.html.haml new file mode 100644 index 00000000000..4ee4b03ff04 --- /dev/null +++ b/app/views/projects/blob/_markup.html.haml @@ -0,0 +1,4 @@ +- blob.load_all_data!(@repository) + +.file-content.wiki + = render_markup(blob.name, blob.data) diff --git a/app/views/projects/blob/_svg.html.haml b/app/views/projects/blob/_svg.html.haml new file mode 100644 index 00000000000..93be58fc658 --- /dev/null +++ b/app/views/projects/blob/_svg.html.haml @@ -0,0 +1,9 @@ +- if blob.size_within_svg_limits? + -# We need to scrub SVG but we cannot do so in the RawController: it would + -# be wrong/strange if RawController modified the data. + - blob.load_all_data!(@repository) + - blob = sanitize_svg(blob) + .file-content.image_file + %img{ src: "data:#{blob.mime_type};base64,#{Base64.encode64(blob.data)}", alt: blob.name } +- else + = render 'too_large' diff --git a/app/views/projects/blob/_text.html.haml b/app/views/projects/blob/_text.html.haml index 7b16d266982..20638f6961d 100644 --- a/app/views/projects/blob/_text.html.haml +++ b/app/views/projects/blob/_text.html.haml @@ -1,19 +1,2 @@ -- if blob.only_display_raw? - .file-content.code - .nothing-here-block - File too large, you can - = succeed '.' do - = link_to 'view the raw file', namespace_project_raw_path(@project.namespace, @project, @id), target: '_blank', rel: 'noopener noreferrer' - -- else - - blob.load_all_data!(@repository) - - - if blob.empty? - .file-content.code - .nothing-here-block Empty file - - else - - if markup?(blob.name) - .file-content.wiki - = render_markup(blob.name, blob.data) - - else - = render 'shared/file_highlight', blob: blob, repository: @repository +- blob.load_all_data!(@repository) += render 'shared/file_highlight', blob: blob, repository: @repository diff --git a/app/views/projects/blob/_too_large.html.haml b/app/views/projects/blob/_too_large.html.haml new file mode 100644 index 00000000000..a505f87df40 --- /dev/null +++ b/app/views/projects/blob/_too_large.html.haml @@ -0,0 +1,5 @@ +.file-content.code + .nothing-here-block + The file could not be displayed as it is too large, you can + #{link_to('view the raw file', namespace_project_raw_path(@project.namespace, @project, @id), target: '_blank', rel: 'noopener noreferrer')} + instead. |