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