diff --git a/app/src/assets/scss/business/_av.scss b/app/src/assets/scss/business/_av.scss
index 811f14c17..887581bcb 100644
--- a/app/src/assets/scss/business/_av.scss
+++ b/app/src/assets/scss/business/_av.scss
@@ -291,6 +291,10 @@
color: var(--b3-protyle-inline-blockref-color);
}
+ .b3-menu__avemoji {
+ display: inline-block;
+ }
+
&[data-wrap="true"] {
white-space: pre-wrap;
}
diff --git a/app/src/protyle/render/av/action.ts b/app/src/protyle/render/av/action.ts
index f3b0eda68..4655e10bb 100644
--- a/app/src/protyle/render/av/action.ts
+++ b/app/src/protyle/render/av/action.ts
@@ -22,7 +22,7 @@ import {hintRef} from "../../hint/extend";
import {focusBlock, focusByRange} from "../../util/selection";
import {showMessage} from "../../../dialog/message";
import {previewImage} from "../../preview/image";
-import {unicode2Emoji} from "../../../emoji";
+import {openEmojiPanel, unicode2Emoji} from "../../../emoji";
import * as dayjs from "dayjs";
import {openCalcMenu} from "./calc";
import {avRender} from "./render";
@@ -233,6 +233,17 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle
event.preventDefault();
event.stopPropagation();
return true;
+ } else if (target.classList.contains("b3-menu__avemoji")) {
+ const rect = target.getBoundingClientRect();
+ openEmojiPanel(target.parentElement.getAttribute("data-block-id"), "doc", {
+ x: rect.left,
+ y: rect.bottom,
+ h: rect.height,
+ w: rect.width,
+ }, undefined, target.querySelector("img"));
+ event.preventDefault();
+ event.stopPropagation();
+ return true;
}
target = target.parentElement;
}
diff --git a/app/src/protyle/render/av/cell.ts b/app/src/protyle/render/av/cell.ts
index 2d2bb79af..9821b7438 100644
--- a/app/src/protyle/render/av/cell.ts
+++ b/app/src/protyle/render/av/cell.ts
@@ -789,7 +789,7 @@ export const renderCell = (cellValue: IAVCellValue, rowIndex = 0) => {
if (cellValue?.isDetached) {
text = `${cellValue.block.content || ""}${window.siyuan.languages.more}`;
} else {
- text = `${cellValue.block.content || window.siyuan.languages.untitled}${window.siyuan.languages.update}`;
+ text = `${cellValue.block.icon ? `` : ""}${cellValue.block.content || window.siyuan.languages.untitled}${window.siyuan.languages.update}`;
}
} else if (cellValue.type === "number") {
text = `${cellValue?.number.formattedContent || cellValue?.number.content || ""}`;
@@ -877,7 +877,7 @@ const renderRollup = (cellValue: IAVCellValue) => {
if (cellValue?.isDetached) {
text = `${cellValue.block?.content || window.siyuan.languages.untitled}`;
} else {
- text = `${cellValue.block?.content || window.siyuan.languages.untitled}`;
+ text = `${cellValue.block.icon ? `` : ""}${cellValue.block?.content || window.siyuan.languages.untitled}`;
}
} else if (cellValue.type === "number") {
text = cellValue?.number.formattedContent || cellValue?.number.content.toString() || "";
diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts
index 7f31b3e47..8aef8e29d 100644
--- a/app/src/types/index.d.ts
+++ b/app/src/types/index.d.ts
@@ -874,7 +874,8 @@ interface IAVCellValue {
mAsset?: IAVCellAssetValue[]
block?: {
content: string,
- id?: string
+ id?: string,
+ icon?: string
}
url?: {
content: string