2024-11-09 01:00:26 +01:00
|
|
|
/ div id=dom_id(report, :page_nav)
|
2024-11-09 03:54:25 +01:00
|
|
|
= turbo_frame_tag(dom_id(report, :page_nav)) do
|
2024-11-11 01:40:04 +01:00
|
|
|
- if current_page
|
|
|
|
|
ul.nav.nav-underline
|
|
|
|
|
li.nav-item
|
|
|
|
|
= link_to("Baum", report_path(report, page_id: current_page.id, pnm: :n), class: "nav-link #{@page_nav_mode != :comment ? "active" : nil}", data: { hotkey: "b", controller: :hotkey })
|
|
|
|
|
li.nav-item
|
|
|
|
|
= link_to("Notizen", report_path(report, page_id: current_page.id, pnm: :c), class: "nav-link #{@page_nav_mode == :comment ? "active" : nil}", data: { hotkey: "n", controller: :hotkey })
|
|
|
|
|
- if @page_nav_mode != :comment || current_page.nil?
|
2024-11-09 00:43:04 +01:00
|
|
|
- if report.pages.any?
|
|
|
|
|
nav.mt-3 id=dom_id(report, :page_nav_spy)
|
2024-11-11 04:04:13 +01:00
|
|
|
ul data={ controller: :sortable }
|
2024-11-03 21:58:25 +01:00
|
|
|
- report.pages.each do |page|
|
|
|
|
|
- is_current = current_page == page
|
2024-11-11 04:04:13 +01:00
|
|
|
li data={ "sortable-url": page_path(page), "form-name": "page", "position-attribute": "position" }
|
2024-11-06 22:12:37 +01:00
|
|
|
details.tree open=current_page_displayed(page) class=""
|
2024-11-11 06:01:19 +01:00
|
|
|
summary.d-flex class=(is_current ? "active" : nil)
|
|
|
|
|
.content.flex-fill
|
2024-11-07 01:24:55 +01:00
|
|
|
i.bi.me-1 class="bi-file-earmark-check#{is_current ? "" : "" }"
|
|
|
|
|
- if is_current
|
2024-11-11 04:04:13 +01:00
|
|
|
span id=dom_id(page, :title) =< "#{page.position} #{page.path}"
|
2024-11-07 01:24:55 +01:00
|
|
|
- else
|
2024-11-11 04:04:13 +01:00
|
|
|
=< link_to(report_path(report, page_id: page.id), data: { "turbo-frame": :_top }) do
|
|
|
|
|
span id=dom_id(page, :title) =< "#{page.position} #{page.path}"
|
2024-11-11 06:01:19 +01:00
|
|
|
i.bi.bi-grip-vertical.align-self-end.handle
|
2024-11-11 04:04:13 +01:00
|
|
|
ul id=dom_id(page, :page_nav_elements) data={ controller: "sortable", "linked-element-id": "element_list" }
|
2024-11-03 21:58:25 +01:00
|
|
|
- page.elements.each do |element|
|
2024-11-09 00:43:04 +01:00
|
|
|
= render partial: "elements/page_nav_row", locals: { element: element, current_page: current_page == element.page }
|
|
|
|
|
/li
|
2024-11-03 21:58:25 +01:00
|
|
|
- if current_page == page
|
2024-11-06 22:12:37 +01:00
|
|
|
=< link_to("##{dom_id(element)}", data: { "turbo": false }) do
|
|
|
|
|
i.bi.bi-boxes.me-1
|
|
|
|
|
=< "#{element.number} #{element.title}"
|
2024-11-03 21:58:25 +01:00
|
|
|
- else
|
2024-11-06 22:12:37 +01:00
|
|
|
=< link_to(report_path(report, page_id: page.id, anchor: dom_id(element)), data: { "turbo": false }) do
|
|
|
|
|
i.bi.bi-boxes.me-1
|
|
|
|
|
=< "#{element.number} #{element.title}"
|
2024-11-09 00:43:04 +01:00
|
|
|
= turbo_frame_tag "new_page_frame" do
|
|
|
|
|
= render partial: "reports/new_page_button", locals: { report: report }
|
|
|
|
|
- else
|
2024-11-11 01:40:04 +01:00
|
|
|
- if current_page
|
|
|
|
|
= turbo_frame_tag(dom_id(current_page, :notes)) do
|
|
|
|
|
= render partial: "pages/notes", locals: { page: current_page }
|