block graph
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user