UNPKG

ng-lazyload-image-angular-universal

Version:

This is an extension from ng-lazyload-image, made available for Angular Universal.

62 lines 5.79 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { startWith } from 'rxjs/operators'; import { sharedPreset } from '../shared-preset/preset'; import { isWindowDefined } from '../util'; import { Rect } from './rect'; import { getScrollListener } from './scroll-listener'; /** @type {?} */ export var isVisible = (/** * @param {?} __0 * @param {?=} getWindow * @return {?} */ function (_a, getWindow) { var element = _a.element, offset = _a.offset, scrollContainer = _a.scrollContainer; if (getWindow === void 0) { getWindow = (/** * @return {?} */ function () { return window; }); } /** @type {?} */ var elementBounds = Rect.fromElement(element); if (elementBounds === Rect.empty) { return false; } /** @type {?} */ var windowBounds = Rect.fromWindow(getWindow()); elementBounds.inflate(offset); if (scrollContainer) { /** @type {?} */ var scrollContainerBounds = Rect.fromElement(scrollContainer); /** @type {?} */ var intersection = scrollContainerBounds.getIntersectionWith(windowBounds); return elementBounds.intersectsWith(intersection); } else { return elementBounds.intersectsWith(windowBounds); } }); /** @type {?} */ var getObservable = (/** * @param {?} attributes * @return {?} */ function (attributes) { if (attributes.scrollObservable) { return attributes.scrollObservable.pipe(startWith('')); } if (attributes.scrollContainer) { return getScrollListener(attributes.scrollContainer); } return getScrollListener(isWindowDefined() ? window : undefined); }); var ɵ0 = getObservable; /** @type {?} */ export var scrollPreset = Object.assign({}, sharedPreset, { isVisible: isVisible, getObservable: getObservable }); export { ɵ0 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctbGF6eWxvYWQtaW1hZ2UtYW5ndWxhci11bml2ZXJzYWwvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLXByZXNldC9wcmVzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUV0RCxNQUFNLEtBQU8sU0FBUzs7Ozs7QUFBdUIsVUFBQyxFQUFvQyxFQUFFLFNBQXdCO1FBQTVELG9CQUFPLEVBQUUsa0JBQU0sRUFBRSxvQ0FBZTtJQUFJLDBCQUFBLEVBQUE7OztJQUFZLGNBQU0sT0FBQSxNQUFNLEVBQU4sQ0FBTSxDQUFBOztRQUNwRyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDL0MsSUFBSSxhQUFhLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNoQyxPQUFPLEtBQUssQ0FBQztLQUNkOztRQUNLLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pELGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFOUIsSUFBSSxlQUFlLEVBQUU7O1lBQ2IscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7O1lBQ3pELFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUM7UUFDNUUsT0FBTyxhQUFhLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQ25EO1NBQU07UUFDTCxPQUFPLGFBQWEsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDbkQ7QUFDSCxDQUFDLENBQUE7O0lBRUssYUFBYTs7OztBQUFvQyxVQUFDLFVBQXNCO0lBQzVFLElBQUksVUFBVSxDQUFDLGdCQUFnQixFQUFFO1FBQy9CLE9BQU8sVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN4RDtJQUNELElBQUksVUFBVSxDQUFDLGVBQWUsRUFBRTtRQUM5QixPQUFPLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUN0RDtJQUNELE9BQU8saUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbkUsQ0FBQyxDQUFBOzs7QUFFRCxNQUFNLEtBQU8sWUFBWSxHQUE0QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUU7SUFDbkYsU0FBUyxXQUFBO0lBQ1QsYUFBYSxlQUFBO0NBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNoYXJlZFByZXNldCB9IGZyb20gJy4uL3NoYXJlZC1wcmVzZXQvcHJlc2V0JztcbmltcG9ydCB7IEF0dHJpYnV0ZXMsIEdldE9ic2VydmFibGVGbiwgSG9va1NldCwgSXNWaXNpYmxlRm4gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc1dpbmRvd0RlZmluZWQgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IFJlY3QgfSBmcm9tICcuL3JlY3QnO1xuaW1wb3J0IHsgZ2V0U2Nyb2xsTGlzdGVuZXIgfSBmcm9tICcuL3Njcm9sbC1saXN0ZW5lcic7XG5cbmV4cG9ydCBjb25zdCBpc1Zpc2libGU6IElzVmlzaWJsZUZuPEV2ZW50PiA9ICh7IGVsZW1lbnQsIG9mZnNldCwgc2Nyb2xsQ29udGFpbmVyIH0sIGdldFdpbmRvdyA9ICgpID0+IHdpbmRvdykgPT4ge1xuICBjb25zdCBlbGVtZW50Qm91bmRzID0gUmVjdC5mcm9tRWxlbWVudChlbGVtZW50KTtcbiAgaWYgKGVsZW1lbnRCb3VuZHMgPT09IFJlY3QuZW1wdHkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3Qgd2luZG93Qm91bmRzID0gUmVjdC5mcm9tV2luZG93KGdldFdpbmRvdygpKTtcbiAgZWxlbWVudEJvdW5kcy5pbmZsYXRlKG9mZnNldCk7XG5cbiAgaWYgKHNjcm9sbENvbnRhaW5lcikge1xuICAgIGNvbnN0IHNjcm9sbENvbnRhaW5lckJvdW5kcyA9IFJlY3QuZnJvbUVsZW1lbnQoc2Nyb2xsQ29udGFpbmVyKTtcbiAgICBjb25zdCBpbnRlcnNlY3Rpb24gPSBzY3JvbGxDb250YWluZXJCb3VuZHMuZ2V0SW50ZXJzZWN0aW9uV2l0aCh3aW5kb3dCb3VuZHMpO1xuICAgIHJldHVybiBlbGVtZW50Qm91bmRzLmludGVyc2VjdHNXaXRoKGludGVyc2VjdGlvbik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVsZW1lbnRCb3VuZHMuaW50ZXJzZWN0c1dpdGgod2luZG93Qm91bmRzKTtcbiAgfVxufTtcblxuY29uc3QgZ2V0T2JzZXJ2YWJsZTogR2V0T2JzZXJ2YWJsZUZuPEV2ZW50IHwgU3RyaW5nPiA9IChhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVzKSA9PiB7XG4gIGlmIChhdHRyaWJ1dGVzLnNjcm9sbE9ic2VydmFibGUpIHtcbiAgICByZXR1cm4gYXR0cmlidXRlcy5zY3JvbGxPYnNlcnZhYmxlLnBpcGUoc3RhcnRXaXRoKCcnKSk7XG4gIH1cbiAgaWYgKGF0dHJpYnV0ZXMuc2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgcmV0dXJuIGdldFNjcm9sbExpc3RlbmVyKGF0dHJpYnV0ZXMuc2Nyb2xsQ29udGFpbmVyKTtcbiAgfVxuICByZXR1cm4gZ2V0U2Nyb2xsTGlzdGVuZXIoaXNXaW5kb3dEZWZpbmVkKCkgPyB3aW5kb3cgOiB1bmRlZmluZWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNjcm9sbFByZXNldDogSG9va1NldDxFdmVudCB8IFN0cmluZz4gPSBPYmplY3QuYXNzaWduKHt9LCBzaGFyZWRQcmVzZXQsIHtcbiAgaXNWaXNpYmxlLFxuICBnZXRPYnNlcnZhYmxlXG59KTtcbiJdfQ==