load notes for wall via api
This commit is contained in:
parent
57f3409bcc
commit
4d378f3c9a
2 changed files with 50 additions and 0 deletions
46
app/assets/javascripts/wall.js.coffee
Normal file
46
app/assets/javascripts/wall.js.coffee
Normal 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 + ': </strong>'
|
||||
html = '<li>' + author + note.body + '</li>'
|
||||
$('ul.notes').append(html)
|
||||
|
||||
initRefresh: ->
|
||||
setInterval("Wall.refresh()", 10000)
|
||||
|
||||
refresh: ->
|
||||
Wall.getContent()
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue