mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-24 06:32:12 -03:00
Implement centralized event management system with priority handling and state tracking
- Enhanced EventManager class to support priority-based event handling, conditional execution, and automatic cleanup. - Integrated event management into BulkManager for global keyboard shortcuts and marquee selection events. - Migrated mouse tracking and node selector events to UIHelpers for better coordination. - Established global event handlers for context menu interactions and modal state management. - Added comprehensive documentation for event management implementation and usage. - Implemented initialization logic for event management, including error handling and cleanup on page unload.
This commit is contained in:
@@ -16,14 +16,13 @@ import { migrateStorageItems } from './utils/storageHelpers.js';
|
||||
import { i18n } from './i18n/index.js';
|
||||
import { onboardingManager } from './managers/OnboardingManager.js';
|
||||
import { BulkContextMenu } from './components/ContextMenu/BulkContextMenu.js';
|
||||
import { createPageContextMenu, initializeContextMenuCoordination } from './components/ContextMenu/index.js';
|
||||
import { createPageContextMenu } from './components/ContextMenu/index.js';
|
||||
import { initializeEventManagement } from './utils/eventManagementInit.js';
|
||||
|
||||
// Core application class
|
||||
export class AppCore {
|
||||
constructor() {
|
||||
this.initialized = false;
|
||||
this.pageContextMenu = null;
|
||||
this.bulkContextMenu = null;
|
||||
}
|
||||
|
||||
// Initialize core functionality
|
||||
@@ -70,6 +69,8 @@ export class AppCore {
|
||||
|
||||
const cardInfoDisplay = state.global.settings.cardInfoDisplay || 'always';
|
||||
document.body.classList.toggle('hover-reveal', cardInfoDisplay === 'hover');
|
||||
|
||||
initializeEventManagement();
|
||||
|
||||
// Mark as initialized
|
||||
this.initialized = true;
|
||||
@@ -107,15 +108,7 @@ export class AppCore {
|
||||
// Initialize context menus for the current page
|
||||
initializeContextMenus(pageType) {
|
||||
// Create page-specific context menu
|
||||
this.pageContextMenu = createPageContextMenu(pageType);
|
||||
|
||||
// Get bulk context menu from bulkManager
|
||||
this.bulkContextMenu = bulkManager.bulkContextMenu;
|
||||
|
||||
// Initialize context menu coordination
|
||||
if (this.pageContextMenu || this.bulkContextMenu) {
|
||||
initializeContextMenuCoordination(this.pageContextMenu, this.bulkContextMenu);
|
||||
}
|
||||
window.pageContextMenu = createPageContextMenu(pageType);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user