Browse Source

Merge pull request #112 from lexintegritastech/improve-main-ui

Additional Fixes for Demo.
pull/113/head
Angel Aviel Domaoan 4 years ago committed by GitHub
parent
commit
98d60dca96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      app/components/doctrine_index_component.rb
  2. 2
      app/components/doctrine_index_component/doctrine_index_component.html.erb
  3. 6
      app/components/document_doctrine_index_component.rb
  4. 2
      app/components/document_doctrine_index_component/document_doctrine_index_component.html.erb
  5. 6
      app/components/document_doctrine_show_component.rb
  6. 2
      app/components/document_doctrine_show_component/document_doctrine_show_component.html.erb
  7. 3
      app/controllers/documents_controller.rb
  8. 4
      app/models/doctrine.rb
  9. 2
      app/views/doctrines/search.html.erb
  10. 4
      app/views/documents/show.html.erb
  11. 4
      app/views/shared/_annotated_documents_search_results.html.erb
  12. 4
      app/views/shared/_case_lists_search_results.html.erb
  13. 59
      app/views/shared/_doctrines_pagination.html.erb
  14. 4
      app/views/shared/_document_doctrines_index.html.erb

6
app/components/doctrine_index_component.rb

@ -47,6 +47,12 @@ class DoctrineIndexComponent < BaseComponent
doctrine_path(id, is_index_table: false, subject_ids: opts[:subject_ids].reject(&:blank?)) doctrine_path(id, is_index_table: false, subject_ids: opts[:subject_ids].reject(&:blank?))
end end
def clean_phil_rep(annotation)
return if annotation.phil_rep.blank?
annotation.phil_rep.gsub(/(PhilRep|Phil)\.?,?/i, "Phil")
end
def render? def render?
doctrine.present? && doctrine.persisted? doctrine.present? && doctrine.persisted?
end end

2
app/components/doctrine_index_component/doctrine_index_component.html.erb

@ -18,7 +18,7 @@
<% end %> <% end %>
<strong> <%= "#{annotation.annomarks.map { |annomark| "(#{annomark.code})" }.join(" ")}" %> </strong> <strong> <%= "#{annotation.annomarks.map { |annomark| "(#{annomark.code})" }.join(" ")}" %> </strong>
<%= raw annotation.content.present? ? annotation.content : [document_title(annotation), annotation.document.reference_number, date_or_year(annotation), annotation.phil_rep, annotated_documents_title].reject(&:blank?).join(', ') %> <%= raw annotation.content.present? ? annotation.content : [document_title(annotation), annotation.document.reference_number, date_or_year(annotation), clean_phil_rep(annotation), annotated_documents_title].reject(&:blank?).join(', ') %>
</p> </p>
<% if annotation.editor_notes.present? %> <% if annotation.editor_notes.present? %>

6
app/components/document_doctrine_index_component.rb

@ -41,6 +41,12 @@ class DocumentDoctrineIndexComponent < BaseComponent
annotation.document.year annotation.document.year
end end
def clean_phil_rep(annotation)
return if annotation.phil_rep.blank?
annotation.phil_rep.gsub(/(PhilRep|Phil)\.?,?/i, "Phil")
end
def render? def render?
doctrine.present? && doctrine.persisted? doctrine.present? && doctrine.persisted?
end end

2
app/components/document_doctrine_index_component/document_doctrine_index_component.html.erb

@ -35,7 +35,7 @@
<% end %> <% end %>
<strong> <%= "#{annotation.annomarks.map { |annomark| "(#{annomark.code})" }.join(" ")}" %> </strong> <strong> <%= "#{annotation.annomarks.map { |annomark| "(#{annomark.code})" }.join(" ")}" %> </strong>
<%= raw annotation.content.present? ? annotation.content : [document_title(annotation), annotation.document.reference_number, date_or_year(annotation), annotation.phil_rep, annotated_documents_title].reject(&:blank?).join(', ') %> <%= raw annotation.content.present? ? annotation.content : [document_title(annotation), annotation.document.reference_number, date_or_year(annotation), clean_phil_rep(annotation), annotated_documents_title].reject(&:blank?).join(', ') %>
</p> </p>
<% if annotation.editor_notes.present? %> <% if annotation.editor_notes.present? %>

6
app/components/document_doctrine_show_component.rb

@ -35,4 +35,10 @@ class DocumentDoctrineShowComponent < BaseComponent
annotation.document.year annotation.document.year
end end
def clean_phil_rep(annotation)
return if annotation.phil_rep.blank?
annotation.phil_rep.gsub(/(PhilRep|Phil)\.?,?/i, "Phil")
end
end end

2
app/components/document_doctrine_show_component/document_doctrine_show_component.html.erb

@ -94,7 +94,7 @@
<% ad_date_or_year = annotated_document.docdate.present? ? annotated_document.docdate.strftime("%B %d, %Y") : annotated_document.year %> <% ad_date_or_year = annotated_document.docdate.present? ? annotated_document.docdate.strftime("%B %d, %Y") : annotated_document.year %>
<% annotated_documents_title << [" citing #{ad_title}", annotated_document.reference_number, ad_date_or_year].join(", ") %> <% annotated_documents_title << [" citing #{ad_title}", annotated_document.reference_number, ad_date_or_year].join(", ") %>
<% end %> <% end %>
<% citing_document_title = [document_title, annotation.document.reference_number, date_or_year, annotation.phil_rep, annotated_documents_title].reject(&:blank?).join(', ').html_safe %> <% citing_document_title = [document_title, annotation.document.reference_number, date_or_year, clean_phil_rep(annotation), annotated_documents_title].reject(&:blank?).join(', ').html_safe %>
<div class="row mb-2"> <div class="row mb-2">
<div class="col-sm-10"> <div class="col-sm-10">

3
app/controllers/documents_controller.rb

@ -1,5 +1,6 @@
class DocumentsController < ApplicationController class DocumentsController < ApplicationController
include JurisprudenceSearch include JurisprudenceSearch
include DoctrineSearch
load_and_authorize_resource :document, class: "Cdao::Jurisprudence" load_and_authorize_resource :document, class: "Cdao::Jurisprudence"
@ -16,7 +17,7 @@ class DocumentsController < ApplicationController
def show def show
@subjects = Cdao::Subject.all @subjects = Cdao::Subject.all
@doctrines = @document.doctrines @doctrines = @document.doctrines.sort_by { |doctrine| @doctrines.sort_by { |doctrine| [-doctrine.jurisprudences.first.year, -doctrine.jurisprudences.first.docdate] }
where = { enabled: true, state: "published" } where = { enabled: true, state: "published" }
@cited_in_documents = @document.class.citing_docs_of(@document, where) @cited_in_documents = @document.class.citing_docs_of(@document, where)

4
app/models/doctrine.rb

@ -19,6 +19,10 @@ class Doctrine < ApplicationRecord
DoctrineSubject.where(doctrine_id: self.id) DoctrineSubject.where(doctrine_id: self.id)
end end
def jurisprudences
Cdao::Jurisprudence.where(id: doctrine_jurisprudences.map(&:jurisprudence_id)).order(year: :desc, docdate: :desc)
end
def subjects def subjects
Cdao::Subject.where(id: doctrine_subjects.map(&:subject_id)) Cdao::Subject.where(id: doctrine_subjects.map(&:subject_id))
end end

2
app/views/doctrines/search.html.erb

@ -6,6 +6,6 @@
<%= render(DoctrineIndexTableComponent.new(current_user: current_user, search_results: @doctrines, opts: { is_index_table: true, subject_ids: params[:subject_ids].map(&:to_i) })) %> <%= render(DoctrineIndexTableComponent.new(current_user: current_user, search_results: @doctrines, opts: { is_index_table: true, subject_ids: params[:subject_ids].map(&:to_i) })) %>
</div> </div>
<% else %> <% else %>
<%= render(DoctrineIndexComponent.with_collection(@doctrines, current_user: current_user, opts: { is_index_table: false, subject_ids: params[:subject_ids].map(&:to_i) })) %> <%= render(DoctrineIndexComponent.with_collection(@doctrines.sort_by { |doctrine| [-doctrine.jurisprudences.first.year, -doctrine.jurisprudences.first.docdate.strftime("%Y-%m-%d")] }, current_user: current_user, opts: { is_index_table: false, subject_ids: params[:subject_ids].map(&:to_i) })) %>
<% end %> <% end %>
</div> </div>

4
app/views/documents/show.html.erb

@ -72,8 +72,8 @@
</div> </div>
</div> </div>
<div class="container-sm row-flex col-sm-12 p-0 doct-body-index"> <div class="container-sm row-flex col-sm-12 p-0 doct-body-index" id="doctrinesIndexView">
<%= render(DocumentDoctrineIndexComponent.with_collection(@doctrines, current_user: current_user, opts: { document_id: @document.id })) %> <%= render(DocumentDoctrineIndexComponent.with_collection(@doctrines.sort_by { |doctrine| [-doctrine.doctrine_jurisprudences.first.jurisprudence.doc_date.strftime("%Y-%m-%d")] }, current_user: current_user, opts: { document_id: @document.id })) %>
</div> </div>
</div> </div>

4
app/views/shared/_annotated_documents_search_results.html.erb

@ -81,11 +81,11 @@
<tr> <tr>
<td> <%= document.clean_reference_number %> </td> <td> <%= document.clean_reference_number %> </td>
<td> <%= document.short_title || document.title %> </td> <td> <%= document.short_title || document.title %> </td>
<td> <%= document.doc_date.present? ? document.doc_date : document.year %> </td> <td> <%= document.doc_date.present? ? document.doc_date.strftime("%B %d, %Y") : document.year %> </td>
<td> <td>
<a class="btn btn-success" data-controller="annotations" data-document-id="<%= document.id %>" <a class="btn btn-success" data-controller="annotations" data-document-id="<%= document.id %>"
data-document-reference-number="<%= document.clean_reference_number %>" data-document-reference-number="<%= document.clean_reference_number %>"
data-document-date="<%= document.doc_date || document.year %>" data-document-date="<%= document.doc_date.present? ? document.doc_date.strftime("%B %d, %Y") || document.year %>"
data-document-title="<%= document.short_title || document.title %>" data-document-title="<%= document.short_title || document.title %>"
data-action="click->annotations#addAnnotatedDocument" > data-action="click->annotations#addAnnotatedDocument" >
Add Add

4
app/views/shared/_case_lists_search_results.html.erb

@ -92,9 +92,9 @@
<tr> <tr>
<td style="width: 25%"> <%= document.clean_reference_number %> </td> <td style="width: 25%"> <%= document.clean_reference_number %> </td>
<td style="width: 45%"> <%= document.short_title || document.title %> </td> <td style="width: 45%"> <%= document.short_title || document.title %> </td>
<td style="width: 15%"> <%= document.doc_date.present? ? document.doc_date : document.year %> </td> <td style="width: 15%"> <%= document.doc_date.present? ? document.doc_date.strftime("%B %d, %Y") : document.year %> </td>
<td> <td>
<% date_or_year = document.doc_date || document.year %> <% date_or_year = document.doc_date.strftime("%B %d, %Y") || document.year %>
<% title = document.short_title || document.title %> <% title = document.short_title || document.title %>
<a class="btn btn-success btn-sm" data-bs-toggle="modal" data-bs-target="#annotationModal" data-controller="annotations" <a class="btn btn-success btn-sm" data-bs-toggle="modal" data-bs-target="#annotationModal" data-controller="annotations"
data-current-document-id="<%= opts[:current_document_id] %>" data-doctrine-id="<%= opts[:doctrine_id] %>" data-current-document-id="<%= opts[:current_document_id] %>" data-doctrine-id="<%= opts[:doctrine_id] %>"

59
app/views/shared/_doctrines_pagination.html.erb

@ -0,0 +1,59 @@
<header class="header bg-white b-b clearfix m-2">
<div class="row m-t-sm align-items-end pagination-body">
<div class="<%= doctrines.present? ? "col-md-6 mb-0 " : "col-md-12 mb-0"%> ">
<small style="color: darkred">
<%= page_entries_info doctrines, entry_name: 'records' if doctrines.present? %>
</small>
</div>
<div class="<%= doctrines.present? ? "col-md-6 position-relative" : "d-none"%>">
<div class="text-center pagination justify-content-end me-3">
<nav class="pagination pagination-sm" role="navigation" aria-label="pager">
<% unless doctrines.first_page? %>
<span class="page-item first">
<a class="page-link" data-controller="doctrines" data-document-id="<%= opts[:document_id] %>"
data-page="<%= 1 %>" data-action="click->doctrines#paginate">
<i class="fas fa-angle-double-left"></i>
</a>
</span>
<span class="page-item prev">
<a class="page-link" data-controller="doctrines" data-document-id="<%= opts[:document_id] %>"
data-page="<%= opts[:current_page].to_i - 1 %>" data-action="click->doctrines#paginate">
<i class="fas fa-angle-left"></i>
</a>
</span>
<% end %>
<% doctrines.total_pages.times do |page| -%>
<% if (page + 1) <= (opts[:current_page].to_i + 4) && (page + 1) >= (opts[:current_page].to_i - 4) %>
<% if opts[:current_page].to_i.eql?(page + 1) %>
<span class="page-item page current page-link"> <%= page + 1 %> </span>
<% else %>
<span class="page-item page">
<a class="page-link" data-controller="doctrines" data-document-id="<%= opts[:document_id] %>"
data-page="<%= page + 1 %>" data-action="click->doctrines#paginate"> <%= page + 1 %> </a>
</span>
<% end %>
<% end %>
<% end -%>
<% unless doctrines.last_page? %>
<span class="page-item next">
<a class="page-link" data-controller="doctrines" data-document-id="<%= opts[:document_id] %>"
data-page="<%= opts[:current_page].to_i + 1 %>" data-action="click->doctrines#paginate">
<i class="fas fa-angle-right"></i>
</a>
</span>
<span class="page-item last">
<a class="page-link" data-controller="doctrines" data-document-id="<%= opts[:document_id] %>"
data-page="<%= doctrines.total_pages %>" data-action="click->doctrines#paginate">
<i class="fas fa-angle-double-right"></i>
</a>
</span>
<% end %>
</nav>
</div>
</div>
</div>
</header>

4
app/views/shared/_document_doctrines_index.html.erb

@ -0,0 +1,4 @@
<div class="container-sm row-flex col-sm-12 p-0 doct-body-index" id="documentDoctrinesIndex">
<%= render(partial: "/shared/doctrines_pagination", locals: { doctrines: doctrines, opts: opts }) %>
<%= render(DocumentDoctrineIndexComponent.with_collection(doctrines, current_user: current_user, opts: { document_id: opts[:document_id] })) %>
</div>
Loading…
Cancel
Save