UNPKG

ngx-infinite-scroll

Version:

[![Build Status](https://travis-ci.org/orizens/ngx-infinite-scroll.svg?branch=master)](https://travis-ci.org/orizens/ngx-infinite-scroll) [![Backers on Open Collective](https://opencollective.com/ngx-infinite-scroll/backers/badge.svg)](#backers) [![Sponso

25 lines 4.09 kB
export function resolveContainerElement(selector, scrollWindow, defaultElement, fromRoot) { const hasWindow = window && !!window.document && window.document.documentElement; let container = hasWindow && scrollWindow ? window : defaultElement; if (selector) { const containerIsString = selector && hasWindow && typeof selector === 'string'; container = containerIsString ? findElement(selector, defaultElement.nativeElement, fromRoot) : selector; if (!container) { throw new Error('ngx-infinite-scroll {resolveContainerElement()}: selector for'); } } return container; } export function findElement(selector, customRoot, fromRoot) { const rootEl = fromRoot ? window.document : customRoot; return rootEl.querySelector(selector); } export function inputPropChanged(prop) { return prop && !prop.firstChange; } export function hasWindowDefined() { return typeof window !== 'undefined'; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWlucy11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1pbmZpbml0ZS1zY3JvbGwvc3JjL2xpYi9zZXJ2aWNlcy9uZ3gtaW5zLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsUUFBc0IsRUFDdEIsWUFBcUIsRUFDckIsY0FBK0IsRUFDL0IsUUFBaUI7SUFFakIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ2pGLElBQUksU0FBUyxHQUFHLFNBQVMsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQ3BFLElBQUksUUFBUSxFQUFFO1FBQ1osTUFBTSxpQkFBaUIsR0FDckIsUUFBUSxJQUFJLFNBQVMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUM7UUFDeEQsU0FBUyxHQUFHLGlCQUFpQjtZQUMzQixDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztZQUMvRCxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsK0RBQStELENBQUMsQ0FBQztTQUNsRjtLQUNGO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQ3pCLFFBQXNCLEVBQ3RCLFVBQTRCLEVBQzVCLFFBQWlCO0lBRWpCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ3ZELE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQWtCO0lBQ2pELE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQjtJQUM5QixPQUFPLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgU2ltcGxlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQ29udGFpbmVyRWxlbWVudChcbiAgc2VsZWN0b3I6IHN0cmluZyB8IGFueSxcbiAgc2Nyb2xsV2luZG93OiBib29sZWFuLFxuICBkZWZhdWx0RWxlbWVudDogRWxlbWVudFJlZjxhbnk+LFxuICBmcm9tUm9vdDogYm9vbGVhblxuKTogYW55IHtcbiAgY29uc3QgaGFzV2luZG93ID0gd2luZG93ICYmICEhd2luZG93LmRvY3VtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIGxldCBjb250YWluZXIgPSBoYXNXaW5kb3cgJiYgc2Nyb2xsV2luZG93ID8gd2luZG93IDogZGVmYXVsdEVsZW1lbnQ7XG4gIGlmIChzZWxlY3Rvcikge1xuICAgIGNvbnN0IGNvbnRhaW5lcklzU3RyaW5nID1cbiAgICAgIHNlbGVjdG9yICYmIGhhc1dpbmRvdyAmJiB0eXBlb2Ygc2VsZWN0b3IgPT09ICdzdHJpbmcnO1xuICAgIGNvbnRhaW5lciA9IGNvbnRhaW5lcklzU3RyaW5nXG4gICAgICA/IGZpbmRFbGVtZW50KHNlbGVjdG9yLCBkZWZhdWx0RWxlbWVudC5uYXRpdmVFbGVtZW50LCBmcm9tUm9vdClcbiAgICAgIDogc2VsZWN0b3I7XG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbmd4LWluZmluaXRlLXNjcm9sbCB7cmVzb2x2ZUNvbnRhaW5lckVsZW1lbnQoKX06IHNlbGVjdG9yIGZvcicpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY29udGFpbmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZEVsZW1lbnQoXG4gIHNlbGVjdG9yOiBzdHJpbmcgfCBhbnksXG4gIGN1c3RvbVJvb3Q6IEVsZW1lbnRSZWYgfCBhbnksXG4gIGZyb21Sb290OiBib29sZWFuXG4pIHtcbiAgY29uc3Qgcm9vdEVsID0gZnJvbVJvb3QgPyB3aW5kb3cuZG9jdW1lbnQgOiBjdXN0b21Sb290O1xuICByZXR1cm4gcm9vdEVsLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5wdXRQcm9wQ2hhbmdlZChwcm9wOiBTaW1wbGVDaGFuZ2UpOiBib29sZWFuIHtcbiAgcmV0dXJuIHByb3AgJiYgIXByb3AuZmlyc3RDaGFuZ2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNXaW5kb3dEZWZpbmVkKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCc7XG59XG4iXX0=