Vanessa 2025-06-09 12:23:44 +08:00
parent 66afcafd84
commit 6670719931
6 changed files with 10 additions and 2 deletions

View file

@ -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();

View file

@ -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();

View file

@ -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 += `<div data-position="north" data-id="${item.id}" data-page="${item.pageSize}" data-desc="${escapeAriaLabel(item.desc || "")}" class="ariaLabel item${item.id === response.data.viewID ? " item--focus" : ""}">
tabHTML += `<div data-position="north" data-av-type="${item.type}" data-id="${item.id}" data-page="${item.pageSize}" data-desc="${escapeAriaLabel(item.desc || "")}" class="ariaLabel item${item.id === response.data.viewID ? " item--focus" : ""}">
${item.icon ? unicode2Emoji(item.icon, "item__graphic", true) : '<svg class="item__graphic"><use xlink:href="#iconTable"></use></svg>'}
<span class="item__text">${escapeHtml(item.name)}</span>
</div>`;

View file

@ -321,7 +321,7 @@ export const getSwitcherHTML = (views: IAVView[], viewId: string) => {
views.forEach((item) => {
html += `<button draggable="true" class="b3-menu__item${item.id === viewId ? " b3-menu__item--current" : ""}" data-id="${item.id}">
<svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
<div class="b3-menu__label fn__flex" data-type="av-view-switch">
<div class="b3-menu__label fn__flex" data-type="av-view-switch" data-av-type="${item.type}">
${item.icon ? unicode2Emoji(item.icon, "b3-menu__icon", true) : '<svg class="b3-menu__icon"><use xlink:href="#iconTable"></use></svg>'}
<span class="fn__ellipsis">${item.name}</span>
</div>
@ -366,6 +366,7 @@ export const addView = (protyle: IProtyle, blockElement: Element) => {
blockID: blockElement.getAttribute("data-node-id")
}]);
blockElement.setAttribute(Constants.CUSTOM_SY_AV_VIEW, id);
blockElement.setAttribute("data-av-type", "table");
}
});
addMenu.addItem({
@ -386,6 +387,7 @@ export const addView = (protyle: IProtyle, blockElement: Element) => {
blockID: blockElement.getAttribute("data-node-id")
}]);
blockElement.setAttribute(Constants.CUSTOM_SY_AV_VIEW, id);
blockElement.setAttribute("data-av-type", "gallery");
}
});
viewElement.classList.add("av__views--show");

View file

@ -526,6 +526,7 @@ interface IOperation {
deckID?: string // add/removeFlashcards 专享
blockIDs?: string[] // add/removeFlashcards 专享
removeDest?: boolean // removeAttrViewCol 专享
layout?: string // addAttrViewView 专享
}
interface IOperationSrcs {