primeng
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primeng) [
{"version":3,"file":"primeng-defer.mjs","sources":["../../src/app/components/defer/defer.ts","../../src/app/components/defer/primeng-defer.ts"],"sourcesContent":["import {NgModule,Directive,ElementRef,AfterViewInit,OnDestroy,TemplateRef,EmbeddedViewRef,\n ViewContainerRef,Renderer2,EventEmitter,Output,ContentChild, ChangeDetectorRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\n@Directive({\n selector: '[pDefer]',\n host: {\n 'class': 'p-element'\n }\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, private cd: ChangeDetectorRef) {}\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 this.cd.detectChanges();\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 { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}