Commit 8a23682fc5212918c931888bb7b468d167d19c33

Authored by gitlabhq
1 parent ca1e3d05

refactored too

app/assets/stylesheets/projects.css.scss
@@ -540,7 +540,7 @@ input.ssh_project_url { @@ -540,7 +540,7 @@ input.ssh_project_url {
540 font-size:14px; 540 font-size:14px;
541 } 541 }
542 542
543 -.wall_page { 543 +#new_note {
544 #note_note { 544 #note_note {
545 height:25px; 545 height:25px;
546 } 546 }
app/controllers/commits_controller.rb
@@ -28,12 +28,15 @@ class CommitsController < ApplicationController @@ -28,12 +28,15 @@ class CommitsController < ApplicationController
28 28
29 def show 29 def show
30 @commit = project.repo.commits(params[:id]).first 30 @commit = project.repo.commits(params[:id]).first
31 - @notes = project.notes.where(:noteable_id => @commit.id, :noteable_type => "Commit") 31 + @notes = project.notes.where(:noteable_id => @commit.id, :noteable_type => "Commit").order("created_at DESC").limit(20)
32 @note = @project.notes.new(:noteable_id => @commit.id, :noteable_type => "Commit") 32 @note = @project.notes.new(:noteable_id => @commit.id, :noteable_type => "Commit")
33 33
34 - respond_to do |format|  
35 - format.html # show.html.erb  
36 - format.js 34 + respond_to do |format|
  35 + format.html
  36 + format.js do
  37 + @notes = @notes.where("id > ?", params[:last_id]) if params[:last_id]
  38 + @notes = @notes.where("id < ?", params[:first_id]) if params[:first_id]
  39 + end
37 end 40 end
38 end 41 end
39 end 42 end
app/controllers/issues_controller.rb
@@ -35,8 +35,16 @@ class IssuesController &lt; ApplicationController @@ -35,8 +35,16 @@ class IssuesController &lt; ApplicationController
35 end 35 end
36 36
37 def show 37 def show
38 - @notes = @issue.notes.order("created_at ASC") 38 + @notes = @issue.notes.order("created_at DESC").limit(20)
39 @note = @project.notes.new(:noteable => @issue) 39 @note = @project.notes.new(:noteable => @issue)
  40 +
  41 + respond_to do |format|
  42 + format.html
  43 + format.js do
  44 + @notes = @notes.where("id > ?", params[:last_id]) if params[:last_id]
  45 + @notes = @notes.where("id < ?", params[:first_id]) if params[:first_id]
  46 + end
  47 + end
40 end 48 end
41 49
42 def create 50 def create
app/views/commits/show.js.haml
1 --#:plain  
2 - $("#side-commit-preview").remove();  
3 - var side = $("<div id='side-commit-preview'></div>");  
4 - side.html("#{escape_javascript(render "commits/show")}");  
5 - $("##{dom_id(@project)}").parent().append(side);  
6 - $("##{dom_id(@project)}").addClass("span-14");  
7 -:plain  
8 - $("#notes-list").html("#{escape_javascript(render(:partial => 'notes/notes_list'))}"); 1 += render "notes/load"
app/views/issues/show.html.haml
1 %h2 1 %h2
2 = "Issue ##{@issue.id} - #{html_escape(@issue.title)}" 2 = "Issue ##{@issue.id} - #{html_escape(@issue.title)}"
3 .left.width-65p 3 .left.width-65p
4 - -#= simple_format html_escape(@issue.content)  
5 .issue_notes= render "notes/notes" 4 .issue_notes= render "notes/notes"
  5 +
  6 + .loading{ :style => "display:none;"}
  7 + %center= image_tag "ajax-loader.gif"
6 .right.width-30p 8 .right.width-30p
7 .span-8 9 .span-8
8 - if @issue.closed 10 - if @issue.closed
@@ -55,3 +57,12 @@ @@ -55,3 +57,12 @@
55 .right= link_to 'Destroy', [@project, @issue], :confirm => 'Are you sure?', :method => :delete, :class => "lbutton delete-issue negative", :id => "destroy_issue_#{@issue.id}" 57 .right= link_to 'Destroy', [@project, @issue], :confirm => 'Are you sure?', :method => :delete, :class => "lbutton delete-issue negative", :id => "destroy_issue_#{@issue.id}"
56 .clear 58 .clear
57 59
  60 +:javascript
  61 + $(function(){
  62 + $("#note_note").live("click", function(){
  63 + $(this).css("height", "100px");
  64 + $('.attach_holder').show();
  65 + });
  66 +
  67 + NoteList.init("wall", #{@notes.last.id}, #{@notes.first.id});
  68 + });
app/views/issues/show.js.haml
1 -:plain  
2 - $("#notes-list").html("#{escape_javascript(render(:partial => 'notes/notes_list'))}"); 1 += render "notes/load"
app/views/notes/_load.js.haml 0 → 100644
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +- unless @notes.blank?
  2 +
  3 + - if params[:last_id]
  4 + :plain
  5 + NoteList.prepend(#{@notes.first.id}, "#{escape_javascript(render(:partial => 'notes/notes_list'))}");
  6 +
  7 + - if params[:first_id]
  8 + :plain
  9 + NoteList.append(#{@notes.last.id}, "#{escape_javascript(render(:partial => 'notes/notes_list'))}");
  10 +
app/views/notes/_notes.html.haml
1 -- if controller.action_name == "wall"  
2 - %ul#notes-list= render "notes/notes_list"  
3 -  
4 -- else  
5 - %ul#notes-list= render "notes/notes_list"  
6 - %br  
7 - %br  
8 - - if can? current_user, :write_note, @project  
9 - = render "notes/form" 1 +- if can? current_user, :write_note, @project
  2 + = render "notes/form"
  3 +.clear
  4 +%hr
  5 +%ul#notes-list= render "notes/notes_list"
10 6
11 :javascript 7 :javascript
12 $('.delete-note').live('ajax:success', function() { 8 $('.delete-note').live('ajax:success', function() {
@@ -20,8 +16,11 @@ @@ -20,8 +16,11 @@
20 $("#submit_note").removeAttr("disabled"); 16 $("#submit_note").removeAttr("disabled");
21 }) 17 })
22 18
23 --#- if ["issues", "projects"].include?(controller.controller_name)  
24 - :javascript  
25 - $(function(){  
26 - var int =self.setInterval("updatePage('ref=#{params[:ref]}')", 20000); 19 + $(function(){
  20 + $("#note_note").live("click", function(){
  21 + $(this).css("height", "100px");
  22 + $('.attach_holder').show();
27 }); 23 });
  24 +
  25 + NoteList.init("wall", #{@notes.last.try(:id) || 0}, #{@notes.first.try(:id) || 0});
  26 + });
app/views/notes/create.js.haml
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 :plain 2 :plain
3 $("#new_note .errors").remove(); 3 $("#new_note .errors").remove();
4 $('#note_note').val(""); 4 $('#note_note').val("");
  5 + NoteList.prepend(#{@note.id}, "#{escape_javascript(render :partial => "notes/show", :locals => {:note => @note})}");
5 - else 6 - else
6 :plain 7 :plain
7 $("#new_note").replaceWith("#{escape_javascript(render('form'))}"); 8 $("#new_note").replaceWith("#{escape_javascript(render('form'))}");
app/views/projects/wall.html.haml
1 %div.wall_page 1 %div.wall_page
2 - - if can? current_user, :write_note, @project  
3 - = render "notes/form"  
4 - .clear  
5 - %hr  
6 -= render "notes/notes" 2 + = render "notes/notes"
7 3
8 .loading{ :style => "display:none;"} 4 .loading{ :style => "display:none;"}
9 %center= image_tag "ajax-loader.gif" 5 %center= image_tag "ajax-loader.gif"
10 6
11 -:javascript  
12 - $(function(){  
13 - $("#note_note").live("click", function(){  
14 - $(this).css("height", "100px");  
15 - $('.attach_holder').show();  
16 - });  
17 -  
18 - NoteList.init("wall", #{@notes.last.id}, #{@notes.first.id});  
19 - });  
app/views/projects/wall.js.haml
1 -- unless @notes.blank?  
2 -  
3 - - if params[:last_id]  
4 - :plain  
5 - NoteList.prepend(#{@notes.first.id}, "#{escape_javascript(render(:partial => 'notes/notes_list'))}");  
6 -  
7 - - if params[:first_id]  
8 - :plain  
9 - NoteList.append(#{@notes.last.id}, "#{escape_javascript(render(:partial => 'notes/notes_list'))}"); 1 += render "notes/load"