mirror of
https://github.com/Minidoracat/mcp-feedback-enhanced.git
synced 2025-07-27 10:42:25 +08:00
✨ 收合面板功能加入保存
This commit is contained in:
parent
a257744bd1
commit
e0aa50a4e8
@ -142,6 +142,7 @@
|
||||
|
||||
// 6. 初始化會話管理器
|
||||
self.sessionManager = new window.MCPFeedback.SessionManager({
|
||||
settingsManager: self.settingsManager,
|
||||
onSessionChange: function(sessionData) {
|
||||
console.log('📋 會話變更:', sessionData);
|
||||
},
|
||||
|
@ -38,12 +38,16 @@
|
||||
this.collapsedToggleBtn = null;
|
||||
this.mainContent = null;
|
||||
|
||||
// 設定管理器引用
|
||||
this.settingsManager = options.settingsManager || null;
|
||||
|
||||
// 回調函數
|
||||
this.onSessionChange = options.onSessionChange || null;
|
||||
this.onSessionSelect = options.onSessionSelect || null;
|
||||
|
||||
this.initializeModules(options);
|
||||
this.initializeUI();
|
||||
this.loadPanelState();
|
||||
|
||||
console.log('📋 SessionManager (重構版) 初始化完成');
|
||||
}
|
||||
@ -254,6 +258,9 @@
|
||||
this.updateToggleButton('▶', '展開面板');
|
||||
}
|
||||
|
||||
// 保存面板狀態到設定
|
||||
this.savePanelState();
|
||||
|
||||
console.log('📋 會話面板', this.isPanelVisible ? '顯示' : '隱藏');
|
||||
};
|
||||
|
||||
@ -471,6 +478,84 @@
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 載入面板狀態
|
||||
*/
|
||||
SessionManager.prototype.loadPanelState = function() {
|
||||
if (!this.settingsManager) {
|
||||
console.log('📋 沒有設定管理器,使用預設面板狀態');
|
||||
return;
|
||||
}
|
||||
|
||||
const isCollapsed = this.settingsManager.get('sessionPanelCollapsed', false);
|
||||
this.isPanelVisible = !isCollapsed;
|
||||
|
||||
console.log('📋 載入面板狀態:', this.isPanelVisible ? '顯示' : '隱藏');
|
||||
|
||||
// 應用面板狀態
|
||||
this.applyPanelState();
|
||||
};
|
||||
|
||||
/**
|
||||
* 保存面板狀態
|
||||
*/
|
||||
SessionManager.prototype.savePanelState = function() {
|
||||
if (!this.settingsManager) {
|
||||
console.log('📋 沒有設定管理器,無法保存面板狀態');
|
||||
return;
|
||||
}
|
||||
|
||||
const isCollapsed = !this.isPanelVisible;
|
||||
this.settingsManager.set('sessionPanelCollapsed', isCollapsed);
|
||||
|
||||
console.log('📋 保存面板狀態:', isCollapsed ? '收合' : '展開');
|
||||
};
|
||||
|
||||
/**
|
||||
* 應用面板狀態
|
||||
*/
|
||||
SessionManager.prototype.applyPanelState = function() {
|
||||
if (!this.panel) return;
|
||||
|
||||
const DOMUtils = getDOMUtils();
|
||||
|
||||
if (this.isPanelVisible) {
|
||||
// 展開面板
|
||||
this.panel.classList.remove('collapsed');
|
||||
if (this.mainContent) {
|
||||
this.mainContent.classList.remove('panel-collapsed');
|
||||
}
|
||||
|
||||
// 隱藏收合狀態下的展開按鈕
|
||||
const collapsedToggle = DOMUtils ?
|
||||
DOMUtils.safeQuerySelector('#collapsedPanelToggle') :
|
||||
document.querySelector('#collapsedPanelToggle');
|
||||
if (collapsedToggle) {
|
||||
collapsedToggle.style.display = 'none';
|
||||
}
|
||||
|
||||
// 更新邊緣按鈕圖示和提示
|
||||
this.updateToggleButton('◀', '收合面板');
|
||||
} else {
|
||||
// 收合面板
|
||||
this.panel.classList.add('collapsed');
|
||||
if (this.mainContent) {
|
||||
this.mainContent.classList.add('panel-collapsed');
|
||||
}
|
||||
|
||||
// 顯示收合狀態下的展開按鈕
|
||||
const collapsedToggle = DOMUtils ?
|
||||
DOMUtils.safeQuerySelector('#collapsedPanelToggle') :
|
||||
document.querySelector('#collapsedPanelToggle');
|
||||
if (collapsedToggle) {
|
||||
collapsedToggle.style.display = 'block';
|
||||
}
|
||||
|
||||
// 更新邊緣按鈕圖示和提示
|
||||
this.updateToggleButton('▶', '展開面板');
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 更新顯示
|
||||
*/
|
||||
|
@ -27,7 +27,8 @@
|
||||
enableBase64Detail: false,
|
||||
autoRefreshEnabled: false,
|
||||
autoRefreshInterval: 5,
|
||||
activeTab: 'combined'
|
||||
activeTab: 'combined',
|
||||
sessionPanelCollapsed: false
|
||||
};
|
||||
|
||||
// 當前設定
|
||||
|
Loading…
x
Reference in New Issue
Block a user