Adrià Vilanova Martínez | 43c7520 | 2024-10-19 15:55:15 +0200 | [diff] [blame] | 1 | import { NodeMutation } from '../../../presentation/nodeWatcher/NodeWatcherHandler'; |
Adrià Vilanova Martínez | 18d03c4 | 2024-04-21 16:43:01 +0200 | [diff] [blame] | 2 | import CssSelectorNodeWatcherScriptHandler from '../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler'; |
| 3 | import { InfiniteScrollNodeWatcherOptions } from '../scripts/ccInfiniteScroll.script'; |
| 4 | |
| 5 | export default class CCInfiniteScrollSetUpHandler extends CssSelectorNodeWatcherScriptHandler<InfiniteScrollNodeWatcherOptions> { |
| 6 | cssSelector = 'ec-app, .scrollable-content'; |
| 7 | |
| 8 | onMutatedNode({ node }: NodeMutation) { |
| 9 | if (!(node instanceof Element)) return; |
| 10 | const isScrollableContent = node.classList.contains('scrollable-content'); |
| 11 | this.options.ccInfiniteScroll.setUpIntersectionObserver( |
| 12 | node, |
| 13 | isScrollableContent, |
| 14 | ); |
| 15 | } |
| 16 | } |