in src/frontend_service/static/index.js [210:251]
function showTrace(event, id) {
const trace = traces[id];
const rect = event.target.getBoundingClientRect();
let leftPosition = rect.left + window.scrollX;
let topPosition = rect.bottom + window.scrollY;
const windowWidth = window.innerWidth;
const windowHeight = window.innerHeight;
if (leftPosition + 500 > windowWidth) {
leftPosition = windowWidth - 500;
}
if (topPosition + 500 > windowHeight) {
topPosition = windowHeight - 500;
}
const tooltip = document.createElement('div');
tooltip.id = "trace"
tooltip.innerHTML = trace;
tooltip.style.left = `${leftPosition}px`;
tooltip.style.top = `${topPosition}px`;
const overlay = document.createElement('div');
overlay.style.position = 'fixed';
overlay.style.top = '0';
overlay.style.left = '0';
overlay.style.width = '100%';
overlay.style.height = '100%';
overlay.style.backgroundColor = 'rgba(0,0,0,0.5)';
overlay.addEventListener('click', function() {
if (tooltip.parentNode) {
tooltip.parentNode.removeChild(tooltip);
}
if (overlay.parentNode) {
overlay.parentNode.removeChild(overlay);
}
});
document.body.appendChild(overlay);
document.body.appendChild(tooltip);
}