findChildInfo method

ObserveFindChildModel? findChildInfo({
  1. required int index,
  2. BuildContext? sliverContext,
})
inherited

Find out the child widget info for specified index in sliver.

Implementation

ObserveFindChildModel? findChildInfo({
  required int index,
  BuildContext? sliverContext,
}) {
  final ctx = fetchSliverContext(sliverContext: sliverContext);
  var obj = ObserverUtils.findRenderObject(ctx);
  if (obj is! RenderSliverMultiBoxAdaptor) return null;
  final viewport = ObserverUtils.findViewport(obj);
  if (viewport == null) return null;
  var targetChild = findCurrentFirstChild(obj);
  if (targetChild == null) return null;
  while (targetChild != null && (targetChild.index != index)) {
    targetChild = findNextChild(obj: obj, currentChild: targetChild);
  }
  if (targetChild == null) return null;
  return ObserveFindChildModel(
    sliver: obj,
    viewport: viewport,
    index: targetChild.index,
    renderObject: targetChild,
  );
}