Avoid full page reloads on report#show

This commit is contained in:
david 2024-07-20 22:32:35 +02:00
parent 916b370905
commit c44c9ccaba
7 changed files with 19 additions and 8 deletions

View file

@ -1,4 +1,4 @@
<%= bootstrap_form_with(model: element, data: { turbo_frame: "_top" }) do |form| %>
<%= bootstrap_form_with(model: element, data: element.persisted? || { turbo_frame: "_top" }) do |form| %>
<%= form.hidden_field :report_id %>
<div class="row">
<div class="col">

View file

@ -0,0 +1,2 @@
<%= turbo_stream.update "new_element_frame", partial: "reports/new_element_button", locals: { report: @element.report } %>
<%= turbo_stream.append "element_list", @element %>

View file

@ -7,6 +7,9 @@
<i class="bi bi-card-checklist">
</i>
<%= @element.title %>
<div class="badge text-bg-secondary">
<%= @element.path %>
</div>
</h2>
<%= link_to(tag.i(class: "bi bi-pencil"), @element, class: "btn btn-link text-warning") %>
</div>

View file

@ -0,0 +1 @@
<%= link_to "#{tag.i(class: "bi bi-plus-lg")} Neues Element".html_safe, new_element_path(report_id: report.id), class: "btn btn-primary" %>

View file

@ -12,15 +12,17 @@
<div class="border-top pt-3">
<%= turbo_frame_tag "new_element_frame" do %>
<%= link_to "#{tag.i(class: "bi bi-plus-lg")} Neues Element".html_safe, new_element_path(report_id: @report.id), class: "btn btn-primary" %>
<%= render partial: "reports/new_element_button", locals: { report: @report } %>
<% end %>
</div>
<% @report.elements.each do |element| %>
<%= turbo_frame_tag dom_id(element, :frame) do %>
<%= render element %>
<% end %>
<% end %>
<div id="element_list">
<% @report.elements.each do |element| %>
<%= turbo_frame_tag dom_id(element, :frame) do %>
<%= render element %>
<% end %>
<% end %>
</div>
<div class="action-row">