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`)
          if (textNumericInput == null) {
            const dateInputs = [1, 2, 3].map((idx) => {
              return document.getElementById(`${type.replaceAll('-', '_')}_${targetQuestion}_${idx}i`)
            })
            this.clearDateInputs(dateInputs)
          } else {
            this.clearTextNumericInput(textNumericInput)
          }
        }
      })
    }
  }

  clearTextNumericInput (input) {
    input.value = ''
  }

  clearDateInputs (inputs) {
    inputs.forEach((input) => { input.value = '' })
  }
}