summaryrefslogtreecommitdiff
path: root/app/helpers/diff_helper.rb
diff options
context:
space:
mode:
authorAlfredo Sumaran <alfredo@gitlab.com>2016-03-23 11:10:17 -0500
committerAlfredo Sumaran <alfredo@gitlab.com>2016-04-26 14:01:40 -0500
commitd8d00b5bc29f7b89f95c436cd6900d1548f111b7 (patch)
tree4c90ee8317fa575909519bea5ea648dd4f1abd2e /app/helpers/diff_helper.rb
parent18e00e3ba316b464bd0a6a78ae0c2669afa15f5a (diff)
downloadgitlab-ce-d8d00b5bc29f7b89f95c436cd6900d1548f111b7.tar.gz
Add Hide/show whitespace changes button on diff and commit view
Diffstat (limited to 'app/helpers/diff_helper.rb')
-rw-r--r--app/helpers/diff_helper.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/helpers/diff_helper.rb b/app/helpers/diff_helper.rb
index 97466d532f4..eca4ba695a1 100644
--- a/app/helpers/diff_helper.rb
+++ b/app/helpers/diff_helper.rb
@@ -128,4 +128,26 @@ module DiffHelper
title
end
end
+
+ def hide_whitespaces?
+ params[:w] == '1'
+ end
+
+ def params_with_whitespace
+ hide_whitespaces? ? request.query_parameters.except(:w) : request.query_parameters.merge(w: 1)
+ end
+
+ def toggle_whitespace_link(url)
+ link_to "#{hide_whitespaces? ? 'Show' : 'Hide'} whitespace changes", url, class: "btn btn-default"
+ end
+
+ def commit_diff_whitespace_link(project, commit)
+ url = namespace_project_commit_path(project.namespace, project, commit.id, params_with_whitespace)
+ toggle_whitespace_link(url)
+ end
+
+ def diff_merge_request_whitespace_link(project, merge_request)
+ url = diffs_namespace_project_merge_request_path(project.namespace, project, merge_request, params_with_whitespace)
+ toggle_whitespace_link(url)
+ end
end