Gui improvements and ideas

This commit is contained in:
david 2024-07-20 16:52:12 +02:00
parent 3f4c7d17bf
commit 2ae0b55e42
54 changed files with 639 additions and 237 deletions

View file

@ -1,18 +1,40 @@
<div id="<%= dom_id success_criterion %>" class="card mt-3">
<div class="card-header">
<h3><i class="bi bi-check2 me-2"></i><%= success_criterion.title %></h3>
<%= link_to "cancel", success_criterion %>
</div>
<div class="card-body">
<%= bootstrap_form_with(model: success_criterion) do |form| %>
<%= form.text_field :title %>
<%= form.rich_text_area :description_html %>
<%= form.number_field :level %>
<%= form.select :result, SuccessCriterion.results.keys, include_blank: true %>
<%= form.rich_text_area :comment_html %>
<%= form.submit %>
<% end %>
<%== render partial: "success_criteria/header", locals: { success_criterion: success_criterion } %>
<div class="collapse show" id="collapseSuccessCriterion_<%= success_criterion.id %>">
<div class="card-body">
<%= bootstrap_form_with(model: success_criterion) do |form| %>
<div class="row">
<div class="col">
<div class="btn-group" role="group" aria-label="Resultat">
<%= form.radio_button_without_bootstrap :result, :passed, class: "btn-check", autocomplete: "off" %>
<label class="btn btn-outline-success" for="success_criterion_result_passed">
Bestanden
</label>
<%= form.radio_button_without_bootstrap :result, :failed, class: "btn-check", autocomplete: "off" %>
<label class="btn btn-outline-danger" for="success_criterion_result_failed">
Durchgefallen
</label>
<%= form.radio_button_without_bootstrap :result, :not_applicable, class: "btn-check", autocomplete: "off" %>
<label class="btn btn-outline-secondary" for="success_criterion_result_not_applicable">
Nicht anwendbar
</label>
</div>
<%# form.collection_select :result, SuccessCriterion.results.map{ |k, v| [k, t("activerecord.attributes.success_criterion.results/#{k}")] }, :first, :second, include_blank: true, hide_label: true %>
<%# form.select :category, SuccessCriterion.categories.keys %>
</div>
<div class="col">
<%= form.select :level, SuccessCriterion.levels.keys, hide_label: true %>
</div>
</div>
<%= form.rich_text_area :comment_html %>
<%= form.text_field :title %>
<%= form.rich_text_area :description_html %>
<%= form.submit class: "btn btn-warning" %>
<%= link_to "Abbrechen", success_criterion, class: "btn btn-outline-secondary" %>
<% end %>
</div>
</div>
<%# <%= link_to "edit", url_for([:edit, success_criterion]) %>
</div>

View file

@ -0,0 +1,37 @@
<% edit_mode = action_name == "edit" %>
<div class="card-header d-flex">
<h3
class="h4"
data-bs-toggle="collapse"
href="#collapseSuccessCriterion_<%= success_criterion.id %>"
role="button"
aria-expanded="false"
aria-controls="collapseSuccessCriterion_<%= success_criterion.id %>"
style="cursor: pointer">
<i class="bi <%= success_criterion_result_icon_classes(success_criterion) %>"></i>
<%= success_criterion.title %>
<span class="badge rounded-pill text-bg-secondary">
<%= success_criterion.level %>
</span>
<% if success_criterion.comment_html.present? %>
<i class="bi bi-chat"></i>
<% end %>
<% if false && action_name == "edit" %>
<a href="#">
<i class="bi bi-pencil text-warning"></i>
<% end %>
</h3>
<%= link_to tag.i(class: "bi bi-#{edit_mode ? "pencil" : "pencil"}"), edit_mode ? success_criterion : [:edit, success_criterion], class: "btn btn-#{edit_mode ? "link text-warning" : "link text-secondary"}" %>
<div class="flex-fill d-flex justify-content-end">
<button class="btn btn-link text-body"
data-controller="collapse-chevron-toggler"
data-bs-toggle="collapse"
href="#collapseSuccessCriterion_<%= success_criterion.id %>"
role="button"
aria-expanded="false"
aria-controls="collapseSuccessCriterion_<%= success_criterion.id %>"
>
<i class="bi bi-chevron-down" data-collapse-chevron-toggler-target="icon"></i>
</button>
</div>
</div>

View file

@ -1,19 +1,35 @@
<% expanded = false unless defined?(expanded) %>
<div id="<%= dom_id success_criterion %>" class="card mt-3">
<div class="card-header">
<h3><i class="bi bi-check2 me-2"></i><%= success_criterion.title %></h3>
<%= link_to "edit", [:edit, success_criterion]%>
</div>
<div class="card-body">
<%= success_criterion.description_html %>
<p class="mt-3">
<strong>Level</strong>: <%= success_criterion.level %>
</p>
<p>
<strong>Resultat</strong>: <%= success_criterion.result %>
</p>
<% if success_criterion.comment_html.present? %>
<h4 class="mt-3">Kommentar</h4>
<%= success_criterion.comment_html %>
<% end %>
<%== render partial: "success_criteria/header", locals: {success_criterion: success_criterion } %>
<div class="collapse<%= " show" if expanded %>" id="collapseSuccessCriterion_<%= success_criterion.id %>">
<div class="card-body">
<%= bootstrap_form_with(model: success_criterion, data: { controller: "autosubmit" }) do |form| %>
<div class="row mb-3">
<div class="col">
<div class="btn-group" role="group" aria-label="Resultat">
<%= form.radio_button_without_bootstrap :result, :passed, class: "btn-check", autocomplete: "off", id: dom_id(success_criterion, :result_passed) %>
<label class="btn btn-outline-success" for="<%= dom_id(success_criterion, :result_passed) %>">
Bestanden
</label>
<%= form.radio_button_without_bootstrap :result, :failed, class: "btn-check", autocomplete: "off", id: dom_id(success_criterion, :result_failed) %>
<label class="btn btn-outline-danger" for="<%= dom_id(success_criterion, :result_failed) %>">
Durchgefallen
</label>
<%= form.radio_button_without_bootstrap :result, :not_applicable, class: "btn-check", autocomplete: "off", id: dom_id(success_criterion, :result_not_applicable) %>
<label class="btn btn-outline-secondary" for="<%= dom_id(success_criterion, :result_not_applicable) %>">
Nicht anwendbar
</label>
</div>
<%# form.collection_select :result, SuccessCriterion.results.map{ |k, v| [k, t("activerecord.attributes.success_criterion.results/#{k}")] }, :first, :second, include_blank: true, hide_label: true %>
<%# form.select :category, SuccessCriterion.categories.keys %>
</div>
</div>
<% end %>
<%= success_criterion.description_html %>
<% if success_criterion.comment_html.present? %>
<div class="comment mt-3"><%= success_criterion.comment_html %></div>
<% end %>
</div>
</div>
</div>

View file

@ -1,7 +1,7 @@
<h1><%= t("scaffold.pagetitle_show", model: @success_criterion.class.model_name.human) %></h1>
<%= turbo_frame_tag(dom_id(@success_criterion, :frame)) do %>
<% render @success_criterion %>
<% render partial: "success_criteria/success_criterion", locals: { success_criterion: @success_criterion, expanded: true } %>
<% end %>
<div class="action-row">