diff --git a/app/src/protyle/render/av/action.ts b/app/src/protyle/render/av/action.ts index 48c4c95f0..2324ae265 100644 --- a/app/src/protyle/render/av/action.ts +++ b/app/src/protyle/render/av/action.ts @@ -146,6 +146,24 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle return true; } + const addTabElement = hasClosestByAttribute(event.target, "data-type", "av-add"); + if (addTabElement) { + const id = Lute.NewNodeID(); + const avID = blockElement.getAttribute("data-av-id"); + transaction(protyle, [{ + action: "addAttrViewView", + avID, + id + }], [{ + action: "removeAttrViewView", + avID, + id + }]); + event.preventDefault(); + event.stopPropagation(); + return true; + } + const linkElement = hasClosestByClassName(event.target, "av__celltext--url"); if (linkElement) { let linkAddress = linkElement.textContent.trim(); diff --git a/app/src/protyle/render/av/render.ts b/app/src/protyle/render/av/render.ts index fe0435852..bbbb5e5dd 100644 --- a/app/src/protyle/render/av/render.ts +++ b/app/src/protyle/render/av/render.ts @@ -210,6 +210,10 @@ ${cell.color ? `color:${cell.color};` : ""}">${text}`;
${tabHTML} +
+ + +
${response.data.isMirror ? `
` : ""} diff --git a/app/src/protyle/wysiwyg/transaction.ts b/app/src/protyle/wysiwyg/transaction.ts index b427f40c0..d35442743 100644 --- a/app/src/protyle/wysiwyg/transaction.ts +++ b/app/src/protyle/wysiwyg/transaction.ts @@ -711,7 +711,8 @@ export const onTransaction = (protyle: IProtyle, operation: IOperation, isUndo: "updateAttrViewColOption", "updateAttrViewCell", "sortAttrViewRow", "sortAttrViewCol", "setAttrViewColHidden", "setAttrViewColWrap", "setAttrViewColWidth", "removeAttrViewColOption", "setAttrViewName", "setAttrViewFilters", "setAttrViewSorts", "setAttrViewColCalc", "removeAttrViewCol", "updateAttrViewColNumberFormat", "removeAttrViewBlock", - "replaceAttrViewBlock", "updateAttrViewColTemplate", "setAttrViewColIcon", "setAttrViewColPin"].includes(operation.action)) { + "replaceAttrViewBlock", "updateAttrViewColTemplate", "setAttrViewColIcon", "setAttrViewColPin", "addAttrViewView", + "removeAttrViewView"].includes(operation.action)) { refreshAV(protyle, operation, isUndo); } else if (operation.action === "doUpdateUpdated") { updateElements.forEach(item => { diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index 53a924bd4..2231427f4 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -42,6 +42,8 @@ type TOperation = | "setAttrViewColCalc" | "updateAttrViewColNumberFormat" | "replaceAttrViewBlock" + | "addAttrViewView" + | "removeAttrViewView" type TBazaarType = "templates" | "icons" | "widgets" | "themes" | "plugins" type TCardType = "doc" | "notebook" | "all" type TEventBus = "ws-main" |