refactor fields

This commit is contained in:
2024-03-21 22:33:41 +02:00
parent bb77a37ff7
commit 8526fd471f
68 changed files with 635 additions and 297 deletions
+7 -5
View File
@@ -1,8 +1,10 @@
import Mustache from "mustache";
import {stripHtml} from "../../helpers";
import {getContext} from "svelte";
export function previewTitle(schemas, record, graph) {
let schema = schemas.find((aSchema) => aSchema.name === record?.schema);
export function previewTitle(record, graph) {
const channel = getContext("channel");
let schema = channel.schemas.find((aSchema) => aSchema.name === record?.schema);
if (!schema?.titleTemplate) {
return noTemplate(schema, record);
@@ -10,7 +12,7 @@ export function previewTitle(schemas, record, graph) {
let recordData = record.data;
let template = Mustache.parse(schema.titleTemplate);
console.log({template})
let referencePreviews = template
.filter(segment => segment[0] === "name") // keep only template tags
.map((segment) => segment[1]) // map to fieldNames
@@ -20,7 +22,7 @@ export function previewTitle(schemas, record, graph) {
}).reduce((carry, field) => { // map to records
let edge = graph.edges.find(edge => edge.source === record.id && edge.field === field)
let referenceRecord = graph.records.find(rec => rec.id === edge?.target)
carry[field] = previewTitle(schemas, referenceRecord, graph);
carry[field] = previewTitle(referenceRecord, graph);
return carry;
}, {});
recordData = {...recordData, ...referencePreviews}
@@ -43,7 +45,7 @@ function noTemplate(schema, record) {
record?.data[schema.fields.filter((f) => f.info.name === "text")[0]?.name]
).slice(0, 300);
if(title == ""){
if(title === ""){
return "Untitled";
}