forked from cleancodecraft/angular
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchunk-NZCH6BLE.js
1 lines (1 loc) · 1.07 KB
/
chunk-NZCH6BLE.js
1
import{M as f,e as s,j as l,m as c,n as r,o,p as u,s as a}from"./chunk-U4FS7TVV.js";var w=(()=>{let t=class t{constructor(){this.isActiveInfiniteScroll=o(!1),this.infiniteScrollDistance=20,this.scrolled=new r,this.unsubscribe=new s,this._listenSignals()}ngOnDestroy(){this.unsubscribe.next(),this.unsubscribe.complete()}listenScrollWindow(){let i=!1;l(window,"scroll").pipe(c(this.unsubscribe)).subscribe(()=>{let e=this.calculatePositionScroll();!i&&e<=this.infiniteScrollDistance?(i=!0,this.scrolled.emit()):e>=this.infiniteScrollDistance&&(i=!1)})}calculatePositionScroll(){let i=document.documentElement.scrollHeight,e=window.innerHeight,h=window.scrollY||0;return(i-h-e)/i*100}_listenSignals(){f(()=>{this.unsubscribe.next(),this.isActiveInfiniteScroll()&&this.listenScrollWindow()})}};t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=a({type:t,selectors:[["","infiniteScroll",""]],inputs:{isActiveInfiniteScroll:[u.SignalBased,"isActiveInfiniteScroll"],infiniteScrollDistance:"infiniteScrollDistance"},outputs:{scrolled:"scrolled"},standalone:!0});let n=t;return n})();export{w as a};