onIntersection method

  1. @override
Stream<IntersectionObserverEntry?> onIntersection(
  1. Element? element
)
inherited

A stream which fires when element intersects with the scroll viewport.

NOTE: This requires IntersectionObserver. Check supportsIntersectionObserver from feature_detector.dart before using.

Implementation

@override
Stream<IntersectionObserverEntry?> onIntersection(Element? element) {
  assert(feature_detector.supportsIntersectionObserver);
  _intersectionStreams[element] ??=
      StreamController<IntersectionObserverEntry?>.broadcast(
          onListen: () => _intersectionObserver!.observe(element!),
          onCancel: () => _intersectionObserver!.unobserve(element!),
          sync: true);
  return _intersectionStreams[element]!.stream;
}