From 412c7a8d6b676b2a7782941985a1d782498925c9 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Fri, 23 Feb 2024 22:47:13 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/10411 --- app/src/protyle/render/av/relation.ts | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/app/src/protyle/render/av/relation.ts b/app/src/protyle/render/av/relation.ts index 95f7719df..816c87388 100644 --- a/app/src/protyle/render/av/relation.ts +++ b/app/src/protyle/render/av/relation.ts @@ -248,37 +248,30 @@ export const bindRelationEvent = (options: { cellElements: HTMLElement[] }) => { const hasIds = options.menuElement.firstElementChild.getAttribute("data-cell-ids").split(","); - fetchPost("/api/av/renderAttributeView", { + fetchPost("/api/av/getAttributeViewPrimaryKeyValues", { id: options.menuElement.firstElementChild.getAttribute("data-av-id"), }, response => { - const avData = response.data as IAV; - let cellIndex = 0; - avData.view.columns.find((item, index) => { - if (item.type === "block") { - cellIndex = index; - return true; - } - }); + const cells=response.data.rows.values as IAVCellValue[]; let html = ""; let selectHTML = ""; hasIds.forEach(hasId => { if (hasId) { - avData.view.rows.find((item) => { - if (item.id === hasId) { - selectHTML += genSelectItemHTML("selected", item.id, item.cells[cellIndex].value.isDetached, item.cells[cellIndex].value.block.content || "Untitled"); + cells.find((item) => { + if (item.block.id === hasId) { + selectHTML += genSelectItemHTML("selected", item.block.id, item.isDetached, item.block.content || "Untitled"); return true; } }); } }); - avData.view.rows.forEach((item) => { - if (!hasIds.includes(item.id)) { - html += genSelectItemHTML("unselect", item.id, item.cells[cellIndex].value.isDetached, item.cells[cellIndex].value.block.content || "Untitled"); + cells.forEach((item) => { + if (!hasIds.includes(item.block.id)) { + html += genSelectItemHTML("unselect", item.block.id, item.isDetached, item.block.content || "Untitled"); } }); options.menuElement.innerHTML = `
-
${avData.name}
+
${response.data.name}