import { Controller } from '@hotwired/stimulus' export default class extends Controller { initialize () { this.displayConditional() } displayConditional () { if (this.element.checked) { const selectedValue = this.element.value const dataInfo = JSON.parse(this.element.dataset.info) const conditionalFor = dataInfo.conditional_questions const type = dataInfo.type Object.entries(conditionalFor).forEach(([targetQuestion, conditions]) => { if (!conditions.map(String).includes(String(selectedValue))) { const textNumericInput = document.getElementById(`${type}-${targetQuestion.replaceAll('_', '-')}-field`) const errorInput = document.getElementById(`${type}-${targetQuestion.replaceAll('_', '-')}-field-error`) const dateInputs = [1, 2, 3].map((idx) => { return document.getElementById(`lettings_log_mrcdate_${idx}i`) }) this.clearTextInput(textNumericInput) this.clearTextInput(errorInput) this.clearDateInputs(dateInputs) } }) } } clearTextInput (input) { if (input != null) { input.value = '' } } clearDateInputs (inputs) { inputs.forEach((input) => { this.clearTextInput(input) }) } }