Files
fizzy/app/javascript/controllers/collapsible_columns_controller.js
T
2025-09-19 10:49:47 -05:00

23 lines
592 B
JavaScript

import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
static classes = [ "collapsed" ]
static targets = [ "column" ]
toggle(event) {
const clickedColumn = event.target.closest('[data-collapsible-columns-target="column"]')
if (!clickedColumn) return
const isCurrentlyCollapsed = clickedColumn.classList.contains(this.collapsedClass)
this.columnTargets.forEach(column => {
column.classList.add(this.collapsedClass)
})
if (isCurrentlyCollapsed) {
clickedColumn.classList.remove(this.collapsedClass)
}
}
}