diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 54f9313b7..d02f8202b 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -9,7 +9,7 @@ import {getIconByType} from "../../editor/getIcon"; import {enterBack, iframeMenu, setFold, tableMenu, videoMenu, zoomOut} from "../../menus/protyle"; import {MenuItem} from "../../menus/Menu"; import {copySubMenu, openAttr, openWechatNotify} from "../../menus/commonMenuItem"; -import {copyPlainText, isMac, isOnlyMeta, updateHotkeyTip, writeText} from "../util/compatibility"; +import {copyPlainText, isMac, isOnlyMeta, openByMobile, updateHotkeyTip, writeText} from "../util/compatibility"; import { transaction, turnsIntoOneTransaction, @@ -1355,6 +1355,19 @@ export class Gutter { submenu: tableMenu(protyle, nodeElement, cellElement as HTMLTableCellElement, range) as IMenu[] }).element); } + } else if (type === "NodeAttributeView" && !protyle.disabled) { + window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({ + icon: "iconDatabase", + label: window.siyuan.languages.export + " CSV", + click() { + fetchPost("/api/export/exportAttributeView", { + id: nodeElement.getAttribute("data-av-id") + }, response => { + openByMobile(response.data.zip); + }); + } + }).element); } else if ((type === "NodeVideo" || type === "NodeAudio") && !protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({