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

@ -9,19 +9,20 @@
- if @page_nav_mode != :comment || current_page.nil?
- if report.pages.any?
nav.mt-3 id=dom_id(report, :page_nav_spy)
ul
ul data={ controller: :sortable }
- report.pages.each do |page|
- is_current = current_page == page
li
li data={ "sortable-url": page_path(page), "form-name": "page", "position-attribute": "position" }
details.tree open=current_page_displayed(page) class=""
summary class=(is_current ? "active" : nil)
.content
i.bi.me-1 class="bi-file-earmark-check#{is_current ? "" : "" }"
- if is_current
=< "#{page.position} #{page.path}"
span id=dom_id(page, :title) =< "#{page.position} #{page.path}"
- else
=< link_to("#{page.position} #{page.path}", report_path(report, page_id: page.id), data: { "turbo-frame": :_top })
ul id=dom_id(page, :page_nav_elements)
=< link_to(report_path(report, page_id: page.id), data: { "turbo-frame": :_top }) do
span id=dom_id(page, :title) =< "#{page.position} #{page.path}"
ul id=dom_id(page, :page_nav_elements) data={ controller: "sortable", "linked-element-id": "element_list" }
- page.elements.each do |element|
= render partial: "elements/page_nav_row", locals: { element: element, current_page: current_page == element.page }
/li