import { Controller} from '@hotwired/stimulus' export default class extends Controller { static targets = ['field'] static values = { availabilities: Object } toggle(event) { let field = event.target let id = field.value let availabilities = this.availabilitiesValue if (field.checked) { availabilities[id].available-- } else { availabilities[id].available++ } field.disabled = 0 >= availabilities[id].available field.classList.toggle('cursor-not-allowed', field.disabled) this.availabilitiesValue = availabilities } availabilitiesValueChanged(availabilities) { this.fieldTargets.forEach((field) => { let id = field.value if (availabilities[id] && false === field.checked && 0 >= availabilities[id].available) { field.disabled = true } }) } }