mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-25 07:05:43 -03:00
Fix lora page header
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
import { updateService } from '../managers/UpdateService.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Header.js - Manages the application header behavior across different pages
|
* Header.js - Manages the application header behavior across different pages
|
||||||
* Handles initialization of appropriate search and filter managers based on current page
|
* Handles initialization of appropriate search and filter managers based on current page
|
||||||
@@ -76,7 +78,7 @@ export class HeaderManager {
|
|||||||
const settingsToggle = document.querySelector('.settings-toggle');
|
const settingsToggle = document.querySelector('.settings-toggle');
|
||||||
if (settingsToggle) {
|
if (settingsToggle) {
|
||||||
settingsToggle.addEventListener('click', () => {
|
settingsToggle.addEventListener('click', () => {
|
||||||
if (window.settingsManager && typeof window.settingsManager.toggleSettings === 'function') {
|
if (window.settingsManager) {
|
||||||
window.settingsManager.toggleSettings();
|
window.settingsManager.toggleSettings();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -86,7 +88,7 @@ export class HeaderManager {
|
|||||||
const updateToggle = document.getElementById('updateToggleBtn');
|
const updateToggle = document.getElementById('updateToggleBtn');
|
||||||
if (updateToggle) {
|
if (updateToggle) {
|
||||||
updateToggle.addEventListener('click', () => {
|
updateToggle.addEventListener('click', () => {
|
||||||
// Handle update check logic
|
updateService.toggleUpdateModal();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,8 +150,3 @@ export class HeaderManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize the header manager when the DOM is loaded
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
|
||||||
window.headerManager = new HeaderManager();
|
|
||||||
});
|
|
||||||
@@ -3,6 +3,7 @@ import { LoadingManager } from './managers/LoadingManager.js';
|
|||||||
import { modalManager } from './managers/ModalManager.js';
|
import { modalManager } from './managers/ModalManager.js';
|
||||||
import { updateService } from './managers/UpdateService.js';
|
import { updateService } from './managers/UpdateService.js';
|
||||||
import { state, initSettings } from './state/index.js';
|
import { state, initSettings } from './state/index.js';
|
||||||
|
import { initializeCommonComponents } from './common.js';
|
||||||
import { showLoraModal } from './components/LoraModal.js';
|
import { showLoraModal } from './components/LoraModal.js';
|
||||||
import { toggleShowcase, scrollToTop } from './components/LoraModal.js';
|
import { toggleShowcase, scrollToTop } from './components/LoraModal.js';
|
||||||
import { loadMoreLoras, fetchCivitai, deleteModel, replacePreview, resetAndReload, refreshLoras } from './api/loraApi.js';
|
import { loadMoreLoras, fetchCivitai, deleteModel, replacePreview, resetAndReload, refreshLoras } from './api/loraApi.js';
|
||||||
@@ -22,16 +23,13 @@ import {
|
|||||||
} from './utils/uiHelpers.js';
|
} from './utils/uiHelpers.js';
|
||||||
import { initializeInfiniteScroll } from './utils/infiniteScroll.js';
|
import { initializeInfiniteScroll } from './utils/infiniteScroll.js';
|
||||||
import { showDeleteModal, confirmDelete, closeDeleteModal } from './utils/modalUtils.js';
|
import { showDeleteModal, confirmDelete, closeDeleteModal } from './utils/modalUtils.js';
|
||||||
import { SearchManager } from './managers/SearchManager.js';
|
|
||||||
import { DownloadManager } from './managers/DownloadManager.js';
|
import { DownloadManager } from './managers/DownloadManager.js';
|
||||||
import { SettingsManager, toggleApiKeyVisibility } from './managers/SettingsManager.js';
|
import { SettingsManager, toggleApiKeyVisibility } from './managers/SettingsManager.js';
|
||||||
import { LoraContextMenu } from './components/ContextMenu.js';
|
import { LoraContextMenu } from './components/ContextMenu.js';
|
||||||
import { moveManager } from './managers/MoveManager.js';
|
import { moveManager } from './managers/MoveManager.js';
|
||||||
import { FilterManager } from './managers/FilterManager.js';
|
|
||||||
import { createLoraCard, updateCardsForBulkMode } from './components/LoraCard.js';
|
import { createLoraCard, updateCardsForBulkMode } from './components/LoraCard.js';
|
||||||
import { bulkManager } from './managers/BulkManager.js';
|
import { bulkManager } from './managers/BulkManager.js';
|
||||||
import { HeaderManager } from './components/Header.js';
|
import { HeaderManager } from './components/Header.js';
|
||||||
|
|
||||||
// Add bulk mode to state
|
// Add bulk mode to state
|
||||||
state.bulkMode = false;
|
state.bulkMode = false;
|
||||||
state.selectedLoras = new Set();
|
state.selectedLoras = new Set();
|
||||||
@@ -73,6 +71,8 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
// Ensure settings are initialized
|
// Ensure settings are initialized
|
||||||
initSettings();
|
initSettings();
|
||||||
|
|
||||||
|
initializeCommonComponents();
|
||||||
|
window.headerManager = new HeaderManager();
|
||||||
state.loadingManager = new LoadingManager();
|
state.loadingManager = new LoadingManager();
|
||||||
modalManager.initialize(); // Initialize modalManager after DOM is loaded
|
modalManager.initialize(); // Initialize modalManager after DOM is loaded
|
||||||
updateService.initialize(); // Initialize updateService after modalManager
|
updateService.initialize(); // Initialize updateService after modalManager
|
||||||
@@ -104,19 +104,6 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
// Update positions on window resize
|
// Update positions on window resize
|
||||||
window.addEventListener('resize', updatePanelPositions);
|
window.addEventListener('resize', updatePanelPositions);
|
||||||
|
|
||||||
// Initialize search manager with LoRA-specific options
|
|
||||||
const loraSearchManager = new SearchManager({
|
|
||||||
searchCallback: (query, options, recursive) => {
|
|
||||||
// LoRA-specific search implementation
|
|
||||||
// This could call your API with the right parameters
|
|
||||||
fetchLoras({
|
|
||||||
search: query,
|
|
||||||
search_options: options,
|
|
||||||
recursive: recursive
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Set the current page for proper context
|
// Set the current page for proper context
|
||||||
document.body.dataset.page = 'loras';
|
document.body.dataset.page = 'loras';
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import { showToast } from '../utils/uiHelpers.js';
|
|||||||
|
|
||||||
export class LoraSearchManager extends SearchManager {
|
export class LoraSearchManager extends SearchManager {
|
||||||
constructor(options = {}) {
|
constructor(options = {}) {
|
||||||
console.log("initializing lora search manager");
|
|
||||||
super({
|
super({
|
||||||
page: 'loras',
|
page: 'loras',
|
||||||
...options
|
...options
|
||||||
|
|||||||
@@ -34,10 +34,10 @@ export class UpdateService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Set up event listener for update button
|
// Set up event listener for update button
|
||||||
const updateToggle = document.getElementById('updateToggleBtn');
|
// const updateToggle = document.getElementById('updateToggleBtn');
|
||||||
if (updateToggle) {
|
// if (updateToggle) {
|
||||||
updateToggle.addEventListener('click', () => this.toggleUpdateModal());
|
// updateToggle.addEventListener('click', () => this.toggleUpdateModal());
|
||||||
}
|
// }
|
||||||
|
|
||||||
// Immediately update modal content with current values (even if from default)
|
// Immediately update modal content with current values (even if from default)
|
||||||
this.updateModalContent();
|
this.updateModalContent();
|
||||||
@@ -226,10 +226,6 @@ export class UpdateService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
showUpdateModal() {
|
|
||||||
this.toggleUpdateModal();
|
|
||||||
}
|
|
||||||
|
|
||||||
async manualCheckForUpdates() {
|
async manualCheckForUpdates() {
|
||||||
this.lastCheckTime = 0; // Reset last check time to force check
|
this.lastCheckTime = 0; // Reset last check time to force check
|
||||||
await this.checkForUpdates();
|
await this.checkForUpdates();
|
||||||
|
|||||||
@@ -161,6 +161,7 @@ class RecipeManager {
|
|||||||
// Initialize components
|
// Initialize components
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
initializeCommonComponents();
|
initializeCommonComponents();
|
||||||
|
window.headerManager = new HeaderManager();
|
||||||
window.recipeManager = new RecipeManager();
|
window.recipeManager = new RecipeManager();
|
||||||
|
|
||||||
// Make importRecipes function available globally
|
// Make importRecipes function available globally
|
||||||
|
|||||||
@@ -36,11 +36,11 @@
|
|||||||
<div class="header-actions">
|
<div class="header-actions">
|
||||||
<!-- Integrated corner controls -->
|
<!-- Integrated corner controls -->
|
||||||
<div class="header-controls">
|
<div class="header-controls">
|
||||||
<div class="theme-toggle" onclick="toggleTheme()" title="Toggle theme">
|
<div class="theme-toggle" title="Toggle theme">
|
||||||
<i class="fas fa-moon dark-icon"></i>
|
<i class="fas fa-moon dark-icon"></i>
|
||||||
<i class="fas fa-sun light-icon"></i>
|
<i class="fas fa-sun light-icon"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-toggle" onclick="settingsManager.toggleSettings()" title="Settings">
|
<div class="settings-toggle" title="Settings">
|
||||||
<i class="fas fa-cog"></i>
|
<i class="fas fa-cog"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="update-toggle" id="updateToggleBtn" title="Check Updates">
|
<div class="update-toggle" id="updateToggleBtn" title="Check Updates">
|
||||||
@@ -149,31 +149,5 @@
|
|||||||
} else if (currentPath === '/checkpoints') {
|
} else if (currentPath === '/checkpoints') {
|
||||||
checkpointsNavItem.classList.add('active');
|
checkpointsNavItem.classList.add('active');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize search options panel toggle
|
|
||||||
const searchOptionsToggle = document.getElementById('searchOptionsToggle');
|
|
||||||
const searchOptionsPanel = document.getElementById('searchOptionsPanel');
|
|
||||||
|
|
||||||
if (searchOptionsToggle && searchOptionsPanel) {
|
|
||||||
searchOptionsToggle.addEventListener('click', function() {
|
|
||||||
const isHidden = searchOptionsPanel.classList.contains('hidden');
|
|
||||||
if (isHidden) {
|
|
||||||
searchOptionsPanel.classList.remove('hidden');
|
|
||||||
searchOptionsToggle.classList.add('active');
|
|
||||||
} else {
|
|
||||||
searchOptionsPanel.classList.add('hidden');
|
|
||||||
searchOptionsToggle.classList.remove('active');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Close search options panel when clicking the close button
|
|
||||||
const closeSearchOptions = document.getElementById('closeSearchOptions');
|
|
||||||
if (closeSearchOptions) {
|
|
||||||
closeSearchOptions.addEventListener('click', function() {
|
|
||||||
searchOptionsPanel.classList.add('hidden');
|
|
||||||
searchOptionsToggle.classList.remove('active');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
Reference in New Issue
Block a user