Commit 2c28dbd2547d77054b0a080af6b0dfec674ad799

Authored by skv-headless
1 parent 5f31caa0

commit description in commit list

app/assets/stylesheets/sections/commits.scss
@@ -168,6 +168,32 @@ li.commit { @@ -168,6 +168,32 @@ li.commit {
168 text-decoration: underline; 168 text-decoration: underline;
169 } 169 }
170 } 170 }
  171 +
  172 + .text-expander {
  173 + background: #ddd;
  174 + color: #555;
  175 + padding: 0 5px;
  176 + line-height: 6px;
  177 + height: 12px;
  178 + font-size: 12px;
  179 + font-weight: bold;
  180 + vertical-align: middle;
  181 + display: inline-block;
  182 + border-radius: 1px;
  183 + text-decoration: none;
  184 + cursor: pointer;
  185 + &:hover {
  186 + background-color: #ccc;
  187 + }
  188 + }
  189 + }
  190 +
  191 + .commit-row-description {
  192 + font-size: 14px;
  193 + border-left: 1px solid #e5e5e5;
  194 + padding: 0 15px 0 7px;
  195 + margin: 5px 0 10px 5px;
  196 + display: none;
171 } 197 }
172 198
173 .commit-row-info { 199 .commit-row-info {
@@ -192,4 +218,10 @@ li.commit { @@ -192,4 +218,10 @@ li.commit {
192 @extend .cgray; 218 @extend .cgray;
193 } 219 }
194 } 220 }
  221 +
  222 + &.open {
  223 + .commit-row-description {
  224 + display: block;
  225 + }
  226 + }
195 } 227 }
app/models/commit.rb
@@ -99,14 +99,16 @@ class Commit @@ -99,14 +99,16 @@ class Commit
99 # 99 #
100 # cut off, ellipses (`&hellp;`) are prepended to the commit message. 100 # cut off, ellipses (`&hellp;`) are prepended to the commit message.
101 def description 101 def description
102 - description = safe_message 102 + title_end = safe_message.index(/\n/)
  103 + @description ||= if (!title_end && safe_message.length > 100) || (title_end && title_end > 100)
  104 + "&hellip;".html_safe << safe_message[80..-1]
  105 + else
  106 + safe_message.split(/\n/, 2)[1].try(:chomp)
  107 + end
  108 + end
103 109
104 - title_end = description.index(/\n/)  
105 - if (!title_end && description.length > 100) || (title_end && title_end > 100)  
106 - "&hellip;".html_safe << description[80..-1]  
107 - else  
108 - description.split(/\n/, 2)[1].try(:chomp)  
109 - end 110 + def description?
  111 + description.present?
110 end 112 end
111 113
112 # Regular expression that identifies commit message clauses that trigger issue closing. 114 # Regular expression that identifies commit message clauses that trigger issue closing.
app/views/projects/commits/_commit.html.haml
1 %li.commit 1 %li.commit
2 - .commit-row-title 2 + .commit-row-title{"data-toggle" => "dropdown"}
3 = link_to commit.short_id(8), project_commit_path(project, commit), class: "commit_short_id" 3 = link_to commit.short_id(8), project_commit_path(project, commit), class: "commit_short_id"
4 &nbsp; 4 &nbsp;
5 %span.str-truncated 5 %span.str-truncated
6 = link_to_gfm commit.title, project_commit_path(project, commit.id), class: "commit-row-message" 6 = link_to_gfm commit.title, project_commit_path(project, commit.id), class: "commit-row-message"
  7 + - if commit.description?
  8 + %span.label-default.text-expander.js-details-target ...
  9 +
7 = link_to "Browse Code »", project_tree_path(project, commit), class: "pull-right" 10 = link_to "Browse Code »", project_tree_path(project, commit), class: "pull-right"
8 .notes_count 11 .notes_count
9 - notes = project.notes.for_commit_id(commit.id) 12 - notes = project.notes.for_commit_id(commit.id)
@@ -12,6 +15,10 @@ @@ -12,6 +15,10 @@
12 %i.icon-comment 15 %i.icon-comment
13 = notes.count 16 = notes.count
14 17
  18 + - if commit.description?
  19 + .commit-row-description
  20 + = simple_format(commit.description)
  21 +
15 .commit-row-info 22 .commit-row-info
16 = commit_author_link(commit, avatar: true, size: 16) 23 = commit_author_link(commit, avatar: true, size: 16)
17 .committed_ago 24 .committed_ago