diff --git a/app/src/block/popover.ts b/app/src/block/popover.ts index 3646ed340..5ec3ad4b9 100644 --- a/app/src/block/popover.ts +++ b/app/src/block/popover.ts @@ -9,6 +9,7 @@ import {getCellText} from "../protyle/render/av/cell"; import {isTouchDevice} from "../util/functions"; let popoverTargetElement: HTMLElement; +let notebookItemElement: HTMLElement | false; export const initBlockPopover = (app: App) => { let timeout: number; let timeoutHide: number; @@ -87,11 +88,22 @@ export const initBlockPopover = (app: App) => { hideTooltip(); } } else if (!aElement) { - const notebookItemElement = hasClosestByClassName(event.target, "b3-list-item__text"); + notebookItemElement = hasClosestByClassName(event.target, "b3-list-item__text"); if (notebookItemElement && notebookItemElement.parentElement.getAttribute("data-type") === "navigation-root") { + showTooltip(notebookItemElement.getAttribute("aria-label") || "", notebookItemElement); fetchPost("/api/notebook/getNotebookInfo", {notebook: notebookItemElement.parentElement.parentElement.getAttribute("data-url")}, (response) => { const boxData = response.data.boxInfo; - showTooltip(`${boxData.name} ${boxData.hSize}${boxData.docCount !== 0 ? window.siyuan.languages.includeSubFile.replace("x", boxData.docCount) : ""}
${window.siyuan.languages.modifiedAt} ${boxData.hMtime}
${window.siyuan.languages.createdAt} ${boxData.hCtime}`,notebookItemElement) + const tip = `${boxData.name} ${boxData.hSize}${boxData.docCount !== 0 ? window.siyuan.languages.includeSubFile.replace("x", boxData.docCount) : ""}
${window.siyuan.languages.modifiedAt} ${boxData.hMtime}
${window.siyuan.languages.createdAt} ${boxData.hCtime}` + + const newNotebookItemElement = hasClosestByClassName(event.target, "b3-list-item__text"); + if (notebookItemElement && newNotebookItemElement && notebookItemElement.isSameNode(newNotebookItemElement)) { + showTooltip(tip, notebookItemElement); + } + if (newNotebookItemElement && + newNotebookItemElement.parentElement.getAttribute("data-type") === "navigation-root" && + newNotebookItemElement.parentElement.parentElement.getAttribute("data-url") === boxData.id) { + newNotebookItemElement.setAttribute("aria-label", tip); + } }) } else { const tipElement = hasClosestByAttribute(event.target, "id", "tooltip", true); diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index d5027e070..8eedf4ca9 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -724,7 +724,7 @@ export class Files extends Model { ${emojiHTML} - ${escapeHtml(item.name)} + ${escapeHtml(item.name)}