Files
lucent-laravel/front/js/svelte/records/Graph.svelte
T

43 lines
1.2 KiB
Svelte
Raw Normal View History

2023-10-02 23:10:49 +03:00
<script>
import {getContext} from "svelte";
2024-08-16 17:38:26 +03:00
import PreviewReference from "./previews/PreviewReference.svelte";
2023-10-02 23:10:49 +03:00
const channel = getContext("channel");
export let graph;
2023-10-14 20:26:57 +03:00
function findEdgeField(schema, edgeField){
if(edgeField.includes(":")){
let edgeFieldAr = edgeField.split(":");
edgeField = edgeFieldAr[0];
}
return schema.fields.find((f) => f.name === edgeField);
}
2024-08-16 17:38:26 +03:00
let backlinks = graph.parentEdges.map(edge => {
let schema = channel.schemas.find((s) => s.name === edge.sourceSchema);
let edgeField = findEdgeField(schema,edge.field);
return {
field: edgeField.label,
record: graph.records.find( record => record.id === edge.source)
}
})
2023-10-02 23:10:49 +03:00
</script>
2024-08-17 19:23:19 +03:00
<div class="editor-field">
2024-08-16 17:38:26 +03:00
{#each backlinks as backlink}
<div style="margin: 0 0 15px;position: relative;">
<span style="
font-size: 14px;
margin-bottom: 5px;
display: block;
2024-08-17 19:23:19 +03:00
2024-08-16 17:38:26 +03:00
"
2024-08-17 19:23:19 +03:00
>In <i>{backlink.field}</i> of</span>
2024-08-16 17:38:26 +03:00
<PreviewReference
record={backlink.record}
hasDelete={false}
{graph}
/>
2023-10-02 23:10:49 +03:00
</div>
2024-08-18 17:23:18 +03:00
{:else}
Nothing links to this record
2023-10-02 23:10:49 +03:00
{/each}
2024-08-17 19:23:19 +03:00
</div>