UNPKG

@stimulus-library/controllers

Version:

A library of useful controllers for Stimulus

33 lines (32 loc) 856 B
import { BaseController } from "@stimulus-library/utilities"; export class CheckboxEnableInputsController extends BaseController { connect() { this.toggle(); } toggle() { if (this.hasEnablerTarget && this.enablerTarget.checked) { this.enable(); } else { this.disable(); } } disable() { const shouldClear = this.hasClearValue && this.clearValue; this.enableTargets.forEach((el, _) => { if (shouldClear) { el.value = ""; } el.disabled = true; }); } enable() { this.enableTargets.forEach((el, _) => { el.disabled = false; }); } } CheckboxEnableInputsController.targets = ["enabler", "enable"]; CheckboxEnableInputsController.values = { clear: Boolean, };