Extract expander to partial

This commit is contained in:
Jorge Manrubia
2025-09-27 07:57:36 +02:00
parent 0969a30961
commit f3959ced0d
5 changed files with 23 additions and 26 deletions
-23
View File
@@ -69,27 +69,4 @@ module CardsHelper
def cacheable_preview_parts_for(card, *options)
[ card, card.workflow, card.collection.entropy_configuration, card.collection.publication, *options ]
end
def cards_expander(title, count)
tag.header class: "cards__expander", data: { action: "click->collapsible-columns#toggle" }, style: "--card-count: #{[count, 20].min}", aria: { role: "button" } do
concat(tag.span count > 99 ? "99+" : count, class: "cards__expander-count", "data-drag-and-drop-counter": true)
concat(tag.h2 title, class: "cards__expander-title")
concat(tag.div class: "cards__expander-menu position-relative", data: { controller: "dialog", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside" } do
concat(tag.button class: "btn btn--circle txt-x-small borderless", data: { action: "click->dialog#open:stop" } do
concat(icon_tag "menu-dots-horizontal", class: "translucent")
concat(tag.span "Column options", class: "for-screen-reader")
end)
concat(tag.dialog class: "popup panel flex-column gap fill-white shadow txt-small margin-block-double", data: { dialog_target: "dialog" } do
concat(tag.ul class: "popup__list" do
concat(tag.li class: "popup__item" do
concat(tag.button "Rename column", class: "popup__btn btn")
end)
concat(tag.li class: "popup__item" do
concat(tag.button "Delete column", class: "popup__btn btn")
end)
end)
end)
end)
end
end
end
+1 -1
View File
@@ -6,7 +6,7 @@
data-drag-and-drop-url="<%= columns_card_drops_closure_path("__id__") %>"
>
<%= cards_expander "Done", collection.cards.closed.count %>
<%= render "collections/show/expander", title: "Done", count: collection.cards.closed.count %>
<%= column_frame_tag :closed_column, src: collection_columns_closed_path(collection) %>
</section>
+1 -1
View File
@@ -6,7 +6,7 @@
data-action="turbo:before-morph-attribute->collapsible-columns#preventToggle"
data-drag-and-drop-url="<%= columns_card_drops_column_path("__id__", column_id: column.id) %>"
>
<%= cards_expander column.name, column.cards.active.count %>
<%= render "collections/show/expander", title: column.name, count: column.cards.active.count %>
<%= column_frame_tag dom_id(column, :cards), src: collection_column_path(column.collection, column) %>
</section>
@@ -0,0 +1,20 @@
<header class="cards__expander" data-action="click->collapsible-columns#toggle" style="--card-count: <%= [count, 20].min %>" aria-role="button">
<span class="cards__expander-count" data-drag-and-drop-counter="true"><%= count > 99 ? "99+" : count %></span>
<h2 class="cards__expander-title"><%= title %></h2>
<div class="cards__expander-menu position-relative" data-controller="dialog" data-action="keydown.esc->dialog#close click@document->dialog#closeOnClickOutside">
<button class="btn btn--circle txt-x-small borderless" data-action="click->dialog#open:stop">
<%= icon_tag "menu-dots-horizontal", class: "translucent" %>
<span class="for-screen-reader">Column options</span>
</button>
<dialog class="popup panel flex-column gap fill-white shadow txt-small margin-block-double" data-dialog-target="dialog">
<ul class="popup__list">
<li class="popup__item">
<button class="popup__btn btn">Rename column</button>
</li>
<li class="popup__item">
<button class="popup__btn btn">Delete column</button>
</li>
</ul>
</dialog>
</div>
</header>
+1 -1
View File
@@ -6,7 +6,7 @@
data-drag-and-drop-url="<%= columns_card_drops_not_now_path("__id__") %>"
>
<%= cards_expander "Not Now", collection.cards.postponed.count %>
<%= render "collections/show/expander", title: "Not Now", count: collection.cards.postponed.count %>
<%= column_frame_tag :not_now_column, src: collection_columns_not_now_path(collection) %>
</section>