block graph

This commit is contained in:
2023-10-14 20:26:57 +03:00
parent 2e81d27ff6
commit 237d234e51
4 changed files with 25 additions and 13 deletions
+1 -1
View File
@@ -157,7 +157,7 @@
{#if !["_graph", "_info"].includes(activeContentTab)}
<div class="shadow-lg "
style="position:fixed;bottom:0;left:0px;width:100%;background: rgb(28, 28, 28);z-index:1050"
style="position:fixed;bottom:0;left:0px;width:100%;background: rgb(206, 223, 210);z-index:1050"
>
<div
class="d-flex mt-3 mb-3 align-items-center justify-content-center"
+22 -11
View File
@@ -8,20 +8,28 @@
const channel = getContext("channel");
export let graph;
export let record;
function findEdgeField(schema, edgeField){
if(edgeField.includes(":")){
let edgeFieldAr = edgeField.split(":");
edgeField = edgeFieldAr[0];
}
return schema.fields.find((f) => f.name === edgeField);
}
let parentEdgesByField = graph.parentEdges
.filter((edge) => edge.source !== record.id && edge.depth === 1)
.reduce((carry, edge) => {
let schemaField = edge.sourceSchema + edge.field;
let schema = channel.schemas.find((s) => s.name === edge.sourceSchema);
let edgeField = findEdgeField(schema,edge.field);
let schemaField = edge.sourceSchema + edgeField;
let arecord = graph.records.find((n) => {
return n.id === edge.source;
});
if (!carry[schemaField]) {
let schema = channel.schemas.find((s) => s.name === edge.sourceSchema);
carry[schemaField] = {
field: schema.fields.find((f) => f.name === edge.field),
field: edgeField,
schema: schema,
nodes: [],
};
@@ -31,18 +39,21 @@
}
return carry;
}, {});
console.log(parentEdgesByField)
let childrenEdgesByField = graph.edges
.filter((edge) => edge.source === record.id && edge.depth === 0)
.filter((edge) => edge.source === record.id && edge.depth === 1)
.reduce((carry, edge) => {
let schemaField = edge.targetSchema + edge.field;
let schema = channel.schemas.find((s) => s.name === record.schema);
let edgeField = findEdgeField(schema,edge.field);
// let schemaField = edge.targetSchema + edgeField;
let schemaField = edgeField;
if (!carry[schemaField]) {
carry[schemaField] = {
field: channel.schemas
.find((s) => s.name === record.schema)
.fields.find((f) => f.name === edge.field),
field: edgeField,
nodes: [],
};
}
@@ -48,7 +48,7 @@
</h6>
<h6 class="dropdown-header">Actions</h6>
<button
class="dropdown-item"
class="dropdown-item text-danger"
on:click={(e) => deleteBlock(e, block.id)}
>Delete
</button
+1
View File
@@ -82,6 +82,7 @@ $gradient-radial: radial-gradient(
$primary: $lincoln-green;
$table-striped-bg-factor: 0.03;
$dropdown-bg: rgb(206, 223, 210);
@import "../node_modules/bootstrap/scss/bootstrap";
@import "./sidebar";