diff --git a/app/src/protyle/render/av/action.ts b/app/src/protyle/render/av/action.ts index 32392b5a5..708399a54 100644 --- a/app/src/protyle/render/av/action.ts +++ b/app/src/protyle/render/av/action.ts @@ -115,6 +115,7 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle openViewMenu({protyle, blockElement, element: viewItemElement}); } else { blockElement.removeAttribute("data-render"); + blockElement.setAttribute("data-av-type", viewItemElement.dataset.avType); avRender(blockElement, protyle, undefined, viewItemElement.dataset.id); } event.preventDefault(); diff --git a/app/src/protyle/render/av/gallery/render.ts b/app/src/protyle/render/av/gallery/render.ts new file mode 100644 index 000000000..e69de29bb diff --git a/app/src/protyle/render/av/openMenuPanel.ts b/app/src/protyle/render/av/openMenuPanel.ts index a7ba04a30..d7acf7231 100644 --- a/app/src/protyle/render/av/openMenuPanel.ts +++ b/app/src/protyle/render/av/openMenuPanel.ts @@ -1314,6 +1314,7 @@ export const openMenuPanel = (options: { avPanelElement.querySelector(".b3-menu__item--current")?.classList.remove("b3-menu__item--current"); target.parentElement.classList.add("b3-menu__item--current"); options.blockElement.removeAttribute("data-render"); + options.blockElement.setAttribute("data-av-type", target.dataset.avType); avRender(options.blockElement, options.protyle, undefined, target.parentElement.dataset.id); } event.preventDefault(); diff --git a/app/src/protyle/render/av/render.ts b/app/src/protyle/render/av/render.ts index d7219e7d7..72440faaa 100644 --- a/app/src/protyle/render/av/render.ts +++ b/app/src/protyle/render/av/render.ts @@ -34,6 +34,9 @@ export const avRender = (element: Element, protyle: IProtyle, cb?: () => void, v if (isMobile() || isInIOS() || isInAndroid() || isInHarmony()) { e.classList.add("av--touch"); } + + // TODO + const alignSelf = e.style.alignSelf; if (e.firstElementChild.innerHTML === "") { e.style.alignSelf = ""; @@ -207,7 +210,7 @@ ${cell.color ? `color:${cell.color};` : ""}">${renderCell(cell.value, rowIndex)} let tabHTML = ""; let viewData: IAVView; response.data.views.forEach((item: IAVView) => { - tabHTML += `
+ tabHTML += `
${item.icon ? unicode2Emoji(item.icon, "item__graphic", true) : ''} ${escapeHtml(item.name)}
`; diff --git a/app/src/protyle/render/av/view.ts b/app/src/protyle/render/av/view.ts index 9aade0c42..89f4de106 100644 --- a/app/src/protyle/render/av/view.ts +++ b/app/src/protyle/render/av/view.ts @@ -321,7 +321,7 @@ export const getSwitcherHTML = (views: IAVView[], viewId: string) => { views.forEach((item) => { html += `