refactor wall.js. style wall page a bit

master
Dmitriy Zaporozhets 2013-03-28 16:41:29 +02:00
parent 583bfac5f5
commit 21191318ae
4 changed files with 40 additions and 20 deletions

View File

@ -58,14 +58,26 @@
form.show()
renderNote: (note) ->
author = '<strong class="wall-author">' + note.author.name + '</strong>'
body = '<span class="wall-text">' + linkify(sanitize(note.body)) + '</span>'
file = ''
time = '<abbr class="timeago" title="' + note.created_at + '">' + note.created_at + '</time>'
template = Wall.noteTemplate()
template = template.replace('{{author_name}}', note.author.name)
template = template.replace('{{created_at}}', note.created_at)
template = template.replace('{{text}}', linkify(sanitize(note.body)))
if note.attachment
file = '<span class="wall-file"><a href="/files/note/' + note.id + '/' + note.attachment + '">' + note.attachment + '</a></span>'
html = '<li>' + author + body + file + time + '</li>'
file = '<i class="icon-paper-clip"/><a href="/files/note/' + note.id + '/' + note.attachment + '">' + note.attachment + '</a>'
else
file = ''
template = template.replace('{{file}}', file)
$('ul.notes').append(html)
$('ul.notes').append(template)
noteTemplate: ->
return '<li>
<strong class="wall-author">{{author_name}}</strong>
<span class="wall-text">
{{text}}
<span class="wall-file">{{file}}</span>
</span>
<abbr class="timeago" title="{{created_at}}">{{created_at}}</abbr>
</li>'

View File

@ -14,12 +14,28 @@
.notes {
margin-bottom: 160px;
background: #FFE;
border: 1px solid #EED;
> li {
@extend .clearfix;
border-bottom: 1px solid #EED;
padding: 10px;
}
.wall-author {
color: #666;
margin-right: 10px;
border-right: 1px solid #CCC;
padding-right: 5px
float: left;
width: 100px;
text-overflow: ellipsis;
}
.wall-text {
border-left: 1px solid #CCC;
margin-left: 10px;
padding-left: 10px;
float: left;
width: 80%;
}
.wall-file {

View File

@ -1,5 +1,5 @@
%div.wall-page
%ul.well-list.notes
%ul.notes
- if can? current_user, :write_note, @project
.note-form-holder

View File

@ -21,11 +21,6 @@ describe "On a merge request", js: true do
it { find(".js-main-target-form input[type=submit]").value.should == "Add Comment" }
it { within(".js-main-target-form") { should_not have_link("Cancel") } }
# notifiactions
it { within(".js-main-target-form") { should have_unchecked_field("Notify team via email") } }
it { within(".js-main-target-form") { should_not have_checked_field("Notify commit author") } }
it { within(".js-main-target-form") { should_not have_unchecked_field("Notify commit author") } }
describe "without text" do
it { within(".js-main-target-form") { should have_css(".js-note-preview-button", visible: false) } }
end
@ -126,9 +121,6 @@ describe "On a merge request diff", js: true, focus: true do
it { should have_button("Add Comment") }
it { should have_css(".js-close-discussion-note-form", text: "Cancel") }
# notification options
it { should have_unchecked_field("Notify team via email") }
it "shouldn't add a second form for same row" do
find("#4735dfc552ad7bf15ca468adc3cad9d05b624490_185_185.line_holder .js-add-diff-note-button").trigger("click")