areViewsPresentInWeb static method
Implementation
static JSArray areViewsPresentInWeb(JSArray searchElements, double pixRatio,
int screenWidth, int screenHeight) {
try {
screenHeight = (MediaQuery.of(ctx).size.height * pixRatio).round();
screenWidth = (MediaQuery.of(ctx).size.width * pixRatio).round();
List<dynamic> presentElements = [];
List<dynamic> elements = searchElements.toDart;
for (int i = 0; i < elements.length; i++) {
var searchElement = elements[i] as ElementSearchObject;
var key = searchElement.clientElementId;
if (visibilityMap[key] == 100.0) {
BuildContext? element = findViewByKey(key, ctx);
if (element != null) {
RenderBox box = element.findRenderObject() as RenderBox;
Offset position = box.localToGlobal(Offset.zero);
if (isWithinBoundsOfWeb(
element, position, screenWidth, screenHeight)) {
presentElements.add(searchElement);
}
}
}
}
return presentElements.map((element) => element as JSAny).toList().toJS;
} catch (e) {
debugPrint("Error in areViewsPresent: $e");
}
return [].map((element) => element as JSAny).toList().toJS;
}