load notes for wall via api

5-0-stable
Dmitriy Zaporozhets 2013-03-19 12:35:55 +02:00
parent 57f3409bcc
commit 4d378f3c9a
2 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,46 @@
@Wall =
note_ids: []
notes_path: null
notes_params: null
project_id: null
init: (project_id) ->
Wall.project_id = project_id
Wall.notes_path = "/api/" + gon.api_version + "/projects/" + project_id + "/notes.json"
Wall.getContent()
Wall.initRefresh()
#
# Gets an initial set of notes.
#
getContent: ->
$.ajax
url: Wall.notes_path,
data:
private_token: gon.api_token
gfm: true
recent: true
dataType: "json"
success: (notes) ->
notes.sort (a, b) ->
return a.id - b.id
$.each notes, (i, note)->
if $.inArray(note.id, Wall.note_ids) == -1
Wall.note_ids.push(note.id)
Wall.renderNote(note)
complete: ->
$('.js-notes-busy').removeClass("loading")
beforeSend: ->
$('.js-notes-busy').addClass("loading")
renderNote: (note) ->
author = '<strong>' + note.author.name + ': &nbsp;</strong>'
html = '<li>' + author + note.body + '</li>'
$('ul.notes').append(html)
initRefresh: ->
setInterval("Wall.refresh()", 10000)
refresh: ->
Wall.getContent()

View File

@ -14,6 +14,10 @@ module Gitlab
# GET /projects/:id/notes
get ":id/notes" do
@notes = user_project.notes.common
# Get recent notes if recent = true
@notes = @notes.order('id DESC') if params[:recent]
present paginate(@notes), with: Entities::Note
end