import BaseController from "./base_controller" // Connects to data-controller="checkbox-select-all" export default class extends BaseController { static targets = ["parent", "child", "deleteButton"] connect() { this.parentTarget.checked = false this.childTargets.map(x => x.checked = false) this.updateDeleteButtonVisibility() } toggleChildren() { if (this.parentTarget.checked) { this.childTargets.map(x => x.checked = true) } else { this.childTargets.map(x => x.checked = false) } this.updateDeleteButtonVisibility() } toggleParent() { if (this.childTargets.map(x => x.checked).includes(false)) { this.parentTarget.checked = false } else { this.parentTarget.checked = true } this.updateDeleteButtonVisibility() } updateDeleteButtonVisibility() { const hasCheckedItems = this.childTargets.some(target => target.checked) if (this.hasDeleteButtonTarget) { this.deleteButtonTarget.style.display = hasCheckedItems ? 'inline-block' : 'none' } } }