Make stuff sortable

This commit is contained in:
david 2024-11-11 04:04:13 +01:00
parent 50e853098b
commit ee5dbcf33e
21 changed files with 161 additions and 28 deletions

View file

@ -26,7 +26,7 @@
</p>
<% end %>
<div id="<%= dom_id(element, :success_criteria_list) %>" class="mb-3">
<div id="<%= dom_id(element, :success_criteria_list) %>" class="mb-3" data-controller="sortable" data-form-name="success_criterion" data-position-attribute= "position">
<% element.success_criteria.each do |sc| %>
<%= render sc %>
<% end %>

View file

@ -1,9 +1,11 @@
li id=dom_id(element, :page_nav_row)
li id=dom_id(element, :page_nav_row) data={ "sortable-url": element_path(element), "form-name": "element", "position-attribute": "position" }
- if current_page
=< link_to("##{dom_id(element)}", data: { "turbo": false }) do
i.bi.bi-boxes.me-1
=< "#{element.number} #{element.title}"
span id=dom_id(element, :page_nav_title)
= "#{element.number} #{element.title}"
- else
=< link_to(report_path(element.report, page_id: element.page.id, anchor: dom_id(element)), data: { "turbo": false }) do
i.bi.bi-boxes.me-1
=< "#{element.number} #{element.title}"
span id=dom_id(element, :page_nav_title)
=< "#{element.number} #{element.title}"

View file

@ -0,0 +1,7 @@
- @element.page.elements.each do |element|
= turbo_stream.update dom_id(element, :page_nav_title), "#{element.number} #{element.title}"
= turbo_stream.update dom_id(element, :title), "#{element.page.position}.#{element.position} #{element.title}"
/ - element.success_criteria.each do |sc|
/ = turbo_stream.update dom_id(sc, :title), "#{sc.page.position}.#{sc.element.position}.#{sc.position} #{sc.title}"
- element.success_criteria.each do |sc|
= turbo_stream.update dom_id(sc, :position), "#{sc.page.position}.#{sc.element.position}.#{sc.position}"