feat: initialize example images manager on app startup and streamline event listener setup

This commit is contained in:
Will Miao
2025-04-30 14:17:39 +08:00
parent cb5e64d26b
commit b32756932b
3 changed files with 26 additions and 36 deletions

View File

@@ -35,6 +35,9 @@ export class AppCore {
initTheme();
initBackToTop();
// Initialize the example images manager
exampleImagesManager.initialize();
// Mark as initialized
this.initialized = true;

View File

@@ -10,20 +10,32 @@ class ExampleImagesManager {
this.startTime = null;
this.progressPanel = null;
// Wait for DOM before initializing event listeners
document.addEventListener('DOMContentLoaded', () => {
this.initEventListeners();
// Initialize progress panel reference
this.progressPanel = document.getElementById('exampleImagesProgress');
});
// Initialize download path field
// Initialize download path field and check download status
this.initializePathOptions();
// Check download status on page load
this.checkDownloadStatus();
}
// Initialize the manager
initialize() {
// Initialize event listeners
this.initEventListeners();
// Initialize progress panel reference
this.progressPanel = document.getElementById('exampleImagesProgress');
// Initialize progress panel button handlers
const pauseBtn = document.getElementById('pauseExampleDownloadBtn');
const collapseBtn = document.getElementById('collapseProgressBtn');
if (pauseBtn) {
pauseBtn.onclick = () => this.pauseDownload();
}
if (collapseBtn) {
collapseBtn.onclick = () => this.toggleProgressPanel();
}
}
// Initialize event listeners for buttons
initEventListeners() {
const downloadBtn = document.getElementById('exampleImagesDownloadBtn');

View File

@@ -45,29 +45,4 @@
<div id="downloadErrors" class="error-list"></div>
</div>
</div>
</div>
<script>
// Initialize button onclick handlers when DOM is fully loaded
document.addEventListener('DOMContentLoaded', function() {
const pauseBtn = document.getElementById('pauseExampleDownloadBtn');
const collapseBtn = document.getElementById('collapseProgressBtn');
// Make window.exampleImagesManager globally available
if (window.exampleImagesManager === undefined && typeof exampleImagesManager !== 'undefined') {
window.exampleImagesManager = exampleImagesManager;
}
if (pauseBtn && window.exampleImagesManager) {
pauseBtn.onclick = () => window.exampleImagesManager.pauseDownload();
}
if (collapseBtn && window.exampleImagesManager) {
collapseBtn.onclick = () => {
if (window.exampleImagesManager.toggleProgressPanel) {
window.exampleImagesManager.toggleProgressPanel();
}
};
}
});
</script>
</div>