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