diff --git a/app/src/protyle/render/av/cell.ts b/app/src/protyle/render/av/cell.ts index 8528e6a68..c4a222945 100644 --- a/app/src/protyle/render/av/cell.ts +++ b/app/src/protyle/render/av/cell.ts @@ -144,7 +144,7 @@ export const genCellValue = (colType: TAVCol, value: string | any) => { } else if (colType === "relation") { cellValue = { type: colType, - relation: {blockIDs: [], contents: []} + relation: {blockIDs: [], contents: value ? [value] : []} }; } } else { diff --git a/app/src/protyle/render/av/filter.ts b/app/src/protyle/render/av/filter.ts index 962217be9..ba25d9d3a 100644 --- a/app/src/protyle/render/av/filter.ts +++ b/app/src/protyle/render/av/filter.ts @@ -240,10 +240,18 @@ export const setFilter = (options: { } }); }); - } else if (["text", "url", "block", "email", "phone", "template"].includes(colData.type)) { + } else if (["text", "url", "block", "email", "phone", "template", "relation"].includes(colData.type)) { + let value = "" + if (options.filter.value) { + if (colData.type === "relation") { + value = options.filter.value.relation.contents[0] || "" + } else { + value = options.filter.value[colData.type as "text"].content || "" + } + } menu.addItem({ iconHTML: "", - label: `` + label: `` }); } else if (colData.type === "number") { menu.addItem({ @@ -422,9 +430,10 @@ export const getFiltersHTML = (data: IAVTable) => { filterValue = ` ≤ ${filter.value.number.content}`; } } else if (filter.value?.text?.content || filter.value?.block?.content || filter.value?.url?.content || - filter.value?.phone?.content || filter.value?.email?.content) { + filter.value?.phone?.content || filter.value?.email?.content || filter.value?.relation?.contents.length>0) { const content = filter.value?.text?.content || filter.value?.block?.content || - filter.value?.url?.content || filter.value?.phone?.content || filter.value?.email?.content; + filter.value?.url?.content || filter.value?.phone?.content || filter.value?.email?.content || + filter.value?.relation?.contents[0]; if (["=", "Contains"].includes(filter.operator)) { filterValue = `: ${content}`; } else if (filter.operator === "Does not contains") {