File: /var/www/indoadvisory_new/webapp/node_modules/youch/build/public/error_stack/script.js
function showFormattedFrames(button) {
document.querySelector('#all-frames-toggle input[type="checkbox"]').disabled = false
const parent = button.closest('section')
const formattedFrames = parent.querySelector('#stack-frames-formatted')
formattedFrames.classList.add('visible')
const rawFrames = parent.querySelector('#stack-frames-raw')
rawFrames.classList.remove('visible')
button.parentElement.querySelectorAll('button').forEach((btn) => btn.classList.remove('active'))
button.classList.add('active')
}
function showRawFrames(button) {
document.querySelector('#all-frames-toggle input[type="checkbox"]').disabled = true
const parent = button.closest('section')
const formattedFrames = parent.querySelector('#stack-frames-formatted')
formattedFrames.classList.remove('visible')
const rawFrames = parent.querySelector('#stack-frames-raw')
rawFrames.classList.add('visible')
button.parentElement.querySelectorAll('button').forEach((btn) => btn.classList.remove('active'))
button.classList.add('active')
}
function toggleFrameSource(parent) {
if (parent.classList.contains('expanded')) {
parent.classList.remove('expanded')
} else {
parent.classList.add('expanded')
}
}
function toggleAllFrames() {
const wrapper = document.querySelector('#stack-frames-wrapper')
const indicator = document.querySelector('#all-frames-toggle input[type="checkbox"]')
if (indicator.checked) {
wrapper.classList.add('display-all')
} else {
wrapper.classList.remove('display-all')
}
}
onContentLoaded(() => {
document.querySelector('#formatted-frames-toggle').addEventListener('click', function () {
showFormattedFrames(this)
})
document.querySelector('#raw-frames-toggle').addEventListener('click', function () {
showRawFrames(this)
})
document
.querySelector('#all-frames-toggle input[type="checkbox"]')
.addEventListener('change', function () {
toggleAllFrames()
})
document.querySelectorAll('button[class="stack-frame-location"]').forEach((sfl) => {
sfl.addEventListener('click', function (e) {
if (e.target.tagName === 'A') {
return
}
toggleFrameSource(e.target.closest('li'))
})
})
document.querySelectorAll('button[class="stack-frame-toggle-indicator"]').forEach((sfl) => {
sfl.addEventListener('click', function (e) {
toggleFrameSource(e.target.closest('li'))
})
})
})