UNPKG

3.95 kBSource Map (JSON)View Raw
1{"version":3,"file":"primeng-defer.umd.js","sources":["ng://primeng/defer/defer.ts"],"sourcesContent":["import {NgModule,Directive,ElementRef,AfterViewInit,OnDestroy,TemplateRef,EmbeddedViewRef,\n ViewContainerRef,Renderer2,EventEmitter,Output,ContentChild} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\n@Directive({\n selector: '[pDefer]'\n})\nexport class DeferredLoader implements AfterViewInit,OnDestroy {\n \n @Output() onLoad: EventEmitter<any> = new EventEmitter();\n \n @ContentChild(TemplateRef) template: TemplateRef<any>;\n \n documentScrollListener: Function;\n \n view: EmbeddedViewRef<any>;\n \n constructor(public el: ElementRef, public renderer: Renderer2, public viewContainer: ViewContainerRef) {}\n \n ngAfterViewInit() {\n if (this.shouldLoad()) {\n this.load();\n }\n \n if (!this.isLoaded()) {\n this.documentScrollListener = this.renderer.listen('window', 'scroll', () => {\n if (this.shouldLoad()) {\n this.load();\n this.documentScrollListener();\n this.documentScrollListener = null;\n }\n });\n }\n }\n \n shouldLoad(): boolean {\n if (this.isLoaded()) {\n return false;\n }\n else {\n let rect = this.el.nativeElement.getBoundingClientRect();\n let docElement = document.documentElement;\n let winHeight = docElement.clientHeight;\n \n return (winHeight >= rect.top);\n }\n }\n \n load(): void { \n this.view = this.viewContainer.createEmbeddedView(this.template);\n this.onLoad.emit();\n }\n \n isLoaded() {\n return this.view != null;\n }\n \n ngOnDestroy() {\n this.view = null;\n \n if (this.documentScrollListener) {\n this.documentScrollListener();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [DeferredLoader],\n declarations: [DeferredLoader]\n})\nexport class DeferModule { }"],"names":["EventEmitter","ElementRef","Renderer2","ViewContainerRef","Output","ContentChild","TemplateRef","Directive","NgModule","CommonModule"],"mappings":";;;;;;;;;;;;AAAA;QAiBI,wBAAmB,EAAc,EAAS,QAAmB,EAAS,aAA+B;YAAlF,OAAE,GAAF,EAAE,CAAY;YAAS,aAAQ,GAAR,QAAQ,CAAW;YAAS,kBAAa,GAAb,aAAa,CAAkB;YAR3F,WAAM,GAAsB,IAAIA,iBAAY,EAAE,CAAC;SAQgD;QAEzG,wCAAe,GAAf;YAAA,iBAcC;YAbG,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;aACf;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAClB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE;oBACnE,IAAI,KAAI,CAAC,UAAU,EAAE,EAAE;wBACnB,KAAI,CAAC,IAAI,EAAE,CAAC;wBACZ,KAAI,CAAC,sBAAsB,EAAE,CAAC;wBAC9B,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;qBACtC;iBACJ,CAAC,CAAC;aACN;SACJ;QAED,mCAAU,GAAV;YACI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACjB,OAAO,KAAK,CAAC;aAChB;iBACI;gBACD,IAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;gBACzD,IAAI,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC1C,IAAI,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC;gBAExC,QAAQ,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;aAClC;SACJ;QAED,6BAAI,GAAJ;YACI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACtB;QAED,iCAAQ,GAAR;YACI,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;SAC5B;QAED,oCAAW,GAAX;YACI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC7B,IAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC;SACJ;;oBA9CsBC,eAAU;oBAAmBC,cAAS;oBAAwBC,qBAAgB;;QAR3F;YAATC,WAAM,EAAE;sDAAgD;QAE9B;YAA1BC,iBAAY,CAACC,gBAAW,CAAC;wDAA4B;QAJ7C,cAAc;YAH1BC,cAAS,CAAC;gBACP,QAAQ,EAAE,UAAU;aACvB,CAAC;WACW,cAAc,CAyD1B;QAAD,qBAAC;KAzDD,IAyDC;;QAOD;SAA4B;QAAf,WAAW;YALvBC,aAAQ,CAAC;gBACN,OAAO,EAAE,CAACC,mBAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,cAAc,CAAC;gBACzB,YAAY,EAAE,CAAC,cAAc,CAAC;aACjC,CAAC;WACW,WAAW,CAAI;QAAD,kBAAC;KAA5B;;;;;;;;;;;;;"}
\No newline at end of file