// static/js/components/modals.js
import { switchTab } from '../global_legacy.js'; // Temporary link to legacy switchTab if needed, or refactor it
export function showModal(modalId) {
const modal = document.getElementById(modalId);
if (modal) {
modal.style.display = 'block';
}
}
export function hideModal(modalId) {
const modal = document.getElementById(modalId);
if (modal) {
modal.style.display = 'none';
}
}
export function setupConfigModal(title, jsonData, yamlData, defaultTab = 'yaml') {
document.getElementById('modal-title').textContent = title;
document.getElementById('modal-json-content').textContent = JSON.stringify(jsonData, null, 2);
document.getElementById('modal-yaml-content').textContent = yamlData;
const modalContent = document.getElementById('configModal')?.querySelector('.modal-content');
if (modalContent && window.switchTab) {
window.switchTab(modalContent, defaultTab);
}
showModal('configModal');
}
export function setupEscKeyHandler(closeFunctions) {
window.addEventListener('keydown', (event) => {
if (event.key === 'Escape') {
closeFunctions.forEach(fn => fn());
}
});
}
export function setupBackdropClickHandler(modalIdMap) {
window.addEventListener('click', (event) => {
if (event.target.classList.contains('modal')) {
const closeFn = modalIdMap[event.target.id];
if (closeFn) closeFn();
}
});
}