{"version":3,"file":"primeng-defer.umd.js","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})\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","TemplateRef","Directive","Output","ContentChild","CommonModule","NgModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiBI,wBAAmB,EAAc,EAAS,QAAmB,EAAS,aAA+B,EAAU,EAAqB;YAAjH,OAAE,GAAF,EAAE,CAAY;YAAS,aAAQ,GAAR,QAAQ,CAAW;YAAS,kBAAa,GAAb,aAAa,CAAkB;YAAU,OAAE,GAAF,EAAE,CAAmB;YAR1H,WAAM,GAAsB,IAAIA,eAAY,EAAE,CAAC;SAQ+E;QAExI,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;YACnB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;SAC3B;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;;;qIAzDQ,cAAc;8GAAd,cAAc,qHAITC,cAAW;qHAJhB,cAAc;sBAH1BC,YAAS;uBAAC;wBACP,QAAQ,EAAE,UAAU;qBACvB;wOAGa,MAAM;0BAAfC,SAAM;oBAEoB,QAAQ;0BAAlCC,eAAY;2BAACH,cAAW;;;QA6D7B;;;;kIAAa,WAAW;mIAAX,WAAW,iBAjEX,cAAc,aA6DbI,mBAAY,aA7Db,cAAc;mIAiEd,WAAW,YAJX,CAACA,mBAAY,CAAC;qHAId,WAAW;sBALvBC,WAAQ;uBAAC;wBACN,OAAO,EAAE,CAACD,mBAAY,CAAC;wBACvB,OAAO,EAAE,CAAC,cAAc,CAAC;wBACzB,YAAY,EAAE,CAAC,cAAc,CAAC;qBACjC;;;ICvED;;;;;;;;;;;;;"}