5 changed files with 40 additions and 29 deletions
			
			
		@ -0,0 +1,7 @@
					 | 
				
			||||
module ConditionalQuestionsHelper | 
				
			||||
  def conditional_questions_for_page(page) | 
				
			||||
    page["questions"].values.map do |question| | 
				
			||||
      question["conditional_for"] | 
				
			||||
    end.compact.map(&:keys).flatten | 
				
			||||
  end | 
				
			||||
end | 
				
			||||
@ -0,0 +1,17 @@
					 | 
				
			||||
import { Controller } from "stimulus" | 
				
			||||
 | 
				
			||||
export default class extends Controller { | 
				
			||||
  displayConditional() { | 
				
			||||
    let question = this.element.name; | 
				
			||||
    let selected = this.element.value; | 
				
			||||
    let conditional_for = JSON.parse(this.element.dataset.info); | 
				
			||||
 | 
				
			||||
    Object.entries(conditional_for).forEach(([key, values]) => { | 
				
			||||
      if(values.includes(selected)) { | 
				
			||||
        document.getElementById(key + "_div").style.display = "block" | 
				
			||||
      } else { | 
				
			||||
        document.getElementById(key + "_div").style.display = "none" | 
				
			||||
      } | 
				
			||||
    }); | 
				
			||||
  } | 
				
			||||
} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue