diff --git a/app/javascript/controllers/collapsible_columns_controller.js b/app/javascript/controllers/collapsible_columns_controller.js index 3d9c8f412..2b6c24e71 100644 --- a/app/javascript/controllers/collapsible_columns_controller.js +++ b/app/javascript/controllers/collapsible_columns_controller.js @@ -122,8 +122,8 @@ export default class extends Controller { this._intersectionObserver = new IntersectionObserver(entries => { entries.forEach(entry => { const title = entry.target - const column = title.closest('[data-collapsible-columns-target="column"]') - + const column = title.closest(".cards") + if (!column) return const offscreen = entry.intersectionRatio === 0 diff --git a/app/views/collections/show/_columns.html.erb b/app/views/collections/show/_columns.html.erb index a52a308dd..79a1cf4ec 100644 --- a/app/views/collections/show/_columns.html.erb +++ b/app/views/collections/show/_columns.html.erb @@ -1,32 +1,28 @@ -<%= tag.div data: { - controller: "drag-and-drop drag-and-strum", +<%= tag.div class: "card-columns", data: { + controller: "drag-and-drop drag-and-strum collapsible-columns", drag_and_drop_dragged_item_class: "drag-and-drop__dragged-item", drag_and_drop_hover_container_class: "drag-and-drop__hover-container", + collapsible_columns_collection_value: collection.id, + collapsible_columns_collapsed_class: "is-collapsed", + collapsible_columns_title_not_visible_class: "is-off-screen", + collapsible_columns_no_transitions_class: "no-transitions", action: " dragstart->drag-and-drop#dragStart dragover->drag-and-drop#dragOver dragenter->drag-and-strum#dragEnter drop->drag-and-drop#drop dragend->drag-and-drop#dragEnd" } do %> -