Skip to content
Snippets Groups Projects
Commit 124a5e27 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

add attachemnts support for wall

parent 4d378f3c
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -4,7 +4,6 @@ var NoteList = {
target_params: null,
target_id: 0,
target_type: null,
loading_more_disabled: false,
 
init: function(tid, tt, path) {
NoteList.notes_path = path + ".js";
Loading
Loading
Loading
Loading
@@ -9,6 +9,7 @@
Wall.notes_path = "/api/" + gon.api_version + "/projects/" + project_id + "/notes.json"
Wall.getContent()
Wall.initRefresh()
Wall.initForm()
#
# Gets an initial set of notes.
Loading
Loading
@@ -28,6 +29,7 @@
if $.inArray(note.id, Wall.note_ids) == -1
Wall.note_ids.push(note.id)
Wall.renderNote(note)
Wall.scrollDown()
 
complete: ->
$('.js-notes-busy').removeClass("loading")
Loading
Loading
@@ -35,8 +37,15 @@
$('.js-notes-busy').addClass("loading")
 
renderNote: (note) ->
author = '<strong>' + note.author.name + ': &nbsp;</strong>'
html = '<li>' + author + note.body + '</li>'
author = '<strong class="wall-author">' + note.author.name + '</strong>'
body = '<span class="wall-text">' + note.body + '</span>'
file = ''
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 + '</li>'
$('ul.notes').append(html)
 
initRefresh: ->
Loading
Loading
@@ -44,3 +53,33 @@
 
refresh: ->
Wall.getContent()
scrollDown: ->
notes = $('ul.notes')
$('body').scrollTop(notes.height())
initForm: ->
form = $('.new_note')
form.find("#target_type").val('wall')
# remove unnecessary fields and buttons
form.find("#note_line_code").remove()
form.find(".js-close-discussion-note-form").remove()
form.find('.js-notify-commit-author').remove()
form.on 'ajax:success', ->
Wall.refresh()
form.find(".js-note-text").val("").trigger("input")
form.on 'ajax:complete', ->
form.find(".js-comment-button").removeAttr('disabled')
form.find(".js-comment-button").removeClass('disabled')
form.on "click", ".js-choose-note-attachment-button", ->
form.find(".js-note-attachment-input").click()
form.on "change", ".js-note-attachment-input", ->
filename = $(this).val().replace(/^.*[\\\/]/, '')
form.find(".js-attachment-filename").text(filename)
form.show()
Loading
Loading
@@ -10,10 +10,20 @@
padding: 3px;
padding-bottom: 25px;
border: 1px solid #DDD;
display: block;
}
 
.notes {
margin-bottom: 160px;
.wall-author {
color: #666;
margin-right: 10px;
border-right: 1px solid #CCC;
padding-right: 5px
}
.wall-file {
float: right;
}
}
}
Loading
Loading
@@ -40,7 +40,7 @@
= link_to 'Wiki', project_wiki_path(@project, :home)
 
- if @project.wall_enabled
= nav_link(path: 'projects#wall') do
= nav_link(controller: :walls) do
= link_to 'Wall', project_wall_path(@project)
 
- if @project.snippets_enabled
Loading
Loading
Loading
Loading
@@ -3,7 +3,8 @@
.notes-busy.js-notes-busy
 
.js-main-target-form
= render "notes/form"
- if can? current_user, :write_note, @project
= render "notes/form"
 
:javascript
$(function(){
Loading
Loading
Loading
Loading
@@ -95,6 +95,7 @@ module Gitlab
class Note < Grape::Entity
expose :id
expose :note, as: :body
expose :attachment_identifier, as: :attachment
expose :author, using: Entities::UserBasic
expose :created_at
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment