Don't animate expanding columns when restoring

This commit is contained in:
Jason Zimdars
2025-10-15 12:51:06 -05:00
parent 4c6ee468cb
commit 626aa0ea8a
3 changed files with 25 additions and 2 deletions
+5
View File
@@ -72,6 +72,11 @@
scroll-snap-align: start;
transition: var(--column-transition);
/* Disable transitions during restoration */
&.no-transitions {
transition: none;
}
/* Make sure filter dialogs don't end up behind sticky headers */
&:has([open]) {
z-index: 3;
@@ -1,11 +1,13 @@
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
static classes = [ "collapsed" ]
static classes = [ "collapsed", "noTransitions" ]
static targets = [ "column", "button" ]
connect() {
this.#disableTransitions()
this.#restoreColumns()
requestAnimationFrame(() => this.#enableTransitions())
}
toggle({ target }) {
@@ -19,6 +21,22 @@ export default class extends Controller {
}
}
#disableTransitions() {
this.columnTargets.forEach(column => {
if (this.noTransitionsClass) {
column.classList.add(this.noTransitionsClass)
}
})
}
#enableTransitions() {
this.columnTargets.forEach(column => {
if (this.noTransitionsClass) {
column.classList.remove(this.noTransitionsClass)
}
})
}
#toggleColumn(column) {
this.#collapseAllExcept(column)
+1 -1
View File
@@ -8,7 +8,7 @@
dragenter->drag-and-strum#dragEnter
drop->drag-and-drop#drop
dragend->drag-and-drop#dragEnd" } do %>
<div class="card-columns" data-controller="collapsible-columns" data-collapsible-columns-collapsed-class="is-collapsed">
<div class="card-columns" data-controller="collapsible-columns" data-collapsible-columns-collapsed-class="is-collapsed" data-collapsible-columns-no-transitions-class="no-transitions">
<div class="card-columns__left">
<%= render "collections/show/not_now", collection: collection %>
</div>