Sha256: 625e714b51786ba09be6e903b80f0cb0d5120c6e479fbfd2b311268b657fe750

Contents?: true

Size: 695 Bytes

Versions: 3

Compression:

Stored size: 695 Bytes

Contents

import { Controller } from "@hotwired/stimulus";

export default class LoginController extends Controller {
  readonly tabTargets: HTMLDivElement[];

  static get targets() {
    return ["tab"];
  }

  connect() {
    if (this.tabTargets.length > 0) {
      this.showTab(this.tabTargets[0].dataset.tab);
    }
  }


  changeTab(evt: Event) {
    evt.preventDefault();
    if ("dataset" in evt.target && "tab" in evt.target.dataset) {
      this.showTab(evt.target.dataset.tab);
    }
  }

  showTab(tab: string) {
    this.tabTargets.forEach((t) => {
      if (t.dataset.tab == tab) {
        t.classList.remove("hidden");
      } else {
        t.classList.add("hidden");
      }
    });
  }
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pages_core-3.12.4 app/javascript/controllers/LoginController.ts
pages_core-3.12.3 app/javascript/controllers/LoginController.ts
pages_core-3.12.2 app/javascript/controllers/LoginController.ts