wip: continue implementation
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
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 (false === field.checked && 0 >= availabilities[id].available) {
|
||||
field.disabled = true
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user