Commit 90c277aa authored by Fatih Acet's avatar Fatih Acet

Merge branch 'expand-commit-message-view' into 'master'

Expand commit message width in repo view

## What does this MR do?
Expands the commit message width in repo view to take advantage of the unused white space (under the history href)

## Are there points in the code the reviewer needs to double check?
Just need to make sure there aren't any side effects

## Why was this MR needed?
To take advantage of the unused space on repo views

## What are the relevant issue numbers?
Closes #20225 

## Screenshots
Before:
![Screen_Shot_2016-07-27_at_11.10.22_AM](/uploads/1f2c604ac6d4ede2bac67179cfe77b20/Screen_Shot_2016-07-27_at_11.10.22_AM.png)

After:
![Screen_Shot_2016-07-27_at_11.08.55_AM](/uploads/34a36c884a06fd6cfd9b6512d1230196/Screen_Shot_2016-07-27_at_11.08.55_AM.png)

## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- Tests
  - [x] Added tests
  - [x] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

See merge request !5494
parents b5eb94ea e4c517a6
...@@ -8,6 +8,7 @@ v 8.11.0 (unreleased) ...@@ -8,6 +8,7 @@ v 8.11.0 (unreleased)
- Fix CI status icon link underline (ClemMakesApps) - Fix CI status icon link underline (ClemMakesApps)
- The Repository class is now instrumented - The Repository class is now instrumented
- Cache the commit author in RequestStore to avoid extra lookups in PostReceive - Cache the commit author in RequestStore to avoid extra lookups in PostReceive
- Expand commit message width in repo view (ClemMakesApps)
- Fix of 'Commits being passed to custom hooks are already reachable when using the UI' - Fix of 'Commits being passed to custom hooks are already reachable when using the UI'
- Add support for using RequestStore within Sidekiq tasks via SIDEKIQ_REQUEST_STORE env variable - Add support for using RequestStore within Sidekiq tasks via SIDEKIQ_REQUEST_STORE env variable
- Optimize maximum user access level lookup in loading of notes - Optimize maximum user access level lookup in loading of notes
......
...@@ -58,6 +58,10 @@ ...@@ -58,6 +58,10 @@
.tree_commit { .tree_commit {
max-width: 320px; max-width: 320px;
.str-truncated {
max-width: 100%;
}
} }
.tree_time_ago { .tree_time_ago {
......
...@@ -123,15 +123,17 @@ class Commit ...@@ -123,15 +123,17 @@ class Commit
# In case this first line is longer than 100 characters, it is cut off # In case this first line is longer than 100 characters, it is cut off
# after 80 characters and ellipses (`&hellp;`) are appended. # after 80 characters and ellipses (`&hellp;`) are appended.
def title def title
title = safe_message full_title.length > 100 ? full_title[0..79] << "…" : full_title
end
return no_commit_message if title.blank? # Returns the full commits title
def full_title
return @full_title if @full_title
title_end = title.index("\n") if safe_message.blank?
if (!title_end && title.length > 100) || (title_end && title_end > 100) @full_title = no_commit_message
title[0..79] << "…"
else else
title.split("\n", 2).first @full_title = safe_message.split("\n", 2).first
end end
end end
......
%span.str-truncated %span.str-truncated
= link_to_gfm commit.title, namespace_project_commit_path(@project.namespace, @project, commit.id), class: "tree-commit-link" = link_to_gfm commit.full_title, namespace_project_commit_path(@project.namespace, @project, commit.id), class: "tree-commit-link"
...@@ -86,6 +86,27 @@ eos ...@@ -86,6 +86,27 @@ eos
end end
end end
describe '#full_title' do
it "returns no_commit_message when safe_message is blank" do
allow(commit).to receive(:safe_message).and_return('')
expect(commit.full_title).to eq("--no commit message")
end
it "returns entire message if there is no newline" do
message = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sodales id felis id blandit. Vivamus egestas lacinia lacus, sed rutrum mauris.'
allow(commit).to receive(:safe_message).and_return(message)
expect(commit.full_title).to eq(message)
end
it "returns first line of message if there is a newLine" do
message = commit.safe_message.split(" ").first
allow(commit).to receive(:safe_message).and_return(message + "\n" + message)
expect(commit.full_title).to eq(message)
end
end
describe "delegation" do describe "delegation" do
subject { commit } subject { commit }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment