From bb3518b01e9cb5395be5bd647089de6e4963eeb8 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 22 Oct 2023 23:59:17 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/9480 --- app/src/protyle/hint/extend.ts | 2 +- app/src/protyle/hint/index.ts | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/protyle/hint/extend.ts b/app/src/protyle/hint/extend.ts index b5306de26..6107cabdc 100644 --- a/app/src/protyle/hint/extend.ts +++ b/app/src/protyle/hint/extend.ts @@ -375,7 +375,7 @@ export const hintRef = (key: string, protyle: IProtyle, source: THintSource): IH response.data.blocks.forEach((item: IBlock) => { let value = `${item.name || item.refText}`; if (source === "search") { - value = `${key}`; + value = `${key}${Constants.ZWSP}${item.name || item.refText}`; } dataList.push({ value, diff --git a/app/src/protyle/hint/index.ts b/app/src/protyle/hint/index.ts index ed9193b60..66b1efdca 100644 --- a/app/src/protyle/hint/index.ts +++ b/app/src/protyle/hint/index.ts @@ -61,10 +61,9 @@ export class Hint { if (this.source !== "search") { this.fill(decodeURIComponent(btnElement.getAttribute("data-value")), protyle, true, isCtrl(event)); } else { - // 划选引用点击,需先重置 range setTimeout(() => { - this.fill(decodeURIComponent(btnElement.getAttribute("data-value")), protyle); - }, 148); + this.fill(decodeURIComponent(btnElement.getAttribute("data-value")), protyle, true, !isCtrl(event)); + }, 148); // 划选引用点击,需先重置 range } focusByRange(protyle.toolbar.range); @@ -303,8 +302,8 @@ ${unicode2Emoji(emoji.unicode)}`; upDownHint(this.element.lastElementChild, event); if (event.key === "Enter") { setTimeout(() => { - this.fill(decodeURIComponent(this.element.querySelector(".b3-list-item--focus").getAttribute("data-value")), protyle); - }, 148); + this.fill(decodeURIComponent(this.element.querySelector(".b3-list-item--focus").getAttribute("data-value")), protyle, true, !isCtrl(event)); + }, 148); // 划选引用点击,需先重置 range focusByRange(protyle.toolbar.range); event.preventDefault(); } else if (event.key === "Escape") { @@ -542,6 +541,12 @@ ${genHintItemHTML(item)} tempElement.setAttribute("data-subtype", "s"); tempElement.innerText = staticText; } + } else { + tempElement.setAttribute("data-subtype", "d"); + const dynamicTexts = tempElement.innerText.split(Constants.ZWSP); + if (dynamicTexts.length === 2) { + tempElement.innerText = dynamicTexts[1]; + } } protyle.toolbar.setInlineMark(protyle, "block-ref", "range", { type: "id",