Set and change column colors

This commit is contained in:
Jason Zimdars
2025-10-08 16:47:36 -05:00
parent 643d12db1b
commit d7cf5c9348
3 changed files with 15 additions and 5 deletions
@@ -26,6 +26,6 @@ class Collections::ColumnsController < ApplicationController
end
def column_params
params.require(:column).permit(:name)
params.require(:column).permit(:name, :color)
end
end
@@ -7,8 +7,8 @@
<ul class="popup__list">
<li class="popup__item">
<button class="popup__btn btn" data-action="click->clicker#click">
<%= icon_tag "rename" %>
<span>Rename column</span>
<%= icon_tag "pencil" %>
<span>Edit column</span>
</button>
</li>
<li class="popup__item">
@@ -25,9 +25,9 @@
</dialog>
<div data-controller="dialog" data-action="keydown.esc->dialog#close click@document->dialog#closeOnClickOutside">
<button id="<%= dom_id(column, :manage_menu) %>" class="popup__btn btn" data-action="click->dialog#open:stop" data-clicker-target="clickable" hidden aria-hidden>Rename column</button>
<button id="<%= dom_id(column, :manage_menu) %>" class="popup__btn btn" data-action="click->dialog#open:stop" data-clicker-target="clickable" hidden aria-hidden>Save changes</button>
<dialog class="popup panel flex-column gap-half fill-white shadow txt-small margin-block-double" data-dialog-target="dialog">
<%= render "collections/show/menu/column_form", collection: column.collection, column: column, label: "Rename column" %>
<%= render "collections/show/menu/column_form", collection: column.collection, column: column, label: "Save changes" %>
</dialog>
</div>
</div>
@@ -1,5 +1,15 @@
<%= form_with model: [collection, column], data: { controller: "form", action: "turbo:submit-end->dialog#close turbo:submit-end->form#reset" } do |form| %>
<%= form.text_field :name, class: "input", placeholder: "Column name", value: column.name,
required: true, autocomplete: "off", pattern: ".*\\S.*", title: "Column name cannot be blank" %>
<div class="flex flex-wrap gap-half justify-space-between margin-block-half">
<% Card::COLORS.each do |color| %>
<label class="btn btn--circle txt-small borderless" style="--btn-background: <%= color %>" title="<%= color %>">
<%= form.radio_button :color, color %>
<%= icon_tag "check", class: "checked" %>
<span class="for-screen-reader"><%= color %></span>
</label>
<% end %>
</div>
<%= form.submit label, class: "btn btn--link" %>
<% end %>