File: D:/HostingSpaces/SBogers10/timentessagaantrouwen.nl/resources/js/components/questionFormHandler.js
const QuestionFormHandler = {
form: null,
init: function () {
// Get map by id
QuestionFormHandler.form = document.getElementById('questionForm');
// Check if a map is defined
if (isset(QuestionFormHandler.form)) {
const chainDisabled = QuestionFormHandler.form.querySelector('.js-toggle-chain-disabled');
if(isset(chainDisabled)) QuestionFormHandler.initChainDisabledListener(chainDisabled);
const personsOption = QuestionFormHandler.form.querySelector('.js-toggle-present-persons');
if(isset(personsOption)) QuestionFormHandler.initPersonListener(personsOption);
const hasAllergiesOption = QuestionFormHandler.form.querySelector('.js-toggle-allergies');
if(isset(hasAllergiesOption)) QuestionFormHandler.initAllergiesListener(hasAllergiesOption);
}
},
initChainDisabledListener: function (node) {
const staySleeping = QuestionFormHandler.form.querySelector('.stay_sleeping');
const allergies = QuestionFormHandler.form.querySelector('.allergies');
node.addEventListener('click', function () {
const checkInput = node.querySelector('input:checked');
if(isset(checkInput)){
let present = checkInput.value;
if(present == 0){
if(isset(staySleeping)) {
staySleeping.classList.add('is-disabled');
staySleeping.querySelector('input[value="0"]').checked = true;
}
if(isset(allergies)) {
allergies.querySelector('input[value="0"]').checked = true;
allergies.classList.add('is-disabled');
const allergiesRow = QuestionFormHandler.form.querySelector('.c-form-element.has_allergies');
if(isset(allergiesRow)) allergiesRow.classList.add('is-hidden');
}
}
else{
if(isset(staySleeping)) staySleeping.classList.remove('is-disabled');
if(isset(allergies)) allergies.classList.remove('is-disabled');
}
}
});
},
initPersonListener: function (node) {
const personsRow = QuestionFormHandler.form.querySelector('.c-form-element.present_persons');
if(!isset(personsRow)) return;
node.addEventListener('click', function () {
const checkInput = node.querySelector('input:checked');
if(isset(checkInput)){
let present = checkInput.value;
if(present == 1) personsRow.classList.remove('is-hidden');
else personsRow.classList.add('is-hidden');
}
});
},
initAllergiesListener: function (node) {
const allergiesRow = QuestionFormHandler.form.querySelector('.c-form-element.has_allergies');
if(!isset(allergiesRow)) return;
node.addEventListener('click', function () {
const checkInput = node.querySelector('input:checked');
if(isset(checkInput)){
let present = checkInput.value;
if(present == 1) allergiesRow.classList.remove('is-hidden');
else allergiesRow.classList.add('is-hidden');
}
});
}
};
QuestionFormHandler.init();