(datum)
| 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) { |
no test coverage detected