From 941353f62152f1cdb37aa5f12613597c087ae486 Mon Sep 17 00:00:00 2001 From: Mike Reinstein Date: Sun, 31 May 2020 11:44:18 -0700 Subject: [PATCH] add some documentation on getOffsetParent and listScrollParents --- src/dom-utils/getOffsetParent.js | 4 ++++ src/dom-utils/listScrollParents.js | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/dom-utils/getOffsetParent.js b/src/dom-utils/getOffsetParent.js index bd2ed5026f..513793f7a8 100644 --- a/src/dom-utils/getOffsetParent.js +++ b/src/dom-utils/getOffsetParent.js @@ -17,6 +17,10 @@ function getTrueOffsetParent(element: Element): ?Element { return element.offsetParent; } +/* +get the closest ancestor positioned element. Handles some edge cases, +such as table ancestors and cross browser bugs. +*/ export default function getOffsetParent(element: Element) { const window = getWindow(element); diff --git a/src/dom-utils/listScrollParents.js b/src/dom-utils/listScrollParents.js index 49a00d0ddc..9af1dd6950 100644 --- a/src/dom-utils/listScrollParents.js +++ b/src/dom-utils/listScrollParents.js @@ -6,6 +6,12 @@ import getWindow from './getWindow'; import type { Window, VisualViewport } from '../types'; import isScrollParent from './isScrollParent'; +/* +given a DOM element, return the list of all scroll parents, up the list of ancesors +until we get to the top window object. This list is what we attach scroll listeners +to, because if any of these parent elements scroll, we'll need to re-calculate the +reference element's position. +*/ export default function listScrollParents( element: Node, list: Array = []