diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index 86deea891..5a7b8021c 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -777,7 +777,7 @@ export class Files extends Model { currentPath = dirname + ".sy"; } } else { - liElement.querySelector("fn__hidden").classList.remove("fn__hidden"); + liElement.querySelector(".fn__hidden").classList.remove("fn__hidden"); break; } } diff --git a/app/src/mobile/dock/MobileFiles.ts b/app/src/mobile/dock/MobileFiles.ts index 9edd5ee37..e3999992e 100644 --- a/app/src/mobile/dock/MobileFiles.ts +++ b/app/src/mobile/dock/MobileFiles.ts @@ -67,8 +67,14 @@ export class MobileFiles extends Model { case "removeDoc": this.onRemove(data); break; - case "createdailynote": case "create": + if (data.data.listDocTree) { + this.selectItem(data.data.box.id, data.data.path); + } else { + this.updateItemArrow(data.data.box.id, data.data.path); + } + break; + case "createdailynote": case "heading2doc": case "li2doc": this.onMkdir(data.data); @@ -267,6 +273,29 @@ export class MobileFiles extends Model { window.siyuan.menus.menu.fullscreen("bottom"); } + private updateItemArrow(notebookId: string, filePath: string) { + const treeElement = this.element.querySelector(`[data-url="${notebookId}"]`); + if (!treeElement) { + return; + } + let currentPath = filePath; + let liElement + while (!liElement) { + liElement = treeElement.querySelector(`[data-path="${currentPath}"]`); + if (!liElement) { + const dirname = pathPosix().dirname(currentPath); + if (dirname === "/") { + currentPath = dirname; + } else { + currentPath = dirname + ".sy"; + } + } else { + liElement.querySelector(".fn__hidden").classList.remove("fn__hidden"); + break; + } + } + } + private genNotebook(item: INotebook) { const emojiHTML = `${unicode2Emoji(item.icon || window.siyuan.storage[Constants.LOCAL_IMAGES].note)}`; if (item.closed) {