block graph
This commit is contained in:
@@ -157,7 +157,7 @@
|
|||||||
|
|
||||||
{#if !["_graph", "_info"].includes(activeContentTab)}
|
{#if !["_graph", "_info"].includes(activeContentTab)}
|
||||||
<div class="shadow-lg "
|
<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
|
<div
|
||||||
class="d-flex mt-3 mb-3 align-items-center justify-content-center"
|
class="d-flex mt-3 mb-3 align-items-center justify-content-center"
|
||||||
|
|||||||
@@ -8,20 +8,28 @@
|
|||||||
const channel = getContext("channel");
|
const channel = getContext("channel");
|
||||||
export let graph;
|
export let graph;
|
||||||
export let record;
|
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
|
let parentEdgesByField = graph.parentEdges
|
||||||
.filter((edge) => edge.source !== record.id && edge.depth === 1)
|
.filter((edge) => edge.source !== record.id && edge.depth === 1)
|
||||||
.reduce((carry, edge) => {
|
.reduce((carry, edge) => {
|
||||||
|
let schema = channel.schemas.find((s) => s.name === edge.sourceSchema);
|
||||||
let schemaField = edge.sourceSchema + edge.field;
|
let edgeField = findEdgeField(schema,edge.field);
|
||||||
|
let schemaField = edge.sourceSchema + edgeField;
|
||||||
|
|
||||||
let arecord = graph.records.find((n) => {
|
let arecord = graph.records.find((n) => {
|
||||||
return n.id === edge.source;
|
return n.id === edge.source;
|
||||||
});
|
});
|
||||||
if (!carry[schemaField]) {
|
if (!carry[schemaField]) {
|
||||||
|
|
||||||
let schema = channel.schemas.find((s) => s.name === edge.sourceSchema);
|
|
||||||
carry[schemaField] = {
|
carry[schemaField] = {
|
||||||
field: schema.fields.find((f) => f.name === edge.field),
|
field: edgeField,
|
||||||
schema: schema,
|
schema: schema,
|
||||||
nodes: [],
|
nodes: [],
|
||||||
};
|
};
|
||||||
@@ -31,18 +39,21 @@
|
|||||||
}
|
}
|
||||||
return carry;
|
return carry;
|
||||||
}, {});
|
}, {});
|
||||||
console.log(parentEdgesByField)
|
|
||||||
|
|
||||||
let childrenEdgesByField = graph.edges
|
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) => {
|
.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]) {
|
if (!carry[schemaField]) {
|
||||||
carry[schemaField] = {
|
carry[schemaField] = {
|
||||||
field: channel.schemas
|
field: edgeField,
|
||||||
.find((s) => s.name === record.schema)
|
|
||||||
.fields.find((f) => f.name === edge.field),
|
|
||||||
nodes: [],
|
nodes: [],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
</h6>
|
</h6>
|
||||||
<h6 class="dropdown-header">Actions</h6>
|
<h6 class="dropdown-header">Actions</h6>
|
||||||
<button
|
<button
|
||||||
class="dropdown-item"
|
class="dropdown-item text-danger"
|
||||||
on:click={(e) => deleteBlock(e, block.id)}
|
on:click={(e) => deleteBlock(e, block.id)}
|
||||||
>Delete
|
>Delete
|
||||||
</button
|
</button
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ $gradient-radial: radial-gradient(
|
|||||||
|
|
||||||
$primary: $lincoln-green;
|
$primary: $lincoln-green;
|
||||||
$table-striped-bg-factor: 0.03;
|
$table-striped-bg-factor: 0.03;
|
||||||
|
$dropdown-bg: rgb(206, 223, 210);
|
||||||
|
|
||||||
@import "../node_modules/bootstrap/scss/bootstrap";
|
@import "../node_modules/bootstrap/scss/bootstrap";
|
||||||
@import "./sidebar";
|
@import "./sidebar";
|
||||||
|
|||||||
Reference in New Issue
Block a user