From e9c2e82bc3a2ac0804255abed5ab59654605f729 Mon Sep 17 00:00:00 2001 From: lexx Date: Wed, 3 Apr 2024 16:25:59 +0300 Subject: [PATCH] who knows --- front/js/svelte/newPreview/Preview.svelte | 2 +- front/js/svelte/records/Edit.svelte | 2 +- front/js/svelte/records/Preview.js | 20 ++++++++++++++++++ front/js/svelte/records/PreviewCard.svelte | 24 +++------------------- front/js/svelte/records/deepEquality.js | 1 - front/js/svelte/records/form/Form.svelte | 4 ++-- src/Graph/Record/RecordService.php | 2 +- src/Http/Controller/RecordController.php | 20 +++++++++--------- 8 files changed, 38 insertions(+), 37 deletions(-) diff --git a/front/js/svelte/newPreview/Preview.svelte b/front/js/svelte/newPreview/Preview.svelte index ec55a7e..a5d11c5 100644 --- a/front/js/svelte/newPreview/Preview.svelte +++ b/front/js/svelte/newPreview/Preview.svelte @@ -28,7 +28,7 @@ {/if}
- {previewTitle(record)} + {previewTitle(record)} {#if record.status === "draft"} diff --git a/front/js/svelte/records/Edit.svelte b/front/js/svelte/records/Edit.svelte index ec505ae..28178bb 100644 --- a/front/js/svelte/records/Edit.svelte +++ b/front/js/svelte/records/Edit.svelte @@ -66,7 +66,7 @@ errorMessage = error.response.data.error; } else { validationErrors = error.response.data.error; - console.log(validationErrors) + // console.log(validationErrors) } } resolve(null); diff --git a/front/js/svelte/records/Preview.js b/front/js/svelte/records/Preview.js index 9e50957..0812573 100644 --- a/front/js/svelte/records/Preview.js +++ b/front/js/svelte/records/Preview.js @@ -20,6 +20,26 @@ export function previewTitle(record) { return stripHtml(render.slice(0, 300)); } +export function previewEdgeTitle(edge) { + const channel = getContext("channel"); + let edgeSchemaName = channel.schemas + .find((aSchema) => aSchema.name === edge?.sourceSchema) + .fields.find(f => f.name === edge.field).data; + let schema = channel.schemas.find((aSchema) => aSchema.name === edgeSchemaName); + if (!schema?.titleTemplate) { + return noTemplate(schema, edge); + } + + let template = Mustache.parse(schema.titleTemplate); + let render = Mustache.render(schema.titleTemplate, edge.data); + + if (!render || render === "") { + return noTemplate(schema, edge); + } + + return stripHtml(render.slice(0, 300)); +} + function noTemplate(schema, record) { if (schema?.type === "files") { return record._file.path; diff --git a/front/js/svelte/records/PreviewCard.svelte b/front/js/svelte/records/PreviewCard.svelte index d544a2f..3a62d4e 100644 --- a/front/js/svelte/records/PreviewCard.svelte +++ b/front/js/svelte/records/PreviewCard.svelte @@ -2,7 +2,7 @@ import Icon from "../common/Icon.svelte"; import {getContext, createEventDispatcher} from "svelte"; - import {previewTitle} from "./Preview"; + import {previewEdgeTitle, previewTitle} from "./Preview"; import Status from "./Status.svelte"; import Preview from "../newPreview/Preview.svelte"; import EdgeData from "./form/references/EdgeData.svelte"; @@ -39,7 +39,8 @@ style="border-color:{schema.color ?? '#ccc'}; border-width: 1px;" >
- Edge Data + Relation Data + {previewEdgeTitle(edge)}