全部用静态导入

This commit is contained in:
zqm
2025-12-25 13:53:52 +08:00
parent 8c8ce2f8ce
commit 81dba291f9
15 changed files with 244 additions and 241 deletions

View File

@@ -3,8 +3,8 @@
* 统一管理所有组件的拖拽状态,提供拖拽历史、性能监控、冲突检测等功能
*/
import { eventBus } from '../eventBus.js';
import { GLOBAL_EVENT_TYPES, globalEventActions } from './GlobalEventManager.js';
import { eventBus } from '../eventBus';
import { GLOBAL_EVENT_TYPES, globalEventActions } from './GlobalEventManager';
// 拖拽状态类型
export const DRAG_STATE_TYPES = {
@@ -520,6 +520,11 @@ class DragStateManager {
* 注册事件监听器
*/
_registerEventListeners() {
// 防止重复注册监听器
if (this.eventListenersRegistered) {
return;
}
const dragEvents = [
// Panel拖拽事件
'panel.drag.start', 'panel.drag.move', 'panel.drag.end', 'panel.drag.cancel',
@@ -535,6 +540,36 @@ class DragStateManager {
deduplication: { type: 'EVENT_BASED', key: 'dragState' }
});
});
this.eventListenersRegistered = true;
}
/**
* 销毁管理器
*/
destroy() {
// 清理事件监听器
const dragEvents = [
// Panel拖拽事件
'panel.drag.start', 'panel.drag.move', 'panel.drag.end', 'panel.drag.cancel',
// TabPage拖拽事件
'tabpage.drag.start', 'tabpage.drag.move', 'tabpage.drag.end', 'tabpage.drag.cancel',
// Area拖拽事件
'area.drag.start', 'area.drag.move', 'area.drag.end', 'area.drag.cancel'
];
dragEvents.forEach(eventType => {
eventBus.off(eventType, this._onDragEvent);
});
// 清理清理调度器
this._stopCleanupScheduler();
// 清理拖拽状态
this.dragStates.clear();
this.dragHistory = [];
console.log('🗑️ 拖拽状态管理器已销毁');
}
/**