diff options
Diffstat (limited to 'spec/frontend/helpers/scroll_into_view_promise.js')
-rw-r--r-- | spec/frontend/helpers/scroll_into_view_promise.js | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/spec/frontend/helpers/scroll_into_view_promise.js b/spec/frontend/helpers/scroll_into_view_promise.js deleted file mode 100644 index 0edea2103da..00000000000 --- a/spec/frontend/helpers/scroll_into_view_promise.js +++ /dev/null @@ -1,28 +0,0 @@ -export default function scrollIntoViewPromise(intersectionTarget, timeout = 100, maxTries = 5) { - return new Promise((resolve, reject) => { - let intersectionObserver; - let retry = 0; - - const intervalId = setInterval(() => { - if (retry >= maxTries) { - intersectionObserver.disconnect(); - clearInterval(intervalId); - reject(new Error(`Could not scroll target into viewPort within ${timeout * maxTries} ms`)); - } - retry += 1; - intersectionTarget.scrollIntoView(); - }, timeout); - - intersectionObserver = new IntersectionObserver(entries => { - if (entries[0].isIntersecting) { - intersectionObserver.disconnect(); - clearInterval(intervalId); - resolve(); - } - }); - - intersectionObserver.observe(intersectionTarget); - - intersectionTarget.scrollIntoView(); - }); -} |