From 5eb88e020cbd0b2cc680cf6a4d01395254c7a28e Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 31 Jan 2022 16:35:41 +0000 Subject: [PATCH] Extract/clarify methods in tabs_controller --- app/webpacker/controllers/tabs_controller.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/webpacker/controllers/tabs_controller.js b/app/webpacker/controllers/tabs_controller.js index 46f6935c57..9d9995b94e 100644 --- a/app/webpacker/controllers/tabs_controller.js +++ b/app/webpacker/controllers/tabs_controller.js @@ -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")