Vanessa 2025-06-30 15:12:44 +08:00
parent 3f6418bf49
commit 68f346f47d
6 changed files with 22 additions and 20 deletions

View file

@ -729,13 +729,13 @@ export const updateAttrViewCellAnimation = (cellElement: HTMLElement, value: IAV
return;
}
const viewType = blockElement.getAttribute("data-av-type") as TAVView;
if (viewType === "gallery") {
const iconElement = cellElement.querySelector(".b3-menu__avemoji");
cellElement.innerHTML = renderCell(value, undefined, iconElement ? !iconElement.classList.contains("fn__none") : false, viewType) +
if (viewType === "gallery") {
cellElement.innerHTML = renderCell(value, 0, iconElement ? !iconElement.classList.contains("fn__none") : false, viewType) +
cellElement.querySelector(".av__gallery-tip").outerHTML;
cellElement.setAttribute("data-empty", cellValueIsEmpty(value).toString());
} else {
cellElement.innerHTML = renderCell(value);
cellElement.innerHTML = renderCell(value, 0, iconElement ? !iconElement.classList.contains("fn__none") : false);
}
if (hasDragFill) {
addDragFill(cellElement);

View file

@ -994,7 +994,7 @@ export const renderCell = (cellValue: IAVCellValue, rowIndex = 0, showIcon = tru
cellValue?.relation?.contents?.forEach((item) => {
if (item && item.block) {
if (item?.isDetached) {
text += `<span class="av__cell--relation"><span> </span><span class="av__celltext" data-id="${item.block?.id}">${Lute.EscapeHTMLStr(item.block.content || window.siyuan.languages.untitled)}</span></span>`;
text += `<span class="av__cell--relation"><span class="b3-menu__avemoji ${showIcon ? "" : " fn__none"}"> </span><span class="av__celltext" data-id="${item.block?.id}">${Lute.EscapeHTMLStr(item.block.content || window.siyuan.languages.untitled)}</span></span>`;
} else {
// data-block-id 用于更新 emoji
text += `<span class="av__cell--relation" data-block-id="${item.block.id}"><span class="b3-menu__avemoji${showIcon ? "" : " fn__none"}" data-unicode="${item.block.icon || ""}">${unicode2Emoji(item.block.icon || window.siyuan.storage[Constants.LOCAL_IMAGES].file)}</span><span data-type="block-ref" data-id="${item.block.id}" data-subtype="s" class="av__celltext av__celltext--ref">${Lute.EscapeHTMLStr(item.block.content || window.siyuan.languages.untitled)}</span></span>`;
@ -1150,7 +1150,8 @@ export const dragFillCellsValue = (protyle: IProtyle, nodeElement: HTMLElement,
rowID,
data
});
item.element.innerHTML = renderCell(data);
const iconElement = item.element.querySelector(".b3-menu__avemoji");
item.element.innerHTML = renderCell(data, 0, iconElement ? !iconElement.classList.contains("fn__none") : false);
renderCellAttr(item.element, data);
delete item.colId;
delete item.element;

View file

@ -42,16 +42,6 @@ export const getLayoutHTML = (data: IAV) => {
<span class="fn__flex-center">${window.siyuan.languages.fitImage}</span>
<span class="fn__space fn__flex-1"></span>
<input data-type="toggle-gallery-fit" type="checkbox" class="b3-switch b3-switch--menu" ${view.fitImage ? "checked" : ""}>
</label>
<label class="b3-menu__item">
<span class="fn__flex-center">${window.siyuan.languages.showIcon}</span>
<span class="fn__space fn__flex-1"></span>
<input data-type="toggle-gallery-icon" type="checkbox" class="b3-switch b3-switch--menu" ${view.showIcon ? "checked" : ""}>
</label>
<label class="b3-menu__item">
<span class="fn__flex-center">${window.siyuan.languages.wrapAllFields}</span>
<span class="fn__space fn__flex-1"></span>
<input data-type="toggle-gallery-wrap" type="checkbox" class="b3-switch b3-switch--menu" ${view.wrapField ? "checked" : ""}>
</label>`;
}
return `<div class="b3-menu__items">
@ -83,6 +73,16 @@ export const getLayoutHTML = (data: IAV) => {
<input data-type="toggle-view-title" type="checkbox" class="b3-switch b3-switch--menu" ${view.hideAttrViewName ? "" : "checked"}>
</label>
${html}
<label class="b3-menu__item">
<span class="fn__flex-center">${window.siyuan.languages.showIcon}</span>
<span class="fn__space fn__flex-1"></span>
<input data-type="toggle-gallery-icon" type="checkbox" class="b3-switch b3-switch--menu" ${view.showIcon ? "checked" : ""}>
</label>
<label class="b3-menu__item">
<span class="fn__flex-center">${window.siyuan.languages.wrapAllFields}</span>
<span class="fn__space fn__flex-1"></span>
<input data-type="toggle-gallery-wrap" type="checkbox" class="b3-switch b3-switch--menu" ${view.wrapField ? "checked" : ""}>
</label>
<button class="b3-menu__item" data-type="set-page-size" data-size="${view.pageSize}">
<span class="fn__flex-center">${window.siyuan.languages.entryNum}</span>
<span class="fn__flex-1"></span>

View file

@ -199,7 +199,7 @@ ${cell.value?.isDetached ? ' data-detached="true"' : ""}
style="width: ${data.columns[index].width || "200px"};
${cell.valueType === "number" ? "text-align: right;" : ""}
${cell.bgColor ? `background-color:${cell.bgColor};` : ""}
${cell.color ? `color:${cell.color};` : ""}">${renderCell(cell.value, rowIndex)}</div>`;
${cell.color ? `color:${cell.color};` : ""}">${renderCell(cell.value, rowIndex, data.showIcon)}</div>`;
if (pinIndex === index) {
tableHTML += "</div>";

View file

@ -242,7 +242,8 @@ ${getTypeByCellElement(item) === "block" ? ' data-detached="true"' : ""}><span c
const sideRowCellElement = sideRow.querySelector(`.av__cell[data-col-id="${item.column}"]`) as HTMLElement;
const cellElement = currentRow.querySelector(`.av__cell[data-col-id="${item.column}"]`);
const cellValue = genCellValueByElement(getTypeByCellElement(sideRowCellElement), sideRowCellElement);
cellElement.innerHTML = renderCell(cellValue);
const iconElement = cellElement.querySelector(".b3-menu__avemoji");
cellElement.innerHTML = renderCell(cellValue, 0, iconElement ? !iconElement.classList.contains("fn__none") : false);
renderCellAttr(cellElement, cellValue);
}
});

View file

@ -836,7 +836,9 @@ interface IAVView {
type: TAVView;
icon: string;
hideAttrViewName: boolean;
pageSize: number,
pageSize: number;
showIcon: boolean;
wrapField: boolean;
}
interface IAVTable extends IAVView {
@ -853,8 +855,6 @@ interface IAVGallery extends IAVView {
cardSize: number; // 0小卡片1中卡片2大卡片
cardAspectRatio: number;
fitImage: boolean;
showIcon: boolean;
wrapField: boolean;
cards: IAVGalleryItem[],
desc: string
fields: IAVColumn[]