|
|
|
@ -1,76 +1,168 @@ |
|
|
|
<% parent.children.order(name: :asc).each do |sub1| %> |
|
|
|
<% if opts[:is_offcanvas].present? %> |
|
|
|
<div class="accordion accordion-flush ps-20" id="#secondLevelPanel<%= sub1.id %>"> |
|
|
|
<% Cdao::Subject.roots.order(name: :asc).each do |root| %> |
|
|
|
<div class="accordion-item"> |
|
|
|
<div class="accordion accordion-flash" id="mainPanel<%= root.id %>"> |
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
<div class="accordion-item"> |
|
|
|
<% if sub1.children.present? %> |
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#<%= ["secondLevel", sub1.id].join %>"> |
|
|
|
<% if root.children.present? %> |
|
|
|
<%= link_to sub1.name, subject_index_path(sub1.id), class: "accordion-link text-decoration-none text-dark d-block sub2 clickable-link" %> |
|
|
|
<div class="accordion-button collapsed m-0 p-0" data-bs-toggle="collapse" data-bs-target="#<%= ["rootLevel", root.id].join %>"> |
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub1.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 me-5" %> |
|
|
|
<%= link_to root.name, subject_index_path(root.id), class: "accordion-link text-decoration-none text-dark d-block sub1 clickable-link" %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% else %> |
|
|
|
|
|
|
|
<%= link_to root.name, subject_index_path(root.id), class: "accordion-link text-decoration-none text-dark d-block sub1 clickable-link" %> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="accordion-collapse collapse" id="<%= ["rootLevel", root.id].join %>" data-bs-parent="#mainPanel<%= root.id %>"> |
|
|
|
|
|
|
|
<div class="accordion-body pt-1 pb-1"> |
|
|
|
|
|
|
|
<% root.children.order(name: :asc).each do |sub1| %> |
|
|
|
|
|
|
|
<div class="accordion accordion-flush ps-20" id="#secondLevelPanel<%= sub1.id %>"> |
|
|
|
|
|
|
|
<div class="accordion-item"> |
|
|
|
|
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
|
|
|
|
<% if sub1.children.present? %> |
|
|
|
|
|
|
|
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#<%= ["secondLevel", sub1.id].join %>"> |
|
|
|
|
|
|
|
<%= link_to sub1.name, subject_index_path(sub1.id), class: "accordion-link text-decoration-none text-dark d-block sub2 clickable-link" %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% else %> |
|
|
|
|
|
|
|
<%= link_to sub1.name, subject_index_path(sub1.id), class: "accordion-link text-decoration-none text-dark d-block sub2 clickable-link" %> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="accordion-collapse collapse" id="<%= ["secondLevel", sub1.id].join %>" data-bs-parent="#secondLevelPanel<%= sub1.id %>"> |
|
|
|
|
|
|
|
<div class="accordion-body pt-1"> |
|
|
|
|
|
|
|
<% sub1.children.order(name: :asc).each do |sub2| %> |
|
|
|
|
|
|
|
<div class="accordion accordion-flush ps-20" id="thirdLevelPanel<%= sub2.id %>"> |
|
|
|
|
|
|
|
<div class="accordion-item"> |
|
|
|
|
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
|
|
|
|
<% if sub1.children.present? %> |
|
|
|
|
|
|
|
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#<%= ["thirdLevel", sub2.id].join %>"> |
|
|
|
|
|
|
|
<%= link_to sub2.name, subject_index_path(sub2.id), class: "accordion-link text-decoration-none text-dark d-block sub3 clickable-link" %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% else %> |
|
|
|
|
|
|
|
<%= link_to sub2.name, subject_index_path(sub2.id), class: "accordion-link text-decoration-none text-dark d-block sub3 clickable-link" %> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="accordion-collapse collapse" id="<%= ["thirdLevel", sub2.id].join %>" data-bs-parent="#thirdLevelPanel<%= sub2.id %>"> |
|
|
|
|
|
|
|
<div class="accordion-body pt-1"> |
|
|
|
|
|
|
|
<% sub2.children.order(name: :asc).each do |sub3| %> |
|
|
|
|
|
|
|
<div class="accordion accordion-flush ps-20" id="fourthLevelPanel<%= sub3.id %>"> |
|
|
|
|
|
|
|
<div class="accordion-item"> |
|
|
|
|
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
|
|
|
|
<% if sub3.children.present? %> |
|
|
|
|
|
|
|
<div class="<%= sub3.children.present? ? 'accordion-button' : '' %> collapsed" data-bs-toggle="collapse" data-bs-target="#<%= ["fourthLevel", sub3.id].join %>"> |
|
|
|
|
|
|
|
<%= link_to sub3.name, subject_index_path(sub3.id), class: "accordion-link text-decoration-none text-dark d-block sub4 clickable-link" %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% else %> |
|
|
|
|
|
|
|
<%= link_to sub3.name, subject_index_path(sub3.id), class: "accordion-link text-decoration-none text-dark d-block sub4 clickable-link" %> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="accordion-collapse collapse" id="<%= ["fourthLevel", sub3.id].join %>" data-bs-parent="#fourthLevelPanel<%= sub3.id %>"> |
|
|
|
|
|
|
|
<div class="accordion-body pt-1"> |
|
|
|
|
|
|
|
<% sub3.children.order(name: :asc).each do |sub4| %> |
|
|
|
|
|
|
|
<div class="accordion accordion-flush ps-20"> |
|
|
|
|
|
|
|
<div class="accordion-item d-flex justify-content-between"> |
|
|
|
|
|
|
|
<div> |
|
|
|
|
|
|
|
<%= link_to sub4.name, subject_index_path(sub4.id), class: "accordion-link text-decoration-none text-dark d-block sub5 clickable-link" %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<% else %> |
|
|
|
</div> |
|
|
|
<%= link_to sub1.name, subject_index_path(sub1.id), class: "accordion-link text-decoration-none text-dark d-block sub2 clickable-link" %> |
|
|
|
|
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub1.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 accordion-action-button-margin" %> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
<% else %> |
|
|
|
|
|
|
|
<% parent.children.order(name: :asc).each do |sub1| %> |
|
|
|
|
|
|
|
<div class="accordion accordion-flush ps-20" id="#secondLevelPanel<%= sub1.id %>"> |
|
|
|
|
|
|
|
<div class="accordion-item"> |
|
|
|
|
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
|
|
|
|
<% if sub1.children.present? %> |
|
|
|
|
|
|
|
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#<%= ["secondLevel", sub1.id].join %>"> |
|
|
|
|
|
|
|
<%= link_to sub1.name, subject_index_path(sub1.id), class: "accordion-link text-decoration-none text-dark d-block sub2 clickable-link" %> |
|
|
|
|
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub1.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 me-5" %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% else %> |
|
|
|
|
|
|
|
<%= link_to sub1.name, subject_index_path(sub1.id), class: "accordion-link text-decoration-none text-dark d-block sub2 clickable-link" %> |
|
|
|
|
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub1.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 accordion-action-button-margin" %> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="accordion-collapse collapse" id="<%= ["secondLevel", sub1.id].join %>" data-bs-parent="#secondLevelPanel<%= sub1.id %>"> |
|
|
|
<div class="accordion-collapse collapse" id="<%= ["secondLevel", sub1.id].join %>" data-bs-parent="#secondLevelPanel<%= sub1.id %>"> |
|
|
|
<div class="accordion-body pt-1"> |
|
|
|
<div class="accordion-body pt-1"> |
|
|
|
<% sub1.children.order(name: :asc).each do |sub2| %> |
|
|
|
<% sub1.children.order(name: :asc).each do |sub2| %> |
|
|
|
<div class="accordion accordion-flush ps-20" id="thirdLevelPanel<%= sub2.id %>"> |
|
|
|
<div class="accordion accordion-flush ps-20" id="thirdLevelPanel<%= sub2.id %>"> |
|
|
|
<div class="accordion-item"> |
|
|
|
<div class="accordion-item"> |
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
<% if sub1.children.present? %> |
|
|
|
<% if sub1.children.present? %> |
|
|
|
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#<%= ["thirdLevel", sub2.id].join %>"> |
|
|
|
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#<%= ["thirdLevel", sub2.id].join %>"> |
|
|
|
|
|
|
|
<%= link_to sub2.name, subject_index_path(sub2.id), class: "accordion-link text-decoration-none text-dark d-block sub3 clickable-link" %> |
|
|
|
|
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub2.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 me-5" %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% else %> |
|
|
|
<%= link_to sub2.name, subject_index_path(sub2.id), class: "accordion-link text-decoration-none text-dark d-block sub3 clickable-link" %> |
|
|
|
<%= link_to sub2.name, subject_index_path(sub2.id), class: "accordion-link text-decoration-none text-dark d-block sub3 clickable-link" %> |
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub2.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 me-5" %> |
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub2.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 accordion-action-button-margin" %> |
|
|
|
</div> |
|
|
|
<% end %> |
|
|
|
<% else %> |
|
|
|
</div> |
|
|
|
<%= link_to sub2.name, subject_index_path(sub2.id), class: "accordion-link text-decoration-none text-dark d-block sub3 clickable-link" %> |
|
|
|
|
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub2.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 accordion-action-button-margin" %> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="accordion-collapse collapse" id="<%= ["thirdLevel", sub2.id].join %>" data-bs-parent="#thirdLevelPanel<%= sub2.id %>"> |
|
|
|
<div class="accordion-collapse collapse" id="<%= ["thirdLevel", sub2.id].join %>" data-bs-parent="#thirdLevelPanel<%= sub2.id %>"> |
|
|
|
<div class="accordion-body pt-1"> |
|
|
|
<div class="accordion-body pt-1"> |
|
|
|
<% sub2.children.order(name: :asc).each do |sub3| %> |
|
|
|
<% sub2.children.order(name: :asc).each do |sub3| %> |
|
|
|
<div class="accordion accordion-flush ps-20" id="fourthLevelPanel<%= sub3.id %>"> |
|
|
|
<div class="accordion accordion-flush ps-20" id="fourthLevelPanel<%= sub3.id %>"> |
|
|
|
<div class="accordion-item"> |
|
|
|
<div class="accordion-item"> |
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
<div class="accordion-header d-flex justify-content-between"> |
|
|
|
<% if sub3.children.present? %> |
|
|
|
<% if sub3.children.present? %> |
|
|
|
<div class="<%= sub3.children.present? ? 'accordion-button' : '' %> collapsed" data-bs-toggle="collapse" data-bs-target="#<%= ["fourthLevel", sub3.id].join %>"> |
|
|
|
<div class="<%= sub3.children.present? ? 'accordion-button' : '' %> collapsed" data-bs-toggle="collapse" data-bs-target="#<%= ["fourthLevel", sub3.id].join %>"> |
|
|
|
|
|
|
|
<%= link_to sub3.name, subject_index_path(sub3.id), class: "accordion-link text-decoration-none text-dark d-block sub4 clickable-link" %> |
|
|
|
|
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub3.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 me-5" %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<% else %> |
|
|
|
<%= link_to sub3.name, subject_index_path(sub3.id), class: "accordion-link text-decoration-none text-dark d-block sub4 clickable-link" %> |
|
|
|
<%= link_to sub3.name, subject_index_path(sub3.id), class: "accordion-link text-decoration-none text-dark d-block sub4 clickable-link" %> |
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub3.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 me-5" %> |
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub3.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 accordion-action-button-margin" %> |
|
|
|
</div> |
|
|
|
<% end %> |
|
|
|
<% else %> |
|
|
|
</div> |
|
|
|
<%= link_to sub3.name, subject_index_path(sub3.id), class: "accordion-link text-decoration-none text-dark d-block sub4 clickable-link" %> |
|
|
|
|
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub3.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 accordion-action-button-margin" %> |
|
|
|
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="accordion-collapse collapse" id="<%= ["fourthLevel", sub3.id].join %>" data-bs-parent="#fourthLevelPanel<%= sub3.id %>"> |
|
|
|
<div class="accordion-collapse collapse" id="<%= ["fourthLevel", sub3.id].join %>" data-bs-parent="#fourthLevelPanel<%= sub3.id %>"> |
|
|
|
<div class="accordion-body pt-1"> |
|
|
|
<div class="accordion-body pt-1"> |
|
|
|
<% sub3.children.order(name: :asc).each do |sub4| %> |
|
|
|
<% sub3.children.order(name: :asc).each do |sub4| %> |
|
|
|
<div class="accordion accordion-flush ps-20"> |
|
|
|
<div class="accordion accordion-flush ps-20"> |
|
|
|
<div class="accordion-item d-flex justify-content-between"> |
|
|
|
<div class="accordion-item d-flex justify-content-between"> |
|
|
|
<div> |
|
|
|
<div> |
|
|
|
<%= link_to sub4.name, subject_index_path(sub4.id), class: "accordion-link text-decoration-none text-dark d-block sub5 clickable-link" %> |
|
|
|
<%= link_to sub4.name, subject_index_path(sub4.id), class: "accordion-link text-decoration-none text-dark d-block sub5 clickable-link" %> |
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub4.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 accordion-action-button-margin" %> |
|
|
|
<%= link_to "Add Sub Level", new_subject_index_path(parent_id: sub4.id), class: "btn btn-sm btn-primary text-decoration-none d-block sub1 clickable-link position-absolute end-0 accordion-action-button-margin" %> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<% end %> |
|
|
|
<% end %> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<% end %> |
|
|
|
<% end %> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<% end %> |
|
|
|
<% end %> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<% end %> |
|
|
|
<% end %> |
|
|
|
<% end %> |
|
|
|
|