You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							1.1 KiB
						
					
					
				import { Controller } from "@hotwired/stimulus" | 
						|
 | 
						|
export default class extends Controller { | 
						|
  initialize() { | 
						|
    this.displayConditional() | 
						|
  } | 
						|
 | 
						|
  displayConditional() { | 
						|
    if(this.element.checked) { | 
						|
      let selectedValue = this.element.value | 
						|
      let conditional_for = JSON.parse(this.element.dataset.info) | 
						|
      Object.entries(conditional_for).map(([targetQuestion, conditions]) => { | 
						|
          if(conditions.map(String).includes(String(selectedValue))) { | 
						|
          } else { | 
						|
            const textNumericInput = document.getElementById(`case-log-${targetQuestion.replaceAll("_","-")}-field`) | 
						|
            if (textNumericInput == null) { | 
						|
              const dateInputs = [1,2,3].map((idx) => { | 
						|
                return document.getElementById(`case_log_${targetQuestion}_${idx}i`) | 
						|
              }) | 
						|
              this.clearDateInputs(dateInputs) | 
						|
            } else { | 
						|
              this.clearTextNumericInput(textNumericInput) | 
						|
          } | 
						|
        } | 
						|
      }) | 
						|
    } | 
						|
  } | 
						|
 | 
						|
  clearTextNumericInput(input) { | 
						|
    input.value = "" | 
						|
  } | 
						|
 | 
						|
  clearDateInputs(inputs) { | 
						|
    inputs.forEach((input) => { input.value = "" }) | 
						|
  } | 
						|
}
 | 
						|
 |