Files
manyfold/app/frontend/javascript/controllers/storage_service_controller.ts
T

27 lines
689 B
TypeScript

import { Controller } from '@hotwired/stimulus'
import { Collapse } from 'bootstrap'
// Connects to data-controller="storage-service"
export default class extends Controller {
connect (): void {
this.onChange()
}
onChange (): void {
this.updateSections((this.element as HTMLSelectElement).value)
}
updateSections (active: string): void {
const selected = 'options-' + active
document.querySelectorAll('.storage-collapse').forEach((section: HTMLDivElement) => {
const control = Collapse.getOrCreateInstance(section, { toggle: false })
if (section.id === selected) {
control.show()
} else {
control.hide()
}
})
}
}