// static/js/components/configActions.js
export function copyToClipboard() {
const yamlContent = document.getElementById('modal-yaml-content').textContent;
const jsonContent = document.getElementById('modal-json-content').textContent;
// Determine which tab is active
const yamlActive = document.getElementById('modal-yaml-content').style.display !== 'none';
const contentToCopy = yamlActive ? yamlContent : jsonContent;
if (!contentToCopy || contentToCopy.trim() === '') {
alert("No content available to copy.");
return;
}
navigator.clipboard.writeText(contentToCopy).then(() => {
const btn = document.getElementById('copy-config-button');
const originalText = btn.textContent;
btn.textContent = '✅ Copied!';
setTimeout(() => {
btn.textContent = originalText;
}, 2000);
}).catch(err => {
console.error('Failed to copy: ', err);
alert('Failed to copy to clipboard.');
});
}
export function downloadYaml() {
const yamlContent = document.getElementById('modal-yaml-content').textContent;
if (!yamlContent || yamlContent.trim() === '' || yamlContent === 'Loading YAML...') {
alert("No YAML content available to download.");
return;
}
const title = document.getElementById('modal-title').textContent
.replace(/\s+/g, '_')
.replace(/[^\w\-]/g, '');
const blob = new Blob([yamlContent], { type: 'text/yaml' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = title ? `${title}.yaml` : 'config.yaml';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
}