getAnchorView method
Implementation
Element? getAnchorView(String eid) {
debugPrint("suraj getAnchorView EID : $eid");
List<String> path = eid.split(widgetSeparator);
Element rootElement = element;
for (int i = 0; i < path.length - 2; i++) {
List<String> pathVariables = path[i + 1].split(widgetIndexSeparator);
String ix = pathVariables[1].split(indexSeparator)[1];
List<Element> children = rootElement.children;
if (children.length > int.parse(ix)) {
if (pathVariables.length == 3) {
String key = pathVariables[2].split(indexSeparator)[1];
for (int i = 0; i < children.length; i++) {
if (key == children[i].widget.key.toString()) {
rootElement = children[i];
break;
}
}
} else {
rootElement = children[int.parse(ix)];
}
} else {
return null;
}
if (rootElement.widget.identity() == pathVariables[0]) {
/*debugPrint("element name : " + rootElement.widget.identity() +
" EID element name " + pathVariables[0] +
" No Of Children : " + rootElement.children.length.toString() +
" ix : " + ix.toString());*/
} else {
debugPrint("Widget Mismatch, Anchor View not present");
debugPrint("element name : ${rootElement.widget.identity()} "
"EID element name ${pathVariables[0]} No Of Children : "
"${rootElement.children.length} ix : $ix");
return null;
}
}
return rootElement;
}