ldc-legaulois/resources/js/pages/faq.js
2021-04-28 13:57:12 +02:00

73 lines
2.8 KiB
JavaScript
Vendored

if (document.querySelector('.content.faq')) {
let links = document.querySelectorAll('aside > ul > li > a');
for (let link of links) {
link.addEventListener('click', evt => {
let href = link.getAttribute('href');
if (href.indexOf('#') === 0) {
evt.preventDefault();
__Gaul.scrollToContent(link.getAttribute('href').substr(1), 80)
}
})
}
for (let question of document.getElementsByClassName('faqQuestionHeader')) {
question.onclick = function (e) {
e.preventDefault();
let questions = document.getElementsByClassName('faqQuestionHeader');
let question = this;
let toggle = function (dom, open = false) {
let parent = dom.parentElement;
let answer = dom.parentElement.querySelector('.faqReponse');
if (!open) {
parent.classList.remove('active');
dom.classList.remove('active');
answer.classList.remove('show');
} else {
parent.classList.add('active');
dom.classList.add('active');
answer.classList.add('show');
}
};
for (let qst of questions) {
if (question === qst) {
continue;
}
if (qst.classList.contains('active')) {
toggle(qst);
}
}
setTimeout((function (question) {
toggle(question, !question.classList.contains('active'));
}).bind(this, question), 500);
}
}
for (let question of document.getElementsByClassName('faqAvis')) {
let sayYes = question.querySelector('.faqYes');
let sayNo = question.querySelector('.faqNop');
let content = question.querySelector('div');
let faqThx = question.querySelector('.faqThx');
let faqError = question.querySelector('.faqError');
let say = function (opinion, id) {
axios.post(window._routes['faq.updateSatisfactionStat'] + '/' + id, {
opinion: opinion ? 1 : 0
}).then((response) => {
content.style.display = 'none';
faqThx.style.display = 'block';
}, (error) => {
content.style.display = 'none';
faqError.style.display = 'block';
console.error(error);
});
};
if (sayYes) {
sayYes.onclick = function (e) {
say(true, this.dataset.id);
}
}
if (sayNo) {
sayNo.onclick = function (e) {
say(false, this.dataset.id);
}
}
}
}