/**
* Results handling for AI Document Analyzer
*/
document.addEventListener('DOMContentLoaded', () => {
// Initialize results functionality
initResults();
});
/**
* Initialize results functionality
*/
function initResults() {
const resultsContainer = document.getElementById('results-container');
const resultsContent = document.getElementById('results-content');
const copyBtn = document.getElementById('copy-results');
const closeBtn = document.getElementById('close-results');
// Copy results
copyBtn.addEventListener('click', () => {
const text = resultsContent.textContent;
navigator.clipboard.writeText(text)
.then(() => {
// Show copy success animation
copyBtn.innerHTML = ' Copied!';
setTimeout(() => {
copyBtn.innerHTML = ' Copy';
}, 2000);
})
.catch(err => {
showError('Failed to copy: ' + err);
});
});
// Close results
closeBtn.addEventListener('click', () => {
resultsContainer.style.display = 'none';
});
}
/**
* Display analysis results
* @param {Object} data - The analysis results data
*/
function displayResults(data) {
const resultsContainer = document.getElementById('results-container');
const resultsContent = document.getElementById('results-content');
// Format the results
let formattedResults = '';
// Add file info
formattedResults += `File: ${data.filename}\n`;
formattedResults += `Analysis Type: ${formatAnalysisType(data.analysis_type)}\n\n`;
// Add result
formattedResults += `${data.result}\n`;
// Set content
resultsContent.textContent = formattedResults;
// Show results container with animation
resultsContainer.style.display = 'block';
resultsContainer.classList.add('slide-up');
// Scroll to results
resultsContainer.scrollIntoView({ behavior: 'smooth' });
}
/**
* Format analysis type for display
* @param {string} type - The analysis type
* @returns {string} Formatted analysis type
*/
function formatAnalysisType(type) {
const typeMap = {
'summarize': 'Document Summarization',
'caption': 'Image Captioning'
};
return typeMap[type] || type;
}