MCPcopy Create free account
hub / github.com/SeaOfNodes/Simple / extractGrowingEdgesData

Function extractGrowingEdgesData

chapter24/docs/d3-graphviz.js:1113–1185  ·  view source on GitHub ↗
(datum)

Source from the content-addressed store, hash-verified

1111 }
1112 }
1113 function extractGrowingEdgesData(datum) {
1114 var id = datum.id;
1115 var tag = datum.tag;
1116 var prevDatum = prevDictionary[id];
1117 if (growEnteringEdges && !prevDatum && datum.parent) {
1118 if (isEdgeElement(datum)) {
1119 if (tag == 'path' || tag == 'polygon') {
1120 if (tag == 'polygon') {
1121 var path = datum.parent.children.find(function (e) {
1122 return e.tag == 'path';
1123 });
1124 if (path) {
1125 datum.totalLength = path.totalLength;
1126 }
1127 }
1128 var title = getEdgeTitle(datum);
1129 var child = title.children[0];
1130 var nodeIds = child.text.split('->');
1131 if (nodeIds.length != 2) {
1132 nodeIds = child.text.split('--');
1133 }
1134 var startNodeId = nodeIds[0];
1135 var startNode = nodeDictionary[startNodeId];
1136 if (Object.hasOwn(prevNodeDictionary, startNodeId)) {
1137 var prevStartNode = prevNodeDictionary[startNodeId];
1138 var i = startNode.children.findIndex(function (element, index) {
1139 return element.tag == 'g';
1140 });
1141 if (i >= 0) {
1142 var j = startNode.children[i].children.findIndex(function (element, index) {
1143 return element.tag == 'a';
1144 });
1145 startNode = startNode.children[i].children[j];
1146 }
1147 var i = prevStartNode.children.findIndex(function (element, index) {
1148 return element.tag == 'g';
1149 });
1150 if (i >= 0) {
1151 var j = prevStartNode.children[i].children.findIndex(function (element, index) {
1152 return element.tag == 'a';
1153 });
1154 prevStartNode = prevStartNode.children[i].children[j];
1155 }
1156 var startShapes = startNode.children;
1157 for (var i = 0; i < startShapes.length; i++) {
1158 if (startShapes[i].tag == 'polygon' || startShapes[i].tag == 'ellipse' || startShapes[i].tag == 'path' || startShapes[i].tag == 'text') {
1159 var startShape = startShapes[i];
1160 break;
1161 }
1162 }
1163 var prevStartShapes = prevStartNode.children;
1164 for (var i = 0; i < prevStartShapes.length; i++) {
1165 if (prevStartShapes[i].tag == 'polygon' || prevStartShapes[i].tag == 'ellipse' || prevStartShapes[i].tag == 'path' || prevStartShapes[i].tag == 'text') {
1166 var prevStartShape = prevStartShapes[i];
1167 break;
1168 }
1169 }
1170 if (prevStartShape && startShape) {

Callers 1

Calls 4

isEdgeElementFunction · 0.70
getEdgeTitleFunction · 0.70
findMethod · 0.45
splitMethod · 0.45

Tested by

no test coverage detected