From 8f271f6ef19ee61f8d96b34ad92797ccef0cff1e Mon Sep 17 00:00:00 2001 From: Vanessa Date: Mon, 11 Mar 2024 16:01:10 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/10566 --- app/src/layout/tabUtil.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/layout/tabUtil.ts b/app/src/layout/tabUtil.ts index 97b5e64e7..796c79bbd 100644 --- a/app/src/layout/tabUtil.ts +++ b/app/src/layout/tabUtil.ts @@ -53,9 +53,18 @@ export const switchTabByIndex = (index: number) => { } else if (index === -2) { // 上一个 indexElement = activeDockIcoElement.previousElementSibling; + if (!indexElement) { + indexElement = activeDockIcoElement.parentElement.lastElementChild; + if (indexElement.classList.contains("dock__item--pin")) { + indexElement = indexElement.previousElementSibling; + } + } } else if (index === -3) { // 下一个 indexElement = activeDockIcoElement.nextElementSibling; + if (!indexElement || indexElement.classList.contains("dock__item--pin")) { + indexElement = activeDockIcoElement.parentElement.firstElementChild; + } } const type = indexElement?.getAttribute("data-type"); if (type) { @@ -72,9 +81,15 @@ export const switchTabByIndex = (index: number) => { } else if (index === -2) { // 上一个 indexElement = tab.headElement.previousElementSibling; + if (!indexElement) { + indexElement = tab.headElement.parentElement.lastElementChild; + } } else if (index === -3) { // 下一个 indexElement = tab.headElement.nextElementSibling; + if (!indexElement) { + indexElement = tab.headElement.parentElement.firstElementChild; + } } if (indexElement) { tab.parent.switchTab(indexElement as HTMLElement, true);