Sha256: 6d916fcd2a35a0dd5bc598cd821cc3d06cafd1dcd6378be05bb804b9e7714ca5

Contents?: true

Size: 759 Bytes

Versions: 119

Compression:

Stored size: 759 Bytes

Contents

import { Controller } from '@hotwired/stimulus'

// Connects to data-controller="switcher"
export default class extends Controller {
  connect () {
    if (this.element.checked) {
      this.show()
    }
    this.element.setAttribute('data-action', `${this.element.getAttribute('data-action') || ''} switcher#show`)
  }

  show () {
    const elemToShow = document.querySelector(this.element.dataset.target)
    this.getSiblings(elemToShow).forEach((el) => {
      el.classList.add('d-none')
      el.classList.remove('d-block')
    })
    elemToShow.classList.remove('d-none')
    elemToShow.classList.add('d-block')
  }

  getSiblings (el) {
    const childrenArray = [...el.parentNode.children]
    return childrenArray.filter(child => child !== el)
  }
}

Version data entries

119 entries across 119 versions & 1 rubygems

Version Path
pg_rails-7.1.6 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.5 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.4 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.3 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.2 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.1.pre.6 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.1.pre.5 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.1.pre.4 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.1.pre.3 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.1.pre.2 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.1.pre.1 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.1.0 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.0.8.pre.alpha.112 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.0.8.pre.alpha.111 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.0.8.pre.alpha.110 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.0.8.pre.alpha.109 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.0.8.pre.alpha.108 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.0.8.pre.alpha.107 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.0.8.pre.alpha.106 pg_layout/app/javascript/controllers/switcher_controller.js
pg_rails-7.0.8.pre.alpha.105 pg_layout/app/javascript/controllers/switcher_controller.js