index remove graph
This commit is contained in:
@@ -2,27 +2,25 @@ import Mustache from "mustache";
|
||||
import {stripHtml} from "../../helpers";
|
||||
import {getContext} from "svelte";
|
||||
|
||||
export function previewTitle(record, graph) {
|
||||
export function previewTitle(record) {
|
||||
const channel = getContext("channel");
|
||||
let schema = channel.schemas.find((aSchema) => aSchema.name === record?.schema);
|
||||
let schema = channel.schemas.find((aSchema) => aSchema.name === record.record?.schema);
|
||||
|
||||
if (!schema?.titleTemplate) {
|
||||
return noTemplate(schema, record);
|
||||
return noTemplate(schema, record.record);
|
||||
}
|
||||
|
||||
let recordData = record.data;
|
||||
let recordData = record.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
|
||||
.filter(fieldName => { // keep only references
|
||||
let schemaField = schema.fields.find(f => f.name === fieldName)
|
||||
return schemaField?.info.name === "reference";
|
||||
}).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(referenceRecord, graph);
|
||||
}).reduce((carry, fieldName) => { // map to records
|
||||
let child = record._children[fieldName].find(c => c.record.id === record.record.id);
|
||||
carry[field] = previewTitle(child);
|
||||
return carry;
|
||||
}, {});
|
||||
recordData = {...recordData, ...referencePreviews}
|
||||
@@ -30,7 +28,7 @@ export function previewTitle(record, graph) {
|
||||
let render = Mustache.render(schema.titleTemplate, recordData);
|
||||
|
||||
if (!render || render === "") {
|
||||
return noTemplate(schema, record);
|
||||
return noTemplate(schema, record.record);
|
||||
}
|
||||
|
||||
return stripHtml(render.slice(0, 300));
|
||||
@@ -41,11 +39,11 @@ function noTemplate(schema, record) {
|
||||
return record._file.path;
|
||||
}
|
||||
|
||||
let title = stripHtml(
|
||||
let title = stripHtml(
|
||||
record?.data[schema.fields.filter((f) => f.info.name === "text")[0]?.name]
|
||||
).slice(0, 300);
|
||||
|
||||
if(title === ""){
|
||||
if (title === "") {
|
||||
return "Untitled";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user