MCPcopy
hub / github.com/wavetermdev/waveterm / switchBlockInDirection

Function switchBlockInDirection

frontend/app/store/keymodel.ts:242–277  ·  view source on GitHub ↗
(direction: NavigateDirection)

Source from the content-addressed store, hash-verified

240}
241
242function switchBlockInDirection(direction: NavigateDirection) {
243 const layoutModel = getLayoutModelForStaticTab();
244 const focusType = FocusManager.getInstance().getFocusType();
245
246 if (direction === NavigateDirection.Left) {
247 const numBlocks = globalStore.get(layoutModel.numLeafs);
248 if (focusType === "waveai") {
249 return;
250 }
251 if (numBlocks === 1) {
252 FocusManager.getInstance().requestWaveAIFocus();
253 setTimeout(() => {
254 FocusManager.getInstance().refocusNode();
255 }, 10);
256 return;
257 }
258 }
259
260 if (direction === NavigateDirection.Right && focusType === "waveai") {
261 FocusManager.getInstance().requestNodeFocus();
262 return;
263 }
264
265 const inWaveAI = focusType === "waveai";
266 const navResult = layoutModel.switchNodeFocusInDirection(direction, inWaveAI);
267 if (navResult.atLeft) {
268 FocusManager.getInstance().requestWaveAIFocus();
269 setTimeout(() => {
270 FocusManager.getInstance().refocusNode();
271 }, 10);
272 return;
273 }
274 setTimeout(() => {
275 globalRefocus();
276 }, 10);
277}
278
279function getAllTabs(ws: Workspace): string[] {
280 return ws.tabids ?? [];

Callers 1

registerGlobalKeysFunction · 0.85

Calls 9

globalRefocusFunction · 0.85
getMethod · 0.80
refocusNodeMethod · 0.80
getFocusTypeMethod · 0.45
getInstanceMethod · 0.45
requestWaveAIFocusMethod · 0.45
requestNodeFocusMethod · 0.45

Tested by

no test coverage detected