16 changed files with 593 additions and 156 deletions
@ -1,12 +1,12 @@
|
||||
<div class="container-fluid mt-2 p-0"> |
||||
<div class="col-sm-12"> |
||||
<div class="card-header" style="border-bottom: 1px solid darkred;"> <h4 class="mb-0"> New Doctrine </h4> </div> |
||||
<div class="card-header" style="border-bottom: 1px solid darkred;"> <h4 class="mb-0"> Edit Doctrine </h4> </div> |
||||
<div class="card-body" id="doctrineForm"> |
||||
<%= render(DoctrineFormComponent.new(current_user: current_user, doctrine: @doctrine)) %> |
||||
<%= render(DoctrineFormComponent.new(current_user: current_user, doctrine: @doctrine, jurisprudence_id: params[:jurisprudence_id])) %> |
||||
</div> |
||||
<div class="card-footer d-flex justify-content-end mt-2"> |
||||
<button type="button" class="btn btn-success me-2" data-action="click->doctrines#save">Save</button> |
||||
<button type="button" class="btn btn-danger ms-2" data-bs-dismiss="modal">Back</button> |
||||
<a class="btn btn-danger ms-2" href="<%= document_doctrine_path(params[:jurisprudence_id], @doctrine) %>">Back</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
@ -1,72 +0,0 @@
|
||||
<div class="modal-dialog modal-lg modal-dialog-scrollable" data-controller="doctrines selectize"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<h5 class="modal-title"> New Annotation </h5> |
||||
<button type="button" class="btn-close-x" data-bs-dismiss="modal" aria-label="Close">x</button> |
||||
</div> |
||||
|
||||
<div class="modal-body"> |
||||
<div class="row"> |
||||
<div class="col-sm-12 p-2"> |
||||
<strong> <%= label_tag :annotation_marks %> </strong> |
||||
<%= hidden_field_tag :doctrine_id, doctrine_id %> |
||||
<%= hidden_field_tag :current_document_id, jurisprudence.id %> |
||||
<%= hidden_field_tag :document_id, document.id %> |
||||
<%= hidden_field_tag :document_ids, nil %> |
||||
<%= select_tag "annomark_ids[]", options_from_collection_for_select(Annomark.all.order(name: :asc), :id, :name), |
||||
class: "form-control default-selectize ps-0", multiple: true, prompt: "Please select" %> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row"> |
||||
<div class="col-sm-12 p-2"> |
||||
<strong> <%= label_tag :document_title %> </strong> |
||||
<%= text_area_tag :document_title, document.display_text, class: "form-control selected-citing-docs" %> |
||||
</div> |
||||
</div> |
||||
|
||||
<div id="annotatedDocumentsSearchResults"> |
||||
<div class="row"> |
||||
<div class="col-sm-10 p-2"> |
||||
<%= text_field_tag :q, nil, class: "form-control", placeholder: "Search GR Number, Title or Short Title", data: { target: "annotations.q" } %> |
||||
</div> |
||||
<div class="col-sm-1 p-2"> |
||||
<button type="button" class="btn btn-success" data-action="click->annotations#searchDocuments"> Search </button> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row tab"> |
||||
<table class="table table-striped table-hover mb-0" style="width: 98%; margin: 0 auto;"> |
||||
<thead> |
||||
<th class="bg-light"> Reference No. </th> |
||||
<th class="bg-light"> Title </th> |
||||
<th class="bg-light"> Date </th> |
||||
<th class="bg-light"> </th> |
||||
</thead> |
||||
</table> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row"> |
||||
<div class="col-sm-12 p-2"> |
||||
<strong> <%= label_tag :phil_rep %> </strong> |
||||
<%= text_field_tag :phil_rep, document.phil_rep, class: "form-control" %> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row"> |
||||
<div class="col-sm-12 p-2"> |
||||
<strong> <%= label_tag :editor_notes %> </strong> |
||||
<%= rich_text_area_tag :editor_notes, nil, placeholder: "Editor Notes" %> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="modal-footer"> |
||||
<button type="button" class="btn btn-success" data-action="click->doctrines#saveAnnotation"> Save </button> |
||||
<button type="button" class="btn btn-danger" |
||||
data-document-id="<%= document.id %>" data-doctrine-id="<%= doctrine_id %>" |
||||
data-action="click->doctrines#closeDoctrineAnnotationModalForm">Close</button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
@ -0,0 +1,71 @@
|
||||
<div class="modal fade modal-doctrine-body" id="annotationModal" tabindex="-1" aria-labelledby="annotationModal" data-controller="doctrines"> |
||||
<div class="modal-dialog modal-xl modal-dialog-scrollable"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<h5 class="modal-title"> New Annotation </h5> |
||||
<button type="button" class="btn-close-x" data-bs-dismiss="modal" aria-label="Close">x</button> |
||||
</div> |
||||
|
||||
<div class="modal-body"> |
||||
<div class="row"> |
||||
<div class="col-sm-12 p-2"> |
||||
<strong> <%= label_tag :annotation_marks %> </strong> |
||||
<%= hidden_field_tag :annotaitons_attributes_index, nil %> |
||||
<%= hidden_field_tag :document_id, nil %> |
||||
<%= hidden_field_tag :document_ids, nil %> |
||||
<%= select_tag "annomark_ids[]", options_from_collection_for_select(Annomark.all.order(name: :asc), :id, :name), |
||||
class: "form-control default-selectize ps-0", multiple: true, prompt: "Please select" %> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row"> |
||||
<div class="col-sm-12 p-2"> |
||||
<strong> <%= label_tag :document_title %> </strong> |
||||
<%= rich_text_area_tag :document_title, nil, placeholder: "Document Title" %> |
||||
</div> |
||||
</div> |
||||
|
||||
<div id="citingDocumentsSearchResults"> |
||||
<div class="row"> |
||||
<div class="col-sm-10 p-2"> |
||||
<%= text_field_tag :q, nil, class: "form-control", placeholder: "Search GR Number, Title or Short Title", data: { target: "doctrines.q" } %> |
||||
</div> |
||||
<div class="col-sm-1 p-2"> |
||||
<button type="button" class="btn btn-success" data-action="click->doctrines#searchCitingDocuments"> Search </button> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row tab"> |
||||
<table class="table table-striped table-hover mb-0" style="width: 98%; margin: 0 auto;"> |
||||
<thead> |
||||
<th class="bg-light"> Reference No. </th> |
||||
<th class="bg-light"> Title </th> |
||||
<th class="bg-light"> Date </th> |
||||
<th class="bg-light"> </th> |
||||
</thead> |
||||
</table> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row"> |
||||
<div class="col-sm-12 p-2"> |
||||
<strong> <%= label_tag :phil_rep %> </strong> |
||||
<%= text_field_tag :phil_rep, nil, class: "form-control" %> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row"> |
||||
<div class="col-sm-12 p-2"> |
||||
<strong> <%= label_tag :editor_notes %> </strong> |
||||
<%= rich_text_area_tag :editor_notes, nil, placeholder: "Editor Notes" %> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="modal-footer"> |
||||
<button type="button" class="btn btn-success" data-action="click->doctrines#saveAnnotation"> Save </button> |
||||
<button type="button" class="btn btn-danger" data-bs-dismiss="modal">Close</button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
@ -0,0 +1,38 @@
|
||||
<% annotations.each_with_index do |annotation, index| %> |
||||
<div class="row mb-2 pb-0 ms-3"> |
||||
<div class="col-sm-1 p-0 me-1" style="width: auto;"> |
||||
<% if annotation[:annomark_ids].present? %> |
||||
<% annomarks = Annomark.where(id: annotation[:annomark_ids]) %> |
||||
<strong> <%= "#{annomarks.map { |annomark| "(#{annomark.code})" }.join(" ")}" %> </strong> |
||||
<% end %> |
||||
</div> |
||||
|
||||
<div class="col-sm-9 p-0 ms-1"> |
||||
<% contents = annotation[:content].gsub("<div>", "").gsub("</div>", "").split(" citing ") %> |
||||
<% phil_rep = annotation[:phil_rep] %> |
||||
<% contents[0] = [contents[0], phil_rep.gsub(/(PhilRep|Phil)\.?,?/i, "Phil")].join(" ") %> |
||||
<%= raw contents.length > 1 ? contents.join(" citing ") : contents[0] %> |
||||
</div> |
||||
|
||||
<div class="col-sm-2 d-flex justify-content-end align-items-baseline"> |
||||
<a class="btn btn-sm btn-secondary me-3" data-bs-toggle="modal" data-bs-target="#annotationModal" |
||||
data-controller="doctrines" data-annotations-attributes-index="<%= index %>" |
||||
data-action="click->doctrines#editAnnotation"> Edit </a> |
||||
<a class="btn btn-sm btn-danger" data-controller="doctrines" data-annotations-attributes-index="<%= index %>" |
||||
data-action="click->doctrines#removeAnnotation" > Delete </a> |
||||
</div> |
||||
</div> |
||||
|
||||
<% if annotation[:editor_notes].present? %> |
||||
<div class="row mb-2"> |
||||
<div class="col-sm-1 ms-5 p-0" style="width: 105px;"> |
||||
<span> Editors Note: </span> |
||||
</div> |
||||
|
||||
<div class="col-sm-10 ps-0"> |
||||
<%= raw annotation[:editor_notes] %> |
||||
</div> |
||||
</div> |
||||
<hr/> |
||||
<% end %> |
||||
<% end %> |
||||
@ -0,0 +1,107 @@
|
||||
<div class="row" data-controller="document"> |
||||
<div class="col-sm-10 p-2"> |
||||
<%= text_field_tag :q, opts[:q], class: "form-control", placeholder: "Search GR Number, Title or Short Title", |
||||
data: { target: "document.input" } %> |
||||
</div> |
||||
<div class="col-sm-2 p-2"> |
||||
<%= button_tag "Search", class: "btn btn-success btn-sm", data: { action: "click->document#searchDoctrineFormCaseLists" } %> |
||||
<button class="btn btn-warning btn-sm text-white ms-3" data-bs-toggle="collapse" href="#citation_finder_collapse" role="button" aria-expanded="false" aria-controls="collapseExample" > Citation finder</button> |
||||
</div> |
||||
<div class="collapse col-sm-10 p-2" id="citation_finder_collapse"> |
||||
<%= text_field_tag :citation_finder, opts[:citation_finder], class: "form-control", placeholder: "Citation Finder", data: { target: "document.citation_finder" } %> |
||||
</div> |
||||
</div> |
||||
|
||||
<header class="header bg-white b-b clearfix"> |
||||
<div class="row m-t-sm align-items-end pagination-body"> |
||||
<div class="<%= documents.present? ? "col-md-6 mb-0 " : "col-md-12 mb-0"%> "> |
||||
<h4 style="color: darkred" class="m-0">Search Results</h4> |
||||
<small style="color: darkred"> |
||||
<%= page_entries_info documents, entry_name: 'records' if documents.present? %> |
||||
</small> |
||||
</div> |
||||
<div class="<%= documents.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 documents.first_page? %> |
||||
<span class="page-item first"> |
||||
<a class="page-link" data-controller="document" data-q="<%= opts[:q] %>" data-page="<%= 1 %>" |
||||
data-action="click->document#paginateDoctrineFormCaseLists"> |
||||
<i class="fas fa-angle-double-left"></i> |
||||
</a> |
||||
</span> |
||||
|
||||
<span class="page-item prev"> |
||||
<a class="page-link" data-controller="document" data-q="<%= opts[:q] %>" |
||||
data-page="<%= opts[:current_page].to_i - 1 %>" data-action="click->document#paginateDoctrineFormCaseLists"> |
||||
<i class="fas fa-angle-left"></i> |
||||
</a> |
||||
</span> |
||||
<% end %> |
||||
|
||||
<% documents.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="document" data-q="<%= opts[:q] %>" |
||||
data-page="<%= page + 1 %>" data-action="click->document#paginateDoctrineFormCaseLists"> |
||||
<%= page + 1 %> |
||||
</a> |
||||
</span> |
||||
<% end %> |
||||
<% end %> |
||||
<% end -%> |
||||
|
||||
<% unless documents.last_page? %> |
||||
<span class="page-item next"> |
||||
<a class="page-link" data-controller="document" data-q="<%= opts[:q] %>" |
||||
data-page="<%= opts[:current_page].to_i + 1 %>" data-action="click->document#paginateDoctrineFormCaseLists"> |
||||
<i class="fas fa-angle-right"></i> |
||||
</a> |
||||
</span> |
||||
|
||||
<span class="page-item last"> |
||||
<a class="page-link" data-controller="document" data-q="<%= opts[:q] %>" |
||||
data-page="<%= documents.total_pages %>" data-action="click->document#paginateDoctrineFormCaseLists"> |
||||
<i class="fas fa-angle-double-right"></i> |
||||
</a> |
||||
</span> |
||||
<% end %> |
||||
</nav> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</header> |
||||
|
||||
<div class="row tab"> |
||||
<table class="table table-striped table-hover mb-0" style="width: 98%; margin: 0 auto;"> |
||||
<thead> |
||||
<th class="bg-light"> Reference No. </th> |
||||
<th class="bg-light"> Title </th> |
||||
<th class="bg-light"> Date </th> |
||||
<th class="bg-light"> </th> |
||||
</thead> |
||||
|
||||
<tbody> |
||||
<% documents.each do |document| %> |
||||
<tr> |
||||
<td style="width: 25%"> <%= document.clean_reference_number %> </td> |
||||
<td style="width: 45%"> <%= document.short_title || document.title %> </td> |
||||
<td style="width: 15%"> <%= document.doc_date.present? ? document.doc_date.strftime("%B %d, %Y") : document.year %> </td> |
||||
<td> |
||||
<% date_or_year = document.doc_date.strftime("%B %d, %Y") || document.year %> |
||||
<% title = document.short_title || document.title %> |
||||
<a class="btn btn-success btn-sm" data-bs-toggle="modal" data-bs-target="#annotationModal" data-controller="doctrines" |
||||
data-jurisprudence-id="<%= opts[:jurisprudence_id] %>" data-document-id="<%= document.id %>" data-document-title="<%= title %>" |
||||
data-document-reference-number="<%= document.clean_reference_number %>" data-document-date-or-year="<%= date_or_year %>" |
||||
data-document-phil-rep="<%= document.phil_rep %>" data-action="click->doctrines#newAnnotation"> |
||||
Add Annotation |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
<% end %> |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
@ -0,0 +1,101 @@
|
||||
<div class="row" data-controller="doctrines"> |
||||
<div class="col-sm-10 p-2"> |
||||
<%= text_field_tag :q, opts[:q], class: "form-control", placeholder: "Search GR Number, Title or Short Title", data: { target: "doctrines.q" } %> |
||||
</div> |
||||
<div class="col-sm-1 p-2"> |
||||
<%= button_tag "Search", class: "btn btn-success", data: { action: "click->doctrines#searchCitingDocuments" } %> |
||||
</div> |
||||
</div> |
||||
|
||||
<% if documents.present? %> |
||||
<header class="header bg-white b-b clearfix"> |
||||
<div class="row m-t-sm align-items-end pagination-body"> |
||||
<div class="<%= documents.present? ? "col-md-6 mb-0 " : "col-md-12 mb-0"%> "> |
||||
<h4 style="color: darkred" class="m-0">Search Results</h4> |
||||
<small style="color: darkred"> |
||||
<%= page_entries_info documents, entry_name: 'records' if documents.present? %> |
||||
</small> |
||||
</div> |
||||
<div class="<%= documents.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 documents.first_page? %> |
||||
<span class="page-item first"> |
||||
<a class="page-link" data-controller="doctrines" data-q="<%= opts[:q] %>" data-page="<%= 1 %>" data-action="click->doctrines#paginateCitingDocuments"> |
||||
<i class="fas fa-angle-double-left"></i> |
||||
</a> |
||||
</span> |
||||
|
||||
<span class="page-item prev"> |
||||
<a class="page-link" data-controller="doctrines" data-q="<%= opts[:q] %>" data-page="<%= opts[:current_page].to_i - 1 %>" data-action="click->doctrines#paginateCitingDocuments"> |
||||
<i class="fas fa-angle-left"></i> |
||||
</a> |
||||
</span> |
||||
<% end %> |
||||
|
||||
<% documents.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 <%= 'current' if opts[:current_page].to_i.eql?(page + 1) %>"> |
||||
<a class="page-link <%= 'current' if opts[:current_page].to_i.eql?(page + 1) %>" |
||||
data-controller="doctrines" data-q="<%= opts[:q] %>" data-page="<%= page + 1 %>" |
||||
data-action="click->doctrines#paginateCitingDocuments"> <%= page + 1 %> </a> |
||||
</span> |
||||
<% end %> |
||||
<% end %> |
||||
<% end -%> |
||||
|
||||
<% unless documents.last_page? %> |
||||
<span class="page-item next"> |
||||
<a class="page-link" data-controller="doctrines" data-q="<%= opts[:q] %>" |
||||
data-page="<%= opts[:current_page].to_i + 1 %>" data-action="click->doctrines#paginateCitingDocuments"> |
||||
<i class="fas fa-angle-right"></i> |
||||
</a> |
||||
</span> |
||||
|
||||
<span class="page-item last"> |
||||
<a class="page-link" data-controller="doctrines" data-q="<%= opts[:q] %>" |
||||
data-page="<%= documents.total_pages %>" data-action="click->doctrines#paginateCitingDocuments"> |
||||
<i class="fas fa-angle-double-right"></i> |
||||
</a> |
||||
</span> |
||||
<% end %> |
||||
</nav> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</header> |
||||
<% end %> |
||||
|
||||
<div class="row tab"> |
||||
<table class="table table-striped table-hover mb-0" style="width: 98%; margin: 0 auto;"> |
||||
<thead> |
||||
<th class="bg-light"> Reference No. </th> |
||||
<th class="bg-light"> Title </th> |
||||
<th class="bg-light"> Date </th> |
||||
<th class="bg-light"> </th> |
||||
</thead> |
||||
|
||||
<tbody> |
||||
<% documents.each do |document| %> |
||||
<% date_or_year = document.doc_date.present? ? document.doc_date.strftime("%B %d, %Y") : document.year %> |
||||
<tr> |
||||
<td> <%= document.clean_reference_number %> </td> |
||||
<td> <%= document.short_title || document.title %> </td> |
||||
<td> <%= date_or_year %> </td> |
||||
<td> |
||||
<a class="btn btn-success" data-controller="doctrines" data-document-id="<%= document.id %>" |
||||
data-document-reference-number="<%= document.clean_reference_number %>" |
||||
data-document-date="<%= date_or_year %>" |
||||
data-document-title="<%= document.short_title || document.title %>" |
||||
data-action="click->doctrines#addCitingDocument" > |
||||
Add |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
<% end %> |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
@ -0,0 +1,23 @@
|
||||
<div class="row" data-controller="document"> |
||||
<div class="col-sm-10 p-2"> |
||||
<%= text_field_tag :q, nil, class: "form-control", placeholder: "Search GR Number, Title or Short Title", data: { target: "document.input" } %> |
||||
</div> |
||||
<div class="col-sm-2 p-2"> |
||||
<%= button_tag "Search", class: "btn btn-success", data: { action: "click->document#searchDoctrineFormCaseLists" } %> |
||||
<button class="btn btn-warning btn-sm text-white ms-3" data-bs-toggle="collapse" href="#citation_finder_collapse" role="button" aria-expanded="false" aria-controls="collapseExample" > Citation finder</button> |
||||
</div> |
||||
<div class="collapse col-sm-10 p-2" id="citation_finder_collapse"> |
||||
<%= text_field_tag :citation_finder, nil, class: "form-control", placeholder: "Citation Finder", data: { target: "document.citation_finder" } %> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row tab"> |
||||
<table class="table table-striped table-hover mb-0" style="width: 98%; margin: 0 auto;"> |
||||
<thead> |
||||
<th class="bg-light"> Reference No. </th> |
||||
<th class="bg-light"> Title </th> |
||||
<th class="bg-light"> Date </th> |
||||
<th class="bg-light"> </th> |
||||
</thead> |
||||
</table> |
||||
</div> |
||||
Loading…
Reference in new issue