mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-20 21:59:38 +02:00
* Transaction scaffold * Rough in transaction views * Fix sort order * Fix mass assignment issue * Fix test * Simplify CI workflow * Don't seed db before test
33 lines
905 B
JavaScript
33 lines
905 B
JavaScript
import { Controller } from "@hotwired/stimulus";
|
|
|
|
// Connects to data-controller="tabs"
|
|
export default class extends Controller {
|
|
static classes = ["active"];
|
|
static targets = ["btn", "tab"];
|
|
static values = { defaultTab: String };
|
|
|
|
connect() {
|
|
const defaultTab = this.defaultTabValue;
|
|
this.tabTargets.forEach((tab) => {
|
|
if (tab.id === defaultTab) {
|
|
tab.hidden = false;
|
|
this.btnTargets
|
|
.find((btn) => btn.dataset.id === defaultTab)
|
|
.classList.add(...this.activeClasses);
|
|
} else {
|
|
tab.hidden = true;
|
|
}
|
|
});
|
|
}
|
|
|
|
select(event) {
|
|
const selectedTabId = event.currentTarget.dataset.id;
|
|
this.tabTargets.forEach((tab) => (tab.hidden = tab.id !== selectedTabId));
|
|
this.btnTargets.forEach((btn) =>
|
|
btn.classList.toggle(
|
|
...this.activeClasses,
|
|
btn.dataset.id === selectedTabId
|
|
)
|
|
);
|
|
}
|
|
}
|