View comments for draft text

This commit is contained in:
Amaia Castro
2017-01-10 17:25:02 +01:00
parent 7d8c3bd39c
commit 4f539b374f
11 changed files with 112 additions and 3 deletions

View File

@@ -77,7 +77,8 @@ var initialize_modules = function() {
App.MarkdownEditor.initialize();
App.LegislationAllegations.initialize();
App.Legislation.initialize();
App.LegislationAnnotatable.initialize();
if ( $(".legislation-annotatable").length )
App.LegislationAnnotatable.initialize();
};
$(function(){

View File

@@ -3,6 +3,9 @@ App.LegislationAllegations =
toggle_comments: ->
$('.draft-allegation').toggleClass('comments-on');
show_comments: ->
$('.draft-allegation').addClass('comments-on');
initialize: ->
$('.js-toggle-allegations .draft-panel').on
click: (e) ->

View File

@@ -1,7 +1,35 @@
_t = (key) -> new Gettext().gettext(key)
App.LegislationAnnotatable =
renderAnnotationComments: (event) ->
$('.comment-box').offset(top: event.offset)
$.ajax
method: "GET"
url: event.annotation_url + "/annotations/" + event.annotation_id + "/comments"
dataType: 'script'
viewerExtension: (viewer) ->
viewer._onHighlightMouseover = (event) ->
App.LegislationAllegations.show_comments()
$.event.trigger
type: "renderLegislationAnnotation"
annotation_id: $(event.target).data("annotation-id")
annotation_url: $(event.target).closest(".legislation-annotatable").data("legislation-annotatable-base-url")
offset: $(event.target).offset()["top"]
scrollToAnchor: ->
annotationsLoaded: (annotations) ->
anchor = $(location).attr('hash')
ann_id = anchor.split("-")[-1..]
el = $("span[data-annotation-id='" + ann_id + "']")
$('html,body').animate({scrollTop: el.offset().top})
initialize: ->
$(document).on("renderLegislationAnnotation", App.LegislationAnnotatable.renderAnnotationComments)
current_user_id = $('html').data('current-user-id')
if current_user_id == ""
annotator.ui.editor.Editor.template = [
@@ -27,7 +55,8 @@ App.LegislationAnnotatable =
ann["legislation_draft_version_id"] = ann_id
ann.permissions = ann.permissions || {}
ann.permissions.admin = []
.include(annotator.ui.main, { element: this })
.include(annotator.ui.main, { element: this, viewerExtensions: [App.LegislationAnnotatable.viewerExtension] })
.include(App.LegislationAnnotatable.scrollToAnchor)
.include(annotator.storage.http, { prefix: base_url, urls: { search: "/annotations/search" } })
app.start().then ->

View File

@@ -32,6 +32,10 @@ class Legislation::AnnotationsController < ApplicationController
render json: annotations_hash.to_json
end
def comments
@annotation = Legislation::Annotation.find(params[:annotation_id])
end
private
def annotation_params

View File

@@ -15,7 +15,7 @@ module Abilities
can [:read, :changes, :go_to_version], Legislation::DraftVersion
can [:read], Legislation::Question
can [:create], Legislation::Answer
can [:search, :read, :create], Legislation::Annotation
can [:search, :comments, :read, :create], Legislation::Annotation
end
end
end

View File

@@ -0,0 +1,42 @@
<div class="comment-header">
<span class="icon-comment" aria-hidden="true"></span>
<div class="comment-number"><%= t('legislation.annotations.comments.comments_count', count: annotation.comments_count) %></div>
<%= link_to legislation_process_draft_version_annotation_path(annotation.draft_version.process, annotation.draft_version, annotation) do %>
<span class="icon-expand" aria-hidden="true"></span>
<% end %>
</div>
<div class="comments-wrapper">
<% annotation.comments.each do |comment| %>
<div class="comment">
<div class="comment-text">
<p><%= comment.body %></p>
</div>
<div class="comment-meta">
<div class="comment-more-info">
<div class="comment-expand">
<%= link_to legislation_process_draft_version_annotation_path(annotation.draft_version.process, annotation.draft_version, annotation) do %>
<%= t('legislation.annotations.comments.see_complete') %>
<% end %>
</div>
<div class="comment-replies">
<%= link_to legislation_process_draft_version_annotation_path(annotation.draft_version.process, annotation.draft_version, annotation) do %>
<%= t('legislation.annotations.comments.replies_count', count: comment.children.size) %>
<% end %>
</div>
</div>
<div class="comment-votes">
<div id="<%= dom_id(comment) %>_votes" class="comment-votes float-right">
<%= render 'comments/votes', comment: comment %>
</div>
</div>
</div>
</div>
<% end %>
</div>
<div class="comment-footer">
<%= link_to legislation_process_draft_version_annotation_path(annotation.draft_version.process, annotation.draft_version, annotation), class: "button strong" do %>
<%= t('legislation.annotations.comments.see_all') %>
<% end %>
<a class="button strong publish-comment" title="Publicar comentario" href="#">Publicar comentario</a>
</div>

View File

@@ -0,0 +1,2 @@
$("#comments-box").html("<%= j render('comments_for', annotation: @annotation) %>");

View File

@@ -64,6 +64,13 @@
<span class="panel-title"><%= t('.text_comments') %></span>
</div>
<div class="comment-box" id="comments-box">
<div class="comment-header">
<span class="icon-comment" aria-hidden="true"></span>
<div class="comment-number"><%= t('.loading_comments') %></div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -224,6 +224,15 @@ en:
title: How I can comment this document?
legislation:
annotations:
comments:
see_all: See all
see_complete: See complete
comments_count:
one: "%{count} comment"
other: "%{count} comments"
replies_count:
one: "%{count} reply"
other: "%{count} replies"
index:
title: Comments
comments_about: Comments about
@@ -243,6 +252,7 @@ en:
seeing_changelog_version: Revision changes summary
see_text: See text draft
show:
loading_comments: Loading comments
seeing_version: You're seeing draft version
select_draft_version: Select draft
select_version_submit: see

View File

@@ -224,6 +224,15 @@ es:
title: "¿Cómo puedo comentar este documento?"
legislation:
annotations:
comments:
see_all: Ver todos
see_complete: Ver completo
comments_count:
one: "%{count} comentario"
other: "%{count} comentarios"
replies_count:
one: "%{count} respuesta"
other: "%{count} respuestas"
index:
title: Comentarios
see_in_context: Ver en contexto
@@ -243,6 +252,7 @@ es:
seeing_changelog_version: Resumen de cambios de la revisión
see_text: Ver borrador del texto
show:
loading_comments: Cargando comentarios
seeing_version: Estás viendo la revisión
select_draft_version: Seleccionar borrador
select_version_submit: ver

View File

@@ -103,6 +103,7 @@ Rails.application.routes.draw do
get :changes
resources :annotations do
get :search, on: :collection
get :comments
end
end
end