MCPcopy
hub / github.com/coder/mux / selectTabInFocusedTabset

Function selectTabInFocusedTabset

src/browser/utils/rightSidebarLayout.ts:341–361  ·  view source on GitHub ↗
(
  state: RightSidebarLayoutState,
  tab: TabType
)

Source from the content-addressed store, hash-verified

339}
340
341export function selectTabInFocusedTabset(
342 state: RightSidebarLayoutState,
343 tab: TabType
344): RightSidebarLayoutState {
345 const focused = findTabset(state.root, state.focusedTabsetId);
346 if (focused?.type !== "tabset") {
347 return state;
348 }
349
350 if (focused.activeTab === tab && focused.tabs.includes(tab)) {
351 return state;
352 }
353
354 return {
355 ...state,
356 root: updateNode(state.root, focused.id, (ts) => {
357 const tabs = ts.tabs.includes(tab) ? ts.tabs : [...ts.tabs, tab];
358 return { ...ts, tabs, activeTab: tab };
359 }),
360 };
361}
362
363export function splitFocusedTabset(
364 state: RightSidebarLayoutState,

Callers 2

addToolToFocusedTabsetFunction · 0.85

Calls 2

updateNodeFunction · 0.85
findTabsetFunction · 0.70

Tested by

no test coverage detected