Delete stuff in report view
This commit is contained in:
parent
644969c613
commit
50e853098b
16 changed files with 64 additions and 31 deletions
|
|
@ -57,8 +57,16 @@ class ElementsController < ApplicationController
|
|||
|
||||
# DELETE /elements/1
|
||||
def destroy
|
||||
@element.destroy!
|
||||
redirect_to page_elements_url(@element.page), notice: "Element was successfully destroyed.", status: :see_other
|
||||
Element.connection.transaction do
|
||||
@element.destroy!
|
||||
@element.page.elements.where("position > ?", @element.position).update_all("position = position - 1")
|
||||
end
|
||||
respond_to do |format|
|
||||
format.turbo_stream
|
||||
format.html do
|
||||
redirect_to page_elements_url(@element.page), notice: "Element was successfully destroyed.", status: :see_other
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class PagesController < ApplicationController
|
|||
# DELETE /pages/1
|
||||
def destroy
|
||||
@page.destroy!
|
||||
redirect_to report_pages_url(@page.report), notice: "Page was successfully destroyed.", status: :see_other
|
||||
redirect_to report_url(@page.report), notice: "Page was successfully destroyed.", status: :see_other
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -62,7 +62,10 @@ class SuccessCriteriaController < ApplicationController
|
|||
|
||||
# DELETE /success_criteria/1
|
||||
def destroy
|
||||
@success_criterion.destroy!
|
||||
SuccessCriterion.transaction do
|
||||
@success_criterion.destroy!
|
||||
@success_criterion.element.success_criteria.where("position > ?", @success_criterion.position).update_all("position = position - 1")
|
||||
end
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
redirect_to element_success_criteria_url(@success_criterion.element), notice: "Erfolgskriterium was successfully destroyed.", status: :see_other
|
||||
|
|
|
|||
|
|
@ -4,8 +4,10 @@
|
|||
<h3 class="h4">
|
||||
<i class="bi bi-boxes">
|
||||
</i>
|
||||
<%= element.page.position %>.<%= element.position %>
|
||||
<%= element.title %>
|
||||
<span id="<%= dom_id(element, :title) %>">
|
||||
<%= element.page.position %>.<%= element.position %>
|
||||
<%= element.title %>
|
||||
</span>
|
||||
</h3>
|
||||
<%= link_to [:edit, element], class: "btn btn-link text-secondary" do %>
|
||||
<i class="bi bi-pencil">
|
||||
|
|
@ -17,6 +19,11 @@
|
|||
<%= element.description %>
|
||||
</div>
|
||||
<% end %>
|
||||
<p class="actions">
|
||||
<%= button_to(element_path(element), method: :delete, class: "btn btn-outline-danger", data: { turbo_confirm: "Bist du sicher?"}) do %>
|
||||
<i class="bi bi-trash"></i>
|
||||
<% end %>
|
||||
</p>
|
||||
<% end %>
|
||||
|
||||
<div id="<%= dom_id(element, :success_criteria_list) %>" class="mb-3">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
li
|
||||
li id=dom_id(element, :page_nav_row)
|
||||
- if current_page
|
||||
=< link_to("##{dom_id(element)}", data: { "turbo": false }) do
|
||||
i.bi.bi-boxes.me-1
|
||||
|
|
|
|||
5
app/views/elements/destroy.turbo_stream.slim
Normal file
5
app/views/elements/destroy.turbo_stream.slim
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
= turbo_stream.remove dom_id(@element)
|
||||
= turbo_stream.remove dom_id(@element, :page_nav_row)
|
||||
- @element.page.elements.reject { _1 == @element }.each do |e|
|
||||
= turbo_stream.update dom_id(e, :title), "#{e.page.position}.#{e.position} #{e.title}"
|
||||
= turbo_stream.replace dom_id(e, :page_nav_row), partial: "elements/page_nav_row", locals: { element: e, current_page: true }
|
||||
|
|
@ -1,11 +1,12 @@
|
|||
/ div id=dom_id(report, :page_nav)
|
||||
= turbo_frame_tag(dom_id(report, :page_nav)) do
|
||||
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 == :nav_tree ? "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 == :nav_tree
|
||||
- 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?
|
||||
- if report.pages.any?
|
||||
nav.mt-3 id=dom_id(report, :page_nav_spy)
|
||||
ul
|
||||
|
|
@ -35,5 +36,6 @@
|
|||
= turbo_frame_tag "new_page_frame" do
|
||||
= render partial: "reports/new_page_button", locals: { report: report }
|
||||
- else
|
||||
= turbo_frame_tag(dom_id(current_page, :notes)) do
|
||||
= render partial: "pages/notes", locals: { page: current_page }
|
||||
- if current_page
|
||||
= turbo_frame_tag(dom_id(current_page, :notes)) do
|
||||
= render partial: "pages/notes", locals: { page: current_page }
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ h1
|
|||
p
|
||||
'URL:
|
||||
= @current_page.url
|
||||
p.actions
|
||||
= button_to("Pfad \"#{@current_page.path}\" löschen", page_path(@current_page), method: :delete, class: "btn btn-outline-danger", form: {data: { turbo_confirm: "Bist du sicher?" }})
|
||||
.row
|
||||
.col-lg-3.col-md-4.col-sm-12
|
||||
.page_nav.sticky-top
|
||||
|
|
|
|||
|
|
@ -2,11 +2,12 @@
|
|||
= turbo_frame_tag(dom_id(success_criterion, :frame)) do
|
||||
.row
|
||||
.col
|
||||
= bootstrap_form_with(model: success_criterion, data: { controller: "autosubmit" }) do |form|
|
||||
.position-relative
|
||||
.position-absolute.top-0.end-0.fw-bold
|
||||
= success_criterion_edit_button(success_criterion, false)
|
||||
.my-3.btn-group[role="group" aria-label="Resultat"]
|
||||
.position-relative
|
||||
.position-absolute.top-0.end-0.fw-bold
|
||||
= button_to(tag.i(class: "bi bi-trash"), success_criterion, method: :delete, class: "btn btn-outline-danger", data: { turbo_confirm: "Bist du sicher?"})
|
||||
= success_criterion_edit_button(success_criterion, false)
|
||||
.my-3.btn-group[role="group" aria-label="Resultat"]
|
||||
= bootstrap_form_with(model: success_criterion, data: { controller: "autosubmit" }) do |form|
|
||||
= form.radio_button_without_bootstrap :result, :passed, class: "btn-check", autocomplete: "off", id: dom_id(success_criterion, :result_passed)
|
||||
label.btn.btn-outline-success for=dom_id(success_criterion, :result_passed) Bestanden
|
||||
= form.radio_button_without_bootstrap :result, :failed, class: "btn-check", autocomplete: "off", id: dom_id(success_criterion, :result_failed)
|
||||
|
|
|
|||
|
|
@ -3,12 +3,13 @@ summary.d-flex.align-items-start id=dom_id(success_criterion, :header)
|
|||
.content.d-flex.align-items-center
|
||||
.result-icon.flex-shrink-0 class=[success_criterion_result_color_classes(success_criterion)]
|
||||
span.h1.bi class=[success_criterion_result_icon_classes(success_criterion)]
|
||||
.fs-5
|
||||
= success_criterion.page.position
|
||||
| .
|
||||
= success_criterion.element.position
|
||||
| .
|
||||
= success_criterion.position
|
||||
.fs-
|
||||
span id=dom_id(success_criterion, :position)
|
||||
= success_criterion.page.position
|
||||
| .
|
||||
= success_criterion.element.position
|
||||
| .
|
||||
= success_criterion.position
|
||||
span.me-2
|
||||
=< success_criterion.title
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
<%= turbo_stream.remove dom_id(@success_criterion) %>
|
||||
4
app/views/success_criteria/destroy.turbo_stream.slim
Normal file
4
app/views/success_criteria/destroy.turbo_stream.slim
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
= turbo_stream.remove dom_id(@success_criterion)
|
||||
- @success_criterion.element.success_criteria.reject { _1 == @success_criterion }.each do |sc|
|
||||
- Rails.logger.debug "Send to sc #{sc.id}"
|
||||
= turbo_stream.update dom_id(sc, :position), "#{sc.page.position}.#{sc.element.position}.#{sc.position}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue