feat: 完成挂起状态下会话标签状态颜色切换
This commit is contained in:
@@ -81,6 +81,7 @@ export const openNewSession = (
|
||||
editorTabs: ref([]),
|
||||
activeEditorTabId: ref(null),
|
||||
commandInputContent: ref(''),
|
||||
isMarkedForSuspend: false, // +++ 初始化 isMarkedForSuspend状态 +++
|
||||
disposables: [], // 初始化 disposables 数组
|
||||
};
|
||||
|
||||
|
||||
@@ -364,6 +364,7 @@ const handleSshMarkedForSuspendAck = (payload: SshMarkedForSuspendAckPayload): v
|
||||
const session = sessions.value.get(payload.sessionId);
|
||||
if (session) {
|
||||
session.isMarkedForSuspend = true; // 假设 SessionState 有此字段
|
||||
sessions.value = new Map(sessions.value); // 强制更新 Map
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -375,6 +376,7 @@ const handleSshMarkedForSuspendAck = (payload: SshMarkedForSuspendAckPayload): v
|
||||
const session = sessions.value.get(payload.sessionId);
|
||||
if (session) {
|
||||
session.isMarkedForSuspend = false; // 确保标记被清除
|
||||
sessions.value = new Map(sessions.value); // 强制更新 Map
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -387,6 +389,7 @@ const handleSshUnmarkedForSuspendAck = (payload: SshUnmarkedForSuspendAckPayload
|
||||
if (payload.success) {
|
||||
if (session) {
|
||||
session.isMarkedForSuspend = false;
|
||||
sessions.value = new Map(sessions.value); // 强制更新 Map
|
||||
}
|
||||
uiNotificationsStore.addNotification({
|
||||
type: 'success',
|
||||
|
||||
@@ -17,6 +17,7 @@ export const sessionTabsWithStatus = computed((): SessionTabInfoWithStatus[] =>
|
||||
sessionId: session.sessionId,
|
||||
connectionName: session.connectionName,
|
||||
status: session.wsManager.connectionStatus.value, // 从 wsManager 获取状态
|
||||
isMarkedForSuspend: session.isMarkedForSuspend, // +++ 添加 isMarkedForSuspend 状态 +++
|
||||
}));
|
||||
});
|
||||
|
||||
|
||||
@@ -52,4 +52,5 @@ export interface SessionTabInfoWithStatus {
|
||||
sessionId: string;
|
||||
connectionName: string;
|
||||
status: WsConnectionStatus; // 添加状态字段
|
||||
isMarkedForSuspend?: boolean; // +++ 新增:用于UI指示会话是否已标记待挂起 +++
|
||||
}
|
||||
Reference in New Issue
Block a user