Spaces:
Sleeping
Sleeping
/** | |
* 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 = '<i class="fas fa-check"></i> Copied!'; | |
setTimeout(() => { | |
copyBtn.innerHTML = '<i class="fas fa-copy"></i> 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; | |
} |