(element, onlyWhenOutside = false)
| 486 | } |
| 487 | |
| 488 | export function scrollToElement(element, onlyWhenOutside = false) { |
| 489 | if (onlyWhenOutside && isVisibleOnScroll(element, false)) { |
| 490 | return; |
| 491 | } |
| 492 | |
| 493 | const scrollableParent = findScrollableParent(element); |
| 494 | let alignToTop; |
| 495 | if (isNull(scrollableParent)) { |
| 496 | alignToTop = true; |
| 497 | } else { |
| 498 | alignToTop = element.offsetTop < scrollableParent.scrollTop; |
| 499 | } |
| 500 | |
| 501 | element.scrollIntoView(alignToTop); |
| 502 | } |
| 503 | |
| 504 | function findScrollableParent(elem) { |
| 505 | let scrollableParent = elem.parentNode; |
nothing calls this directly
no test coverage detected