Extract/clarify methods in tabs_controller

This commit is contained in:
Matt-Yorkley
2022-01-31 16:35:41 +00:00
parent 81f5755e3d
commit 5eb88e020c

View File

@@ -3,19 +3,28 @@ import { Controller } from "stimulus";
export default class extends Controller {
static targets = ["tab", "content"]
connect() {
this.setCurrentTab()
}
select(event) {
this.setCurrentTab(this.tabTargets.indexOf(event.currentTarget))
}
// private
connect() {
this.setCurrentTab()
}
setCurrentTab(tabIndex = 0) {
this.showSelectedContent(tabIndex)
this.setButtonActiveClass(tabIndex)
}
showSelectedContent(tabIndex) {
this.contentTargets.forEach((element, index) => {
element.hidden = index !== tabIndex
})
}
setButtonActiveClass(tabIndex) {
this.tabTargets.forEach((element, index) => {
if(index === tabIndex) {
element.classList.add("active")