recurseKey static method
List<Map<String, dynamic> >
recurseKey(
- BuildContext element,
- double pixRatio,
- int screenWidth,
- int screenHeight,
Implementation
static List<Map<String, dynamic>> recurseKey(BuildContext element,
double pixRatio, int screenWidth, int screenHeight) {
List<Map<String, dynamic>> list = [];
try {
element.visitChildElements((element) {
try {
String? key = element.widget.key?.toString();
if (key != null &&
key.contains("<'") &&
key.contains("'>") &&
key.startsWith("[<'") &&
visibilityMap[key] == 100.0) {
RenderBox box = element.findRenderObject() as RenderBox;
Offset position = box.localToGlobal(Offset.zero);
if (isWithinBoundsOfWeb(
element, position, screenWidth, screenHeight)) {
Map<String, dynamic> newPosition = {};
Map<String, dynamic> elementObj = {};
newPosition['x'] = ((position.dx * pixRatio) + 0.6).round();
newPosition['y'] = ((position.dy * pixRatio) + 0.6).round();
newPosition['width'] =
((element.size?.width ?? 0) * pixRatio).round();
newPosition['height'] =
((element.size?.height ?? 0) * pixRatio).round();
elementObj['position'] = newPosition;
var parentElement =
element.findAncestorWidgetOfExactType<PView>();
if (parentElement != null) {
if (parentElement.isWidget) {
elementObj['clientElementId'] =
key.substring(key.indexOf("'") + 1, key.lastIndexOf("'"));
elementObj['isWidget'] = true;
} else {
elementObj['clientElementId'] = key;
elementObj['isWidget'] = false;
}
list.add(elementObj);
}
}
}
list.addAll(recurseKey(element, pixRatio, screenWidth, screenHeight));
} catch (e) {
debugPrint("Error in vCElements: $e");
}
});
} catch (e) {
debugPrint("Error in rKey: $e");
}
return list;
}