in frontend/src/features/cypher/CypherUtil.js [288:379]
function generateElements(alias, val) {
const labelName = val.label.trim();
let source = val.start;
let target = val.end;
if (!source) {
source = val.start_id;
}
if (!target) {
target = val.end_id;
}
if (source && target) {
if (!Object.prototype.hasOwnProperty.call(edgeLegend, labelName)) {
edgeLegend[labelName] = {
size: getEdgeSize(labelName),
caption: getCaption('edge', val),
...getEdgeColor(labelName),
};
}
if (!Object.prototype.hasOwnProperty.call(edgeLabelCaptions, labelName)) {
edgeLabelCaptions[labelName] = 'label';
// if has property named [ name ], than set [ name ]
if (Object.prototype.hasOwnProperty.call(val.properties, 'name')) {
nodeLabelCaptions[labelName] = 'name';
}
}
if (!Object.prototype.hasOwnProperty.call(val.properties, edgeLegend.caption)) {
edgeLegend[labelName].caption = getCaption('edge', val);
}
edges.push(
{
group: 'edges',
data: {
id: val.id,
source,
target,
label: val.label,
backgroundColor: edgeLegend[labelName].color,
borderColor: edgeLegend[labelName].borderColor,
fontColor: edgeLegend[labelName].fontColor,
size: edgeLegend[labelName].size,
properties: val.properties,
caption: edgeLegend[labelName].caption,
},
alias,
classes: isNew ? 'new node' : 'edge',
},
);
console.log(JSON.stringify(labelName), edgeLegend[labelName], edges);
} else {
if (!Object.prototype.hasOwnProperty.call(nodeLegend, labelName)) {
nodeLegend[labelName] = {
size: getNodeSize(labelName),
caption: getCaption('node', val),
...getNodeColor(labelName),
};
}
if (!Object.prototype.hasOwnProperty.call(nodeLabelCaptions, labelName)) {
nodeLabelCaptions[labelName] = 'gid';
// if has property named [ name ], than set [ name ]
if (Object.prototype.hasOwnProperty.call(val.properties, 'name')) {
nodeLabelCaptions[labelName] = 'name';
}
}
if (!Object.prototype.hasOwnProperty.call(val.properties, nodeLegend.caption)) {
nodeLegend[labelName].caption = getCaption('node', val);
}
nodes.push(
{
group: 'nodes',
data: {
id: val.id,
label: val.label,
backgroundColor: nodeLegend[labelName].color,
borderColor: nodeLegend[labelName].borderColor,
fontColor: nodeLegend[labelName].fontColor,
size: nodeLegend[labelName].size,
properties: val.properties,
caption: nodeLegend[labelName].caption,
},
alias,
classes: isNew ? 'new node' : 'node',
},
);
}
}