Commit 17282a9f by Emile TAVERNE

Modification composant in viewport

parent 6d92b3e8
...@@ -13,11 +13,22 @@ ...@@ -13,11 +13,22 @@
function InViewportComponent() { function InViewportComponent() {
} }
/**
* @param {?} event
* @return {?}
*/
InViewportComponent.prototype.onViewportChange = /**
* @param {?} event
* @return {?}
*/
function (event) {
console.log(event);
};
InViewportComponent.decorators = [ InViewportComponent.decorators = [
{ {
type: core.Component, args: [{ type: core.Component, args: [{
selector: 'aiut-in-viewport', selector: 'aiut-in-viewport',
template: "<div (inViewport)=\"showMyElement = $event.isIntersecting\" aiutInViewport>\r\n <ng-content *ngIf=\"showMyElement\"></ng-content>\r\n</div>\r\n" template: "<div (inViewport)=\"onViewportChange($event)\" aiutInViewport>\r\n <ng-content></ng-content>\r\n</div>\r\n"
}] }]
} }
]; ];
......
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("aitp-utils",["exports","@angular/common","@angular/core","rxjs","rxjs/operators"],t):t(e["aitp-utils"]={},e.ng.common,e.ng.core,e.rxjs,e.rxjs.operators)}(this,function(e,n,r,t,o){"use strict";var i=function(){function e(){}return e.decorators=[{type:r.Component,args:[{selector:"aiut-in-viewport",template:'<div (inViewport)="showMyElement = $event.isIntersecting" aiutInViewport>\r\n <ng-content *ngIf="showMyElement"></ng-content>\r\n</div>\r\n'}]}],e}(),s=function(){function e(){this.options={rootMargin:"0px 0px 0px 0px",threshold:[.5]},this.callback$=new t.Subject,this.observer=new IntersectionObserver(this.handler.bind(this),this.options)}return e.prototype.observe=function(t){var e=this;return this.observer.observe(t),this.callback$.asObservable().pipe(o.filter(function(e){return e.target===t}),o.finalize(function(){return e.observer.unobserve(t)}))},e.prototype.handler=function(e){var t=this;e.forEach(function(e){return t.callback$.next(e)})},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[]},e}(),p=Symbol("destroy$"),c=function(e){return e[p]===undefined&&u(e),o.takeUntil(e[p])};function u(n){n[p]=new t.Observable(function(e){var t=n.ngOnDestroy;if(null==t)throw new Error("untilDestroy operator needs the component to have an ngOnDestroy method");return n.ngOnDestroy=function(){e.next(),e.complete(),t.call(n)},function(e){return n[p]=undefined}})}var a=function(){function e(e,t,n){this.elementRef=e,this.viewportService=t,this.platformId=n,this.preRender=!0,this.oneTime=!1,this.inViewport=new r.EventEmitter}return e.prototype.ngOnInit=function(){var t=this;n.isPlatformBrowser(this.platformId)?this.oneTime?this.viewportService.observe(this.elementRef.nativeElement).pipe(c(this),o.filter(function(e){return.5<=e.intersectionRatio}),o.take(1)).subscribe(function(e){t.inViewport.emit(e)}):this.viewportService.observe(this.elementRef.nativeElement).pipe(c(this)).subscribe(function(e){t.inViewport.emit(e)}):this.preRender&&this.inViewport.emit({isIntersecting:!0,intersectionRatio:1})},e.prototype.ngOnDestroy=function(){},e.decorators=[{type:r.Directive,args:[{selector:"[aiutInViewport]"}]}],e.ctorParameters=function(){return[{type:r.ElementRef},{type:s},{type:Object,decorators:[{type:r.Inject,args:[r.PLATFORM_ID]}]}]},e.propDecorators={preRender:[{type:r.Input}],oneTime:[{type:r.Input}],inViewport:[{type:r.Output}]},e}(),l=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[n.CommonModule],declarations:[a,i],providers:[s],exports:[a,i]}]}],e}();e.AitpUtilsModule=l,e.InViewportComponent=i,e.InViewportDirective=a,e.addDestroyObservableToComponent=u,e.destroy$=p,e.untilDestroy=c,e.ViewportService=s,e.ɵb=i,e.ɵa=a,e.ɵc=s,Object.defineProperty(e,"__esModule",{value:!0})}); !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("aitp-utils",["exports","@angular/common","@angular/core","rxjs","rxjs/operators"],t):t(e["aitp-utils"]={},e.ng.common,e.ng.core,e.rxjs,e.rxjs.operators)}(this,function(e,n,r,t,o){"use strict";var i=function(){function e(){}return e.prototype.onViewportChange=function(e){console.log(e)},e.decorators=[{type:r.Component,args:[{selector:"aiut-in-viewport",template:'<div (inViewport)="onViewportChange($event)" aiutInViewport>\r\n <ng-content></ng-content>\r\n</div>\r\n'}]}],e}(),s=function(){function e(){this.options={rootMargin:"0px 0px 0px 0px",threshold:[.5]},this.callback$=new t.Subject,this.observer=new IntersectionObserver(this.handler.bind(this),this.options)}return e.prototype.observe=function(t){var e=this;return this.observer.observe(t),this.callback$.asObservable().pipe(o.filter(function(e){return e.target===t}),o.finalize(function(){return e.observer.unobserve(t)}))},e.prototype.handler=function(e){var t=this;e.forEach(function(e){return t.callback$.next(e)})},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[]},e}(),p=Symbol("destroy$"),c=function(e){return e[p]===undefined&&u(e),o.takeUntil(e[p])};function u(n){n[p]=new t.Observable(function(e){var t=n.ngOnDestroy;if(null==t)throw new Error("untilDestroy operator needs the component to have an ngOnDestroy method");return n.ngOnDestroy=function(){e.next(),e.complete(),t.call(n)},function(e){return n[p]=undefined}})}var a=function(){function e(e,t,n){this.elementRef=e,this.viewportService=t,this.platformId=n,this.preRender=!0,this.oneTime=!1,this.inViewport=new r.EventEmitter}return e.prototype.ngOnInit=function(){var t=this;n.isPlatformBrowser(this.platformId)?this.oneTime?this.viewportService.observe(this.elementRef.nativeElement).pipe(c(this),o.filter(function(e){return.5<=e.intersectionRatio}),o.take(1)).subscribe(function(e){t.inViewport.emit(e)}):this.viewportService.observe(this.elementRef.nativeElement).pipe(c(this)).subscribe(function(e){t.inViewport.emit(e)}):this.preRender&&this.inViewport.emit({isIntersecting:!0,intersectionRatio:1})},e.prototype.ngOnDestroy=function(){},e.decorators=[{type:r.Directive,args:[{selector:"[aiutInViewport]"}]}],e.ctorParameters=function(){return[{type:r.ElementRef},{type:s},{type:Object,decorators:[{type:r.Inject,args:[r.PLATFORM_ID]}]}]},e.propDecorators={preRender:[{type:r.Input}],oneTime:[{type:r.Input}],inViewport:[{type:r.Output}]},e}(),l=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[n.CommonModule],declarations:[a,i],providers:[s],exports:[a,i]}]}],e}();e.AitpUtilsModule=l,e.InViewportComponent=i,e.InViewportDirective=a,e.addDestroyObservableToComponent=u,e.destroy$=p,e.untilDestroy=c,e.ViewportService=s,e.ɵb=i,e.ɵa=a,e.ɵc=s,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=aitp-utils.umd.min.js.map //# sourceMappingURL=aitp-utils.umd.min.js.map
\ No newline at end of file
...@@ -9,6 +9,11 @@ ...@@ -9,6 +9,11 @@
], ],
"names": [ "names": [
"InViewportComponent", "InViewportComponent",
"prototype",
"onViewportChange",
"event",
"console",
"log",
"Component", "Component",
"args", "args",
"selector", "selector",
...@@ -24,7 +29,6 @@ ...@@ -24,7 +29,6 @@
"IntersectionObserver", "IntersectionObserver",
"handler", "handler",
"bind", "bind",
"prototype",
"observe", "observe",
"element", "element",
"_this", "_this",
...@@ -89,9 +93,9 @@ ...@@ -89,9 +93,9 @@
"Services.ViewportService", "Services.ViewportService",
"exports" "exports"
], ],
"mappings": "2ZAAA,IAAAA,EAAA,WAEA,SAAAA,KAMA,2BANCC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,mBACVC,SAAA,mJAIFJ,EARA,GCAAK,EAAA,WAaE,SAAAA,IAPiBC,KAAAC,QAAoC,CACnDC,WAAY,kBACZC,UAAW,CAAC,KAGNH,KAAAI,UAAgD,IAAIC,EAAAA,QAG1DL,KAAKM,SAAW,IAAIC,qBAAqBP,KAAKQ,QAAQC,KAAKT,MAAOA,KAAKC,SAe3E,OAZEF,EAAAW,UAAAC,QAAA,SAAQC,GAAR,IAAAC,EAAAb,KAGE,OAFAA,KAAKM,SAASK,QAAQC,GAEfZ,KAAKI,UAAUU,eAAeC,KACnCC,EAAAA,OAAM,SAAEC,GAAqC,OAAAA,EAAMC,SAAWN,IAC9DO,EAAAA,SAAQ,WAAO,OAAAN,EAAKP,SAASc,UAAUR,OAInCb,EAAAW,UAAAF,QAAR,SAAgBa,GAAhB,IAAAR,EAAAb,KACEqB,EAAQC,QAAO,SAACL,GAAS,OAAAJ,EAAKT,UAAUmB,KAAKN,0BAvBhDO,EAAAA,mDAyBDzB,EA7BA,GCMa0B,EAAWC,OAAO,YAMlBC,EAAY,SAAOC,GAO9B,OANIA,EAAUH,KAAcI,WAE1BC,EAAgCF,GAI3BG,EAAAA,UAAaH,EAAUH,KAMhC,SAAgBK,EAAgCF,GAC9CA,EAAUH,GAAY,IAAIO,EAAAA,WAAU,SAAO1B,OAGnC2B,EAAiBL,EAAUM,YACjC,GAAsB,MAAlBD,EAGF,MAAM,IAAIE,MAAM,2EAYlB,OATAP,EAAUM,YAAW,WAEnB5B,EAASiB,OAETjB,EAAS8B,WAETH,EAAeI,KAAKT,IAGtB,SAAQU,GAAW,OAACV,EAAUH,GAAYI,aC7C9C,IAAAU,EAAA,WAcE,SAAAA,EACmBC,EACTC,EACqBC,GAFZ1C,KAAAwC,WAAAA,EACTxC,KAAAyC,gBAAAA,EACqBzC,KAAA0C,WAAAA,EAPf1C,KAAA2C,WAAY,EACZ3C,KAAA4C,SAAU,EACP5C,KAAA6C,WAAa,IAAIC,EAAAA,aAuCtC,OA9BSP,EAAA7B,UAAAqC,SAAP,WAAA,IAAAlC,EAAAb,KACMgD,EAAAA,kBAAkBhD,KAAK0C,YACrB1C,KAAK4C,QACP5C,KAAKyC,gBACF9B,QAAQX,KAAKwC,WAAWS,eACxBlC,KACCY,EAAa3B,MACbgB,EAAAA,OAAM,SAACC,GAAS,MAA2B,IAA3BA,EAAMiC,oBACtBC,EAAAA,KAAK,IAENC,UAAS,SAAEnC,GACVJ,EAAKgC,WAAWQ,KAAKpC,KAGzBjB,KAAKyC,gBACF9B,QAAQX,KAAKwC,WAAWS,eACxBlC,KAAKY,EAAa3B,OAClBoD,UAAS,SAAEnC,GACVJ,EAAKgC,WAAWQ,KAAKpC,KAIvBjB,KAAK2C,WACP3C,KAAK6C,WAAWQ,KAAK,CAACC,gBAAgB,EAAMJ,kBAAmB,KAKrEX,EAAA7B,UAAAwB,YAAA,iCA3CDqB,EAAAA,UAAS3D,KAAA,CAAC,CACTC,SAAU,gEAPO2D,EAAAA,kBAGXzD,SAcqC0D,OAAMC,WAAA,CAAA,CAAAC,KAA9CC,EAAAA,OAAMhE,KAAA,CAACiE,EAAAA,qDAPTC,EAAAA,uBACAA,EAAAA,0BACAC,EAAAA,UAuCHxB,EAnDA,GCAAyB,EAAA,WAOA,SAAAA,KAM+B,2BAN9BC,EAAAA,SAAQrE,KAAA,CAAC,CACRsE,QAAS,CAACC,EAAAA,cACVC,aAAc,CAACC,EAAgCC,GAC/CC,UAAW,CAACC,GACZC,QAAS,CAACJ,EAAgCC,OAEbN,EAb/B", "mappings": "2ZAAA,IAAAA,EAAA,WAEA,SAAAA,KASA,OAHEA,EAAAC,UAAAC,iBAAA,SAAiBC,GACfC,QAAQC,IAAIF,wBAPfG,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,mBACVC,SAAA,gHAOFT,EAXA,GCAAU,EAAA,WAaE,SAAAA,IAPiBC,KAAAC,QAAoC,CACnDC,WAAY,kBACZC,UAAW,CAAC,KAGNH,KAAAI,UAAgD,IAAIC,EAAAA,QAG1DL,KAAKM,SAAW,IAAIC,qBAAqBP,KAAKQ,QAAQC,KAAKT,MAAOA,KAAKC,SAe3E,OAZEF,EAAAT,UAAAoB,QAAA,SAAQC,GAAR,IAAAC,EAAAZ,KAGE,OAFAA,KAAKM,SAASI,QAAQC,GAEfX,KAAKI,UAAUS,eAAeC,KACnCC,EAAAA,OAAM,SAAEC,GAAqC,OAAAA,EAAMC,SAAWN,IAC9DO,EAAAA,SAAQ,WAAO,OAAAN,EAAKN,SAASa,UAAUR,OAInCZ,EAAAT,UAAAkB,QAAR,SAAgBY,GAAhB,IAAAR,EAAAZ,KACEoB,EAAQC,QAAO,SAACL,GAAS,OAAAJ,EAAKR,UAAUkB,KAAKN,0BAvBhDO,EAAAA,mDAyBDxB,EA7BA,GCMayB,EAAWC,OAAO,YAMlBC,EAAY,SAAOC,GAO9B,OANIA,EAAUH,KAAcI,WAE1BC,EAAgCF,GAI3BG,EAAAA,UAAaH,EAAUH,KAMhC,SAAgBK,EAAgCF,GAC9CA,EAAUH,GAAY,IAAIO,EAAAA,WAAU,SAAOzB,OAGnC0B,EAAiBL,EAAUM,YACjC,GAAsB,MAAlBD,EAGF,MAAM,IAAIE,MAAM,2EAYlB,OATAP,EAAUM,YAAW,WAEnB3B,EAASgB,OAEThB,EAAS6B,WAETH,EAAeI,KAAKT,IAGtB,SAAQU,GAAW,OAACV,EAAUH,GAAYI,aC7C9C,IAAAU,EAAA,WAcE,SAAAA,EACmBC,EACTC,EACqBC,GAFZzC,KAAAuC,WAAAA,EACTvC,KAAAwC,gBAAAA,EACqBxC,KAAAyC,WAAAA,EAPfzC,KAAA0C,WAAY,EACZ1C,KAAA2C,SAAU,EACP3C,KAAA4C,WAAa,IAAIC,EAAAA,aAuCtC,OA9BSP,EAAAhD,UAAAwD,SAAP,WAAA,IAAAlC,EAAAZ,KACM+C,EAAAA,kBAAkB/C,KAAKyC,YACrBzC,KAAK2C,QACP3C,KAAKwC,gBACF9B,QAAQV,KAAKuC,WAAWS,eACxBlC,KACCY,EAAa1B,MACbe,EAAAA,OAAM,SAACC,GAAS,MAA2B,IAA3BA,EAAMiC,oBACtBC,EAAAA,KAAK,IAENC,UAAS,SAAEnC,GACVJ,EAAKgC,WAAWQ,KAAKpC,KAGzBhB,KAAKwC,gBACF9B,QAAQV,KAAKuC,WAAWS,eACxBlC,KAAKY,EAAa1B,OAClBmD,UAAS,SAAEnC,GACVJ,EAAKgC,WAAWQ,KAAKpC,KAIvBhB,KAAK0C,WACP1C,KAAK4C,WAAWQ,KAAK,CAACC,gBAAgB,EAAMJ,kBAAmB,KAKrEX,EAAAhD,UAAA2C,YAAA,iCA3CDqB,EAAAA,UAAS1D,KAAA,CAAC,CACTC,SAAU,gEAPO0D,EAAAA,kBAGXxD,SAcqCyD,OAAMC,WAAA,CAAA,CAAAC,KAA9CC,EAAAA,OAAM/D,KAAA,CAACgE,EAAAA,qDAPTC,EAAAA,uBACAA,EAAAA,0BACAC,EAAAA,UAuCHxB,EAnDA,GCAAyB,EAAA,WAOA,SAAAA,KAM+B,2BAN9BC,EAAAA,SAAQpE,KAAA,CAAC,CACRqE,QAAS,CAACC,EAAAA,cACVC,aAAc,CAACC,EAAgCC,GAC/CC,UAAW,CAACC,GACZC,QAAS,CAACJ,EAAgCC,OAEbN,EAb/B",
"sourcesContent": [ "sourcesContent": [
"import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'aiut-in-viewport',\r\n templateUrl: './in-viewport.component.html'\r\n})\r\nexport class InViewportComponent {\r\n showMyElement: false;\r\n}\r\n", "import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'aiut-in-viewport',\r\n templateUrl: './in-viewport.component.html'\r\n})\r\nexport class InViewportComponent {\r\n\r\n onViewportChange(event) {\r\n console.log(event);\r\n }\r\n}\r\n",
"import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport {filter, finalize} from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ViewportService {\r\n private readonly options: IntersectionObserverInit = {\r\n rootMargin: '0px 0px 0px 0px',\r\n threshold: [0.5],\r\n };\r\n private observer: IntersectionObserver;\r\n private callback$: Subject<IntersectionObserverEntry> = new Subject();\r\n\r\n constructor() {\r\n this.observer = new IntersectionObserver(this.handler.bind(this), this.options);\r\n }\r\n\r\n observe(element: Element): Observable<IntersectionObserverEntry> {\r\n this.observer.observe(element);\r\n\r\n return this.callback$.asObservable().pipe(\r\n filter((entry: IntersectionObserverEntry) => entry.target === element),\r\n finalize(() => this.observer.unobserve(element)),\r\n );\r\n }\r\n\r\n private handler(entries: Array<IntersectionObserverEntry>): void {\r\n entries.forEach(entry => this.callback$.next(entry));\r\n }\r\n}\r\n", "import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport {filter, finalize} from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ViewportService {\r\n private readonly options: IntersectionObserverInit = {\r\n rootMargin: '0px 0px 0px 0px',\r\n threshold: [0.5],\r\n };\r\n private observer: IntersectionObserver;\r\n private callback$: Subject<IntersectionObserverEntry> = new Subject();\r\n\r\n constructor() {\r\n this.observer = new IntersectionObserver(this.handler.bind(this), this.options);\r\n }\r\n\r\n observe(element: Element): Observable<IntersectionObserverEntry> {\r\n this.observer.observe(element);\r\n\r\n return this.callback$.asObservable().pipe(\r\n filter((entry: IntersectionObserverEntry) => entry.target === element),\r\n finalize(() => this.observer.unobserve(element)),\r\n );\r\n }\r\n\r\n private handler(entries: Array<IntersectionObserverEntry>): void {\r\n entries.forEach(entry => this.callback$.next(entry));\r\n }\r\n}\r\n",
"import {MonoTypeOperatorFunction, Observable} from 'rxjs';\r\nimport {takeUntil} from 'rxjs/operators';\r\n\r\n// create a symbol identify the observable I add to\r\n// the component so it doesn't conflict with anything.\r\n// I need this so I'm able to add the desired behaviour to the component.\r\nexport const destroy$ = Symbol('destroy$');\r\n\r\n/**\r\n * An operator that takes until destroy it takes a components this a parameter\r\n * returns a pipeable RxJS operator.\r\n */\r\nexport const untilDestroy = <T>(component: any): MonoTypeOperatorFunction<T> => {\r\n if (component[destroy$] === undefined) {\r\n // only hookup each component once.\r\n addDestroyObservableToComponent(component);\r\n }\r\n\r\n // pipe in the takeUntil destroy$ and return the source unaltered\r\n return takeUntil<T>(component[destroy$]);\r\n};\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function addDestroyObservableToComponent(component: any) {\r\n component[destroy$] = new Observable<void>(observer => {\r\n // keep track of the original destroy function,\r\n // the user might do something in there\r\n const orignalDestroy = component.ngOnDestroy;\r\n if (orignalDestroy == null) {\r\n // Angular does not support dynamic added destroy methods\r\n // so make sure there is one.\r\n throw new Error('untilDestroy operator needs the component to have an ngOnDestroy method');\r\n }\r\n // replace the ngOndestroy\r\n component.ngOnDestroy = () => {\r\n // fire off the destroy observable\r\n observer.next();\r\n // complete the observable\r\n observer.complete();\r\n // and at last, call the original destroy\r\n orignalDestroy.call(component);\r\n };\r\n // return cleanup function.\r\n return (_: any) => (component[destroy$] = undefined);\r\n });\r\n}\r\n", "import {MonoTypeOperatorFunction, Observable} from 'rxjs';\r\nimport {takeUntil} from 'rxjs/operators';\r\n\r\n// create a symbol identify the observable I add to\r\n// the component so it doesn't conflict with anything.\r\n// I need this so I'm able to add the desired behaviour to the component.\r\nexport const destroy$ = Symbol('destroy$');\r\n\r\n/**\r\n * An operator that takes until destroy it takes a components this a parameter\r\n * returns a pipeable RxJS operator.\r\n */\r\nexport const untilDestroy = <T>(component: any): MonoTypeOperatorFunction<T> => {\r\n if (component[destroy$] === undefined) {\r\n // only hookup each component once.\r\n addDestroyObservableToComponent(component);\r\n }\r\n\r\n // pipe in the takeUntil destroy$ and return the source unaltered\r\n return takeUntil<T>(component[destroy$]);\r\n};\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function addDestroyObservableToComponent(component: any) {\r\n component[destroy$] = new Observable<void>(observer => {\r\n // keep track of the original destroy function,\r\n // the user might do something in there\r\n const orignalDestroy = component.ngOnDestroy;\r\n if (orignalDestroy == null) {\r\n // Angular does not support dynamic added destroy methods\r\n // so make sure there is one.\r\n throw new Error('untilDestroy operator needs the component to have an ngOnDestroy method');\r\n }\r\n // replace the ngOndestroy\r\n component.ngOnDestroy = () => {\r\n // fire off the destroy observable\r\n observer.next();\r\n // complete the observable\r\n observer.complete();\r\n // and at last, call the original destroy\r\n orignalDestroy.call(component);\r\n };\r\n // return cleanup function.\r\n return (_: any) => (component[destroy$] = undefined);\r\n });\r\n}\r\n",
"import {Directive, ElementRef, EventEmitter, Inject, Input, OnDestroy, OnInit, Output, PLATFORM_ID,} from '@angular/core';\r\nimport {isPlatformBrowser} from '@angular/common';\r\nimport {filter, take} from 'rxjs/operators';\r\nimport {ViewportService} from '../services';\r\nimport {untilDestroy} from '../operators';\r\n\r\n@Directive({\r\n selector: '[aiutInViewport]',\r\n})\r\nexport class InViewportDirective implements OnInit, OnDestroy {\r\n @Input() public preRender = true;\r\n @Input() public oneTime = false;\r\n @Output() readonly inViewport = new EventEmitter<Partial<IntersectionObserverEntry>>();\r\n\r\n constructor(\r\n private readonly elementRef: ElementRef,\r\n private viewportService: ViewportService,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n ) {\r\n }\r\n\r\n public ngOnInit() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n if (this.oneTime) {\r\n this.viewportService\r\n .observe(this.elementRef.nativeElement)\r\n .pipe(\r\n untilDestroy(this),\r\n filter(entry => entry.intersectionRatio >= 0.5),\r\n take(1),\r\n )\r\n .subscribe((entry: IntersectionObserverEntry) => {\r\n this.inViewport.emit(entry);\r\n });\r\n } else {\r\n this.viewportService\r\n .observe(this.elementRef.nativeElement)\r\n .pipe(untilDestroy(this))\r\n .subscribe((entry: IntersectionObserverEntry) => {\r\n this.inViewport.emit(entry);\r\n });\r\n }\r\n } else {\r\n if (this.preRender) {\r\n this.inViewport.emit({isIntersecting: true, intersectionRatio: 1});\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n}\r\n", "import {Directive, ElementRef, EventEmitter, Inject, Input, OnDestroy, OnInit, Output, PLATFORM_ID,} from '@angular/core';\r\nimport {isPlatformBrowser} from '@angular/common';\r\nimport {filter, take} from 'rxjs/operators';\r\nimport {ViewportService} from '../services';\r\nimport {untilDestroy} from '../operators';\r\n\r\n@Directive({\r\n selector: '[aiutInViewport]',\r\n})\r\nexport class InViewportDirective implements OnInit, OnDestroy {\r\n @Input() public preRender = true;\r\n @Input() public oneTime = false;\r\n @Output() readonly inViewport = new EventEmitter<Partial<IntersectionObserverEntry>>();\r\n\r\n constructor(\r\n private readonly elementRef: ElementRef,\r\n private viewportService: ViewportService,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n ) {\r\n }\r\n\r\n public ngOnInit() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n if (this.oneTime) {\r\n this.viewportService\r\n .observe(this.elementRef.nativeElement)\r\n .pipe(\r\n untilDestroy(this),\r\n filter(entry => entry.intersectionRatio >= 0.5),\r\n take(1),\r\n )\r\n .subscribe((entry: IntersectionObserverEntry) => {\r\n this.inViewport.emit(entry);\r\n });\r\n } else {\r\n this.viewportService\r\n .observe(this.elementRef.nativeElement)\r\n .pipe(untilDestroy(this))\r\n .subscribe((entry: IntersectionObserverEntry) => {\r\n this.inViewport.emit(entry);\r\n });\r\n }\r\n } else {\r\n if (this.preRender) {\r\n this.inViewport.emit({isIntersecting: true, intersectionRatio: 1});\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n}\r\n",
......
...@@ -10,7 +10,6 @@ import * as Services from './services'; ...@@ -10,7 +10,6 @@ import * as Services from './services';
export class AitpUtilsModule { export class AitpUtilsModule {
} }
AitpUtilsModule.decorators = [ AitpUtilsModule.decorators = [
{ {
type: NgModule, args: [{ type: NgModule, args: [{
......
...@@ -5,18 +5,20 @@ ...@@ -5,18 +5,20 @@
import {Component} from '@angular/core'; import {Component} from '@angular/core';
export class InViewportComponent { export class InViewportComponent {
/**
* @param {?} event
* @return {?}
*/
onViewportChange(event) {
console.log(event);
}
} }
InViewportComponent.decorators = [ InViewportComponent.decorators = [
{ {
type: Component, args: [{ type: Component, args: [{
selector: 'aiut-in-viewport', selector: 'aiut-in-viewport',
template: "<div (inViewport)=\"showMyElement = $event.isIntersecting\" aiutInViewport>\r\n <ng-content *ngIf=\"showMyElement\"></ng-content>\r\n</div>\r\n" template: "<div (inViewport)=\"onViewportChange($event)\" aiutInViewport>\r\n <ng-content></ng-content>\r\n</div>\r\n"
}] }]
} }
]; ];
if (false) { //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tdmlld3BvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYWl0cC11dGlscy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luLXZpZXdwb3J0L2luLXZpZXdwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU14QyxNQUFNLE9BQU8sbUJBQW1COzs7OztJQUU5QixnQkFBZ0IsQ0FBQyxLQUFLO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQzs7O1lBUkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHVIQUEyQzthQUM1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWl1dC1pbi12aWV3cG9ydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2luLXZpZXdwb3J0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5WaWV3cG9ydENvbXBvbmVudCB7XHJcblxyXG4gIG9uVmlld3BvcnRDaGFuZ2UoZXZlbnQpIHtcclxuICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcclxuICB9XHJcbn1cclxuIl19
/** @type {?} */
InViewportComponent.prototype.showMyElement;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tdmlld3BvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYWl0cC11dGlscy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luLXZpZXdwb3J0L2luLXZpZXdwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU14QyxNQUFNLE9BQU8sbUJBQW1COzs7WUFKL0IsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLDRKQUEyQzthQUM1Qzs7OztJQUVDLDRDQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWl1dC1pbi12aWV3cG9ydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2luLXZpZXdwb3J0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5WaWV3cG9ydENvbXBvbmVudCB7XHJcbiAgc2hvd015RWxlbWVudDogZmFsc2U7XHJcbn1cclxuIl19
...@@ -68,7 +68,6 @@ export class InViewportDirective { ...@@ -68,7 +68,6 @@ export class InViewportDirective {
ngOnDestroy() { ngOnDestroy() {
} }
} }
InViewportDirective.decorators = [ InViewportDirective.decorators = [
{ {
type: Directive, args: [{ type: Directive, args: [{
......
...@@ -27,7 +27,6 @@ export const untilDestroy = (/** ...@@ -27,7 +27,6 @@ export const untilDestroy = (/**
// pipe in the takeUntil destroy$ and return the source unaltered // pipe in the takeUntil destroy$ and return the source unaltered
return takeUntil(component[destroy$]); return takeUntil(component[destroy$]);
}); });
/** /**
* \@internal * \@internal
* @param {?} component * @param {?} component
...@@ -68,5 +67,4 @@ export function addDestroyObservableToComponent(component) { ...@@ -68,5 +67,4 @@ export function addDestroyObservableToComponent(component) {
(_) => (component[destroy$] = undefined)); (_) => (component[destroy$] = undefined));
})); }));
} }
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW50aWwtZGVzdHJveS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FpdHAtdXRpbHMvIiwic291cmNlcyI6WyJsaWIvb3BlcmF0b3JzL3VudGlsLWRlc3Ryb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBMkIsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLekMsTUFBTSxPQUFPLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDOzs7Ozs7QUFNMUMsTUFBTSxPQUFPLFlBQVk7Ozs7O0FBQUcsQ0FBSSxTQUFjLEVBQStCLEVBQUU7SUFDN0UsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssU0FBUyxFQUFFO1FBQ3JDLG1DQUFtQztRQUNuQywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUM1QztJQUVELGlFQUFpRTtJQUNqRSxPQUFPLFNBQVMsQ0FBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUE7Ozs7OztBQUtELE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxTQUFjO0lBQzVELFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLFVBQVU7Ozs7SUFBTyxRQUFRLENBQUMsRUFBRTs7OztjQUc5QyxjQUFjLEdBQUcsU0FBUyxDQUFDLFdBQVc7UUFDNUMsSUFBSSxjQUFjLElBQUksSUFBSSxFQUFFO1lBQzFCLHlEQUF5RDtZQUN6RCw2QkFBNkI7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO1NBQzVGO1FBQ0QsMEJBQTBCO1FBQzFCLFNBQVMsQ0FBQyxXQUFXOzs7UUFBRyxHQUFHLEVBQUU7WUFDM0Isa0NBQWtDO1lBQ2xDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQiwwQkFBMEI7WUFDMUIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLHlDQUF5QztZQUN6QyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQSxDQUFDO1FBQ0YsMkJBQTJCO1FBQzNCOzs7O1FBQU8sQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFDO0lBQ3ZELENBQUMsRUFBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8vIGNyZWF0ZSBhIHN5bWJvbCBpZGVudGlmeSB0aGUgb2JzZXJ2YWJsZSBJIGFkZCB0b1xyXG4vLyB0aGUgY29tcG9uZW50IHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCBhbnl0aGluZy5cclxuLy8gSSBuZWVkIHRoaXMgc28gSSdtIGFibGUgdG8gYWRkIHRoZSBkZXNpcmVkIGJlaGF2aW91ciB0byB0aGUgY29tcG9uZW50LlxyXG5leHBvcnQgY29uc3QgZGVzdHJveSQgPSBTeW1ib2woJ2Rlc3Ryb3kkJyk7XHJcblxyXG4vKipcclxuICogQW4gb3BlcmF0b3IgdGhhdCB0YWtlcyB1bnRpbCBkZXN0cm95IGl0IHRha2VzIGEgY29tcG9uZW50cyB0aGlzIGEgcGFyYW1ldGVyXHJcbiAqIHJldHVybnMgYSBwaXBlYWJsZSBSeEpTIG9wZXJhdG9yLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHVudGlsRGVzdHJveSA9IDxUPihjb21wb25lbnQ6IGFueSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiA9PiB7XHJcbiAgaWYgKGNvbXBvbmVudFtkZXN0cm95JF0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgLy8gb25seSBob29rdXAgZWFjaCBjb21wb25lbnQgb25jZS5cclxuICAgIGFkZERlc3Ryb3lPYnNlcnZhYmxlVG9Db21wb25lbnQoY29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIC8vIHBpcGUgaW4gdGhlIHRha2VVbnRpbCBkZXN0cm95JCBhbmQgcmV0dXJuIHRoZSBzb3VyY2UgdW5hbHRlcmVkXHJcbiAgcmV0dXJuIHRha2VVbnRpbDxUPihjb21wb25lbnRbZGVzdHJveSRdKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGREZXN0cm95T2JzZXJ2YWJsZVRvQ29tcG9uZW50KGNvbXBvbmVudDogYW55KSB7XHJcbiAgY29tcG9uZW50W2Rlc3Ryb3kkXSA9IG5ldyBPYnNlcnZhYmxlPHZvaWQ+KG9ic2VydmVyID0+IHtcclxuICAgIC8vIGtlZXAgdHJhY2sgb2YgdGhlIG9yaWdpbmFsIGRlc3Ryb3kgZnVuY3Rpb24sXHJcbiAgICAvLyB0aGUgdXNlciBtaWdodCBkbyBzb21ldGhpbmcgaW4gdGhlcmVcclxuICAgIGNvbnN0IG9yaWduYWxEZXN0cm95ID0gY29tcG9uZW50Lm5nT25EZXN0cm95O1xyXG4gICAgaWYgKG9yaWduYWxEZXN0cm95ID09IG51bGwpIHtcclxuICAgICAgLy8gQW5ndWxhciBkb2VzIG5vdCBzdXBwb3J0IGR5bmFtaWMgYWRkZWQgZGVzdHJveSBtZXRob2RzXHJcbiAgICAgIC8vIHNvIG1ha2Ugc3VyZSB0aGVyZSBpcyBvbmUuXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcigndW50aWxEZXN0cm95IG9wZXJhdG9yIG5lZWRzIHRoZSBjb21wb25lbnQgdG8gaGF2ZSBhbiBuZ09uRGVzdHJveSBtZXRob2QnKTtcclxuICAgIH1cclxuICAgIC8vIHJlcGxhY2UgdGhlIG5nT25kZXN0cm95XHJcbiAgICBjb21wb25lbnQubmdPbkRlc3Ryb3kgPSAoKSA9PiB7XHJcbiAgICAgIC8vIGZpcmUgb2ZmIHRoZSBkZXN0cm95IG9ic2VydmFibGVcclxuICAgICAgb2JzZXJ2ZXIubmV4dCgpO1xyXG4gICAgICAvLyBjb21wbGV0ZSB0aGUgb2JzZXJ2YWJsZVxyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAvLyBhbmQgYXQgbGFzdCwgY2FsbCB0aGUgb3JpZ2luYWwgZGVzdHJveVxyXG4gICAgICBvcmlnbmFsRGVzdHJveS5jYWxsKGNvbXBvbmVudCk7XHJcbiAgICB9O1xyXG4gICAgLy8gcmV0dXJuIGNsZWFudXAgZnVuY3Rpb24uXHJcbiAgICByZXR1cm4gKF86IGFueSkgPT4gKGNvbXBvbmVudFtkZXN0cm95JF0gPSB1bmRlZmluZWQpO1xyXG4gIH0pO1xyXG59XHJcbiJdfQ== //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW50aWwtZGVzdHJveS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FpdHAtdXRpbHMvIiwic291cmNlcyI6WyJsaWIvb3BlcmF0b3JzL3VudGlsLWRlc3Ryb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBMkIsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLekMsTUFBTSxPQUFPLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDOzs7Ozs7QUFNMUMsTUFBTSxPQUFPLFlBQVk7Ozs7O0FBQUcsQ0FBSSxTQUFjLEVBQStCLEVBQUU7SUFDN0UsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssU0FBUyxFQUFFO1FBQ3JDLG1DQUFtQztRQUNuQywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUM1QztJQUVELGlFQUFpRTtJQUNqRSxPQUFPLFNBQVMsQ0FBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUE7Ozs7OztBQUtELE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxTQUFjO0lBQzVELFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLFVBQVU7Ozs7SUFBTyxRQUFRLENBQUMsRUFBRTs7OztjQUc5QyxjQUFjLEdBQUcsU0FBUyxDQUFDLFdBQVc7UUFDNUMsSUFBSSxjQUFjLElBQUksSUFBSSxFQUFFO1lBQzFCLHlEQUF5RDtZQUN6RCw2QkFBNkI7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO1NBQzVGO1FBQ0QsMEJBQTBCO1FBQzFCLFNBQVMsQ0FBQyxXQUFXOzs7UUFBRyxHQUFHLEVBQUU7WUFDM0Isa0NBQWtDO1lBQ2xDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQiwwQkFBMEI7WUFDMUIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLHlDQUF5QztZQUN6QyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQSxDQUFDO1FBQ0YsMkJBQTJCO1FBQzNCOzs7O1FBQU8sQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFDO0lBQ3ZELENBQUMsRUFBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8vIGNyZWF0ZSBhIHN5bWJvbCBpZGVudGlmeSB0aGUgb2JzZXJ2YWJsZSBJIGFkZCB0b1xyXG4vLyB0aGUgY29tcG9uZW50IHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCBhbnl0aGluZy5cclxuLy8gSSBuZWVkIHRoaXMgc28gSSdtIGFibGUgdG8gYWRkIHRoZSBkZXNpcmVkIGJlaGF2aW91ciB0byB0aGUgY29tcG9uZW50LlxyXG5leHBvcnQgY29uc3QgZGVzdHJveSQgPSBTeW1ib2woJ2Rlc3Ryb3kkJyk7XHJcblxyXG4vKipcclxuICogQW4gb3BlcmF0b3IgdGhhdCB0YWtlcyB1bnRpbCBkZXN0cm95IGl0IHRha2VzIGEgY29tcG9uZW50cyB0aGlzIGEgcGFyYW1ldGVyXHJcbiAqIHJldHVybnMgYSBwaXBlYWJsZSBSeEpTIG9wZXJhdG9yLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHVudGlsRGVzdHJveSA9IDxUPihjb21wb25lbnQ6IGFueSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiA9PiB7XHJcbiAgaWYgKGNvbXBvbmVudFtkZXN0cm95JF0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgLy8gb25seSBob29rdXAgZWFjaCBjb21wb25lbnQgb25jZS5cclxuICAgIGFkZERlc3Ryb3lPYnNlcnZhYmxlVG9Db21wb25lbnQoY29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIC8vIHBpcGUgaW4gdGhlIHRha2VVbnRpbCBkZXN0cm95JCBhbmQgcmV0dXJuIHRoZSBzb3VyY2UgdW5hbHRlcmVkXHJcbiAgcmV0dXJuIHRha2VVbnRpbDxUPihjb21wb25lbnRbZGVzdHJveSRdKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGREZXN0cm95T2JzZXJ2YWJsZVRvQ29tcG9uZW50KGNvbXBvbmVudDogYW55KSB7XHJcbiAgY29tcG9uZW50W2Rlc3Ryb3kkXSA9IG5ldyBPYnNlcnZhYmxlPHZvaWQ+KG9ic2VydmVyID0+IHtcclxuICAgIC8vIGtlZXAgdHJhY2sgb2YgdGhlIG9yaWdpbmFsIGRlc3Ryb3kgZnVuY3Rpb24sXHJcbiAgICAvLyB0aGUgdXNlciBtaWdodCBkbyBzb21ldGhpbmcgaW4gdGhlcmVcclxuICAgIGNvbnN0IG9yaWduYWxEZXN0cm95ID0gY29tcG9uZW50Lm5nT25EZXN0cm95O1xyXG4gICAgaWYgKG9yaWduYWxEZXN0cm95ID09IG51bGwpIHtcclxuICAgICAgLy8gQW5ndWxhciBkb2VzIG5vdCBzdXBwb3J0IGR5bmFtaWMgYWRkZWQgZGVzdHJveSBtZXRob2RzXHJcbiAgICAgIC8vIHNvIG1ha2Ugc3VyZSB0aGVyZSBpcyBvbmUuXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcigndW50aWxEZXN0cm95IG9wZXJhdG9yIG5lZWRzIHRoZSBjb21wb25lbnQgdG8gaGF2ZSBhbiBuZ09uRGVzdHJveSBtZXRob2QnKTtcclxuICAgIH1cclxuICAgIC8vIHJlcGxhY2UgdGhlIG5nT25kZXN0cm95XHJcbiAgICBjb21wb25lbnQubmdPbkRlc3Ryb3kgPSAoKSA9PiB7XHJcbiAgICAgIC8vIGZpcmUgb2ZmIHRoZSBkZXN0cm95IG9ic2VydmFibGVcclxuICAgICAgb2JzZXJ2ZXIubmV4dCgpO1xyXG4gICAgICAvLyBjb21wbGV0ZSB0aGUgb2JzZXJ2YWJsZVxyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAvLyBhbmQgYXQgbGFzdCwgY2FsbCB0aGUgb3JpZ2luYWwgZGVzdHJveVxyXG4gICAgICBvcmlnbmFsRGVzdHJveS5jYWxsKGNvbXBvbmVudCk7XHJcbiAgICB9O1xyXG4gICAgLy8gcmV0dXJuIGNsZWFudXAgZnVuY3Rpb24uXHJcbiAgICByZXR1cm4gKF86IGFueSkgPT4gKGNvbXBvbmVudFtkZXN0cm95JF0gPSB1bmRlZmluZWQpO1xyXG4gIH0pO1xyXG59XHJcbiJdfQ==
...@@ -45,7 +45,6 @@ export class ViewportService { ...@@ -45,7 +45,6 @@ export class ViewportService {
entry => this.callback$.next(entry))); entry => this.callback$.next(entry)));
} }
} }
ViewportService.decorators = [ ViewportService.decorators = [
{type: Injectable} {type: Injectable}
]; ];
......
...@@ -8,19 +8,26 @@ var InViewportComponent = /** @class */ (function () { ...@@ -8,19 +8,26 @@ var InViewportComponent = /** @class */ (function () {
function InViewportComponent() { function InViewportComponent() {
} }
/**
* @param {?} event
* @return {?}
*/
InViewportComponent.prototype.onViewportChange = /**
* @param {?} event
* @return {?}
*/
function (event) {
console.log(event);
};
InViewportComponent.decorators = [ InViewportComponent.decorators = [
{ {
type: Component, args: [{ type: Component, args: [{
selector: 'aiut-in-viewport', selector: 'aiut-in-viewport',
template: "<div (inViewport)=\"showMyElement = $event.isIntersecting\" aiutInViewport>\r\n <ng-content *ngIf=\"showMyElement\"></ng-content>\r\n</div>\r\n" template: "<div (inViewport)=\"onViewportChange($event)\" aiutInViewport>\r\n <ng-content></ng-content>\r\n</div>\r\n"
}] }]
} }
]; ];
return InViewportComponent; return InViewportComponent;
}()); }());
export {InViewportComponent}; export {InViewportComponent};
if (false) { //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tdmlld3BvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYWl0cC11dGlscy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luLXZpZXdwb3J0L2luLXZpZXdwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4QztJQUFBO0lBU0EsQ0FBQzs7Ozs7SUFIQyw4Q0FBZ0I7Ozs7SUFBaEIsVUFBaUIsS0FBSztRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7O2dCQVJGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1Qix1SEFBMkM7aUJBQzVDOztJQU1ELDBCQUFDO0NBQUEsQUFURCxJQVNDO1NBTFksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhaXV0LWluLXZpZXdwb3J0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW4tdmlld3BvcnQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJblZpZXdwb3J0Q29tcG9uZW50IHtcclxuXHJcbiAgb25WaWV3cG9ydENoYW5nZShldmVudCkge1xyXG4gICAgY29uc29sZS5sb2coZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
/** @type {?} */
InViewportComponent.prototype.showMyElement;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tdmlld3BvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYWl0cC11dGlscy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2luLXZpZXdwb3J0L2luLXZpZXdwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4QztJQUFBO0lBTUEsQ0FBQzs7Z0JBTkEsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLDRKQUEyQztpQkFDNUM7O0lBR0QsMEJBQUM7Q0FBQSxBQU5ELElBTUM7U0FGWSxtQkFBbUI7OztJQUM5Qiw0Q0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FpdXQtaW4tdmlld3BvcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi12aWV3cG9ydC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEluVmlld3BvcnRDb21wb25lbnQge1xyXG4gIHNob3dNeUVsZW1lbnQ6IGZhbHNlO1xyXG59XHJcbiJdfQ==
...@@ -27,7 +27,6 @@ function (component) { ...@@ -27,7 +27,6 @@ function (component) {
// pipe in the takeUntil destroy$ and return the source unaltered // pipe in the takeUntil destroy$ and return the source unaltered
return takeUntil(component[destroy$]); return takeUntil(component[destroy$]);
}); });
/** /**
* \@internal * \@internal
* @param {?} component * @param {?} component
...@@ -70,5 +69,4 @@ export function addDestroyObservableToComponent(component) { ...@@ -70,5 +69,4 @@ export function addDestroyObservableToComponent(component) {
}); });
})); }));
} }
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW50aWwtZGVzdHJveS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FpdHAtdXRpbHMvIiwic291cmNlcyI6WyJsaWIvb3BlcmF0b3JzL3VudGlsLWRlc3Ryb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBMkIsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLekMsTUFBTSxLQUFPLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDOzs7Ozs7QUFNMUMsTUFBTSxLQUFPLFlBQVk7Ozs7O0FBQUcsVUFBSSxTQUFjO0lBQzVDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsRUFBRTtRQUNyQyxtQ0FBbUM7UUFDbkMsK0JBQStCLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDNUM7SUFFRCxpRUFBaUU7SUFDakUsT0FBTyxTQUFTLENBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFBOzs7Ozs7QUFLRCxNQUFNLFVBQVUsK0JBQStCLENBQUMsU0FBYztJQUM1RCxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxVQUFVOzs7O0lBQU8sVUFBQSxRQUFROzs7O1lBRzNDLGNBQWMsR0FBRyxTQUFTLENBQUMsV0FBVztRQUM1QyxJQUFJLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDMUIseURBQXlEO1lBQ3pELDZCQUE2QjtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7U0FDNUY7UUFDRCwwQkFBMEI7UUFDMUIsU0FBUyxDQUFDLFdBQVc7OztRQUFHO1lBQ3RCLGtDQUFrQztZQUNsQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsMEJBQTBCO1lBQzFCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQix5Q0FBeUM7WUFDekMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUEsQ0FBQztRQUNGLDJCQUEyQjtRQUMzQjs7OztRQUFPLFVBQUMsQ0FBTSxJQUFLLE9BQUEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQWpDLENBQWlDLEVBQUM7SUFDdkQsQ0FBQyxFQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuLy8gY3JlYXRlIGEgc3ltYm9sIGlkZW50aWZ5IHRoZSBvYnNlcnZhYmxlIEkgYWRkIHRvXHJcbi8vIHRoZSBjb21wb25lbnQgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIGFueXRoaW5nLlxyXG4vLyBJIG5lZWQgdGhpcyBzbyBJJ20gYWJsZSB0byBhZGQgdGhlIGRlc2lyZWQgYmVoYXZpb3VyIHRvIHRoZSBjb21wb25lbnQuXHJcbmV4cG9ydCBjb25zdCBkZXN0cm95JCA9IFN5bWJvbCgnZGVzdHJveSQnKTtcclxuXHJcbi8qKlxyXG4gKiBBbiBvcGVyYXRvciB0aGF0IHRha2VzIHVudGlsIGRlc3Ryb3kgaXQgdGFrZXMgYSBjb21wb25lbnRzIHRoaXMgYSBwYXJhbWV0ZXJcclxuICogcmV0dXJucyBhIHBpcGVhYmxlIFJ4SlMgb3BlcmF0b3IuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdW50aWxEZXN0cm95ID0gPFQ+KGNvbXBvbmVudDogYW55KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+ID0+IHtcclxuICBpZiAoY29tcG9uZW50W2Rlc3Ryb3kkXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyBvbmx5IGhvb2t1cCBlYWNoIGNvbXBvbmVudCBvbmNlLlxyXG4gICAgYWRkRGVzdHJveU9ic2VydmFibGVUb0NvbXBvbmVudChjb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgLy8gcGlwZSBpbiB0aGUgdGFrZVVudGlsIGRlc3Ryb3kkIGFuZCByZXR1cm4gdGhlIHNvdXJjZSB1bmFsdGVyZWRcclxuICByZXR1cm4gdGFrZVVudGlsPFQ+KGNvbXBvbmVudFtkZXN0cm95JF0pO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZERlc3Ryb3lPYnNlcnZhYmxlVG9Db21wb25lbnQoY29tcG9uZW50OiBhbnkpIHtcclxuICBjb21wb25lbnRbZGVzdHJveSRdID0gbmV3IE9ic2VydmFibGU8dm9pZD4ob2JzZXJ2ZXIgPT4ge1xyXG4gICAgLy8ga2VlcCB0cmFjayBvZiB0aGUgb3JpZ2luYWwgZGVzdHJveSBmdW5jdGlvbixcclxuICAgIC8vIHRoZSB1c2VyIG1pZ2h0IGRvIHNvbWV0aGluZyBpbiB0aGVyZVxyXG4gICAgY29uc3Qgb3JpZ25hbERlc3Ryb3kgPSBjb21wb25lbnQubmdPbkRlc3Ryb3k7XHJcbiAgICBpZiAob3JpZ25hbERlc3Ryb3kgPT0gbnVsbCkge1xyXG4gICAgICAvLyBBbmd1bGFyIGRvZXMgbm90IHN1cHBvcnQgZHluYW1pYyBhZGRlZCBkZXN0cm95IG1ldGhvZHNcclxuICAgICAgLy8gc28gbWFrZSBzdXJlIHRoZXJlIGlzIG9uZS5cclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bnRpbERlc3Ryb3kgb3BlcmF0b3IgbmVlZHMgdGhlIGNvbXBvbmVudCB0byBoYXZlIGFuIG5nT25EZXN0cm95IG1ldGhvZCcpO1xyXG4gICAgfVxyXG4gICAgLy8gcmVwbGFjZSB0aGUgbmdPbmRlc3Ryb3lcclxuICAgIGNvbXBvbmVudC5uZ09uRGVzdHJveSA9ICgpID0+IHtcclxuICAgICAgLy8gZmlyZSBvZmYgdGhlIGRlc3Ryb3kgb2JzZXJ2YWJsZVxyXG4gICAgICBvYnNlcnZlci5uZXh0KCk7XHJcbiAgICAgIC8vIGNvbXBsZXRlIHRoZSBvYnNlcnZhYmxlXHJcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIC8vIGFuZCBhdCBsYXN0LCBjYWxsIHRoZSBvcmlnaW5hbCBkZXN0cm95XHJcbiAgICAgIG9yaWduYWxEZXN0cm95LmNhbGwoY29tcG9uZW50KTtcclxuICAgIH07XHJcbiAgICAvLyByZXR1cm4gY2xlYW51cCBmdW5jdGlvbi5cclxuICAgIHJldHVybiAoXzogYW55KSA9PiAoY29tcG9uZW50W2Rlc3Ryb3kkXSA9IHVuZGVmaW5lZCk7XHJcbiAgfSk7XHJcbn1cclxuIl19 //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW50aWwtZGVzdHJveS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FpdHAtdXRpbHMvIiwic291cmNlcyI6WyJsaWIvb3BlcmF0b3JzL3VudGlsLWRlc3Ryb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBMkIsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLekMsTUFBTSxLQUFPLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDOzs7Ozs7QUFNMUMsTUFBTSxLQUFPLFlBQVk7Ozs7O0FBQUcsVUFBSSxTQUFjO0lBQzVDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsRUFBRTtRQUNyQyxtQ0FBbUM7UUFDbkMsK0JBQStCLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDNUM7SUFFRCxpRUFBaUU7SUFDakUsT0FBTyxTQUFTLENBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFBOzs7Ozs7QUFLRCxNQUFNLFVBQVUsK0JBQStCLENBQUMsU0FBYztJQUM1RCxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxVQUFVOzs7O0lBQU8sVUFBQSxRQUFROzs7O1lBRzNDLGNBQWMsR0FBRyxTQUFTLENBQUMsV0FBVztRQUM1QyxJQUFJLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDMUIseURBQXlEO1lBQ3pELDZCQUE2QjtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7U0FDNUY7UUFDRCwwQkFBMEI7UUFDMUIsU0FBUyxDQUFDLFdBQVc7OztRQUFHO1lBQ3RCLGtDQUFrQztZQUNsQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsMEJBQTBCO1lBQzFCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQix5Q0FBeUM7WUFDekMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUEsQ0FBQztRQUNGLDJCQUEyQjtRQUMzQjs7OztRQUFPLFVBQUMsQ0FBTSxJQUFLLE9BQUEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQWpDLENBQWlDLEVBQUM7SUFDdkQsQ0FBQyxFQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuLy8gY3JlYXRlIGEgc3ltYm9sIGlkZW50aWZ5IHRoZSBvYnNlcnZhYmxlIEkgYWRkIHRvXHJcbi8vIHRoZSBjb21wb25lbnQgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIGFueXRoaW5nLlxyXG4vLyBJIG5lZWQgdGhpcyBzbyBJJ20gYWJsZSB0byBhZGQgdGhlIGRlc2lyZWQgYmVoYXZpb3VyIHRvIHRoZSBjb21wb25lbnQuXHJcbmV4cG9ydCBjb25zdCBkZXN0cm95JCA9IFN5bWJvbCgnZGVzdHJveSQnKTtcclxuXHJcbi8qKlxyXG4gKiBBbiBvcGVyYXRvciB0aGF0IHRha2VzIHVudGlsIGRlc3Ryb3kgaXQgdGFrZXMgYSBjb21wb25lbnRzIHRoaXMgYSBwYXJhbWV0ZXJcclxuICogcmV0dXJucyBhIHBpcGVhYmxlIFJ4SlMgb3BlcmF0b3IuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdW50aWxEZXN0cm95ID0gPFQ+KGNvbXBvbmVudDogYW55KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+ID0+IHtcclxuICBpZiAoY29tcG9uZW50W2Rlc3Ryb3kkXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyBvbmx5IGhvb2t1cCBlYWNoIGNvbXBvbmVudCBvbmNlLlxyXG4gICAgYWRkRGVzdHJveU9ic2VydmFibGVUb0NvbXBvbmVudChjb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgLy8gcGlwZSBpbiB0aGUgdGFrZVVudGlsIGRlc3Ryb3kkIGFuZCByZXR1cm4gdGhlIHNvdXJjZSB1bmFsdGVyZWRcclxuICByZXR1cm4gdGFrZVVudGlsPFQ+KGNvbXBvbmVudFtkZXN0cm95JF0pO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZERlc3Ryb3lPYnNlcnZhYmxlVG9Db21wb25lbnQoY29tcG9uZW50OiBhbnkpIHtcclxuICBjb21wb25lbnRbZGVzdHJveSRdID0gbmV3IE9ic2VydmFibGU8dm9pZD4ob2JzZXJ2ZXIgPT4ge1xyXG4gICAgLy8ga2VlcCB0cmFjayBvZiB0aGUgb3JpZ2luYWwgZGVzdHJveSBmdW5jdGlvbixcclxuICAgIC8vIHRoZSB1c2VyIG1pZ2h0IGRvIHNvbWV0aGluZyBpbiB0aGVyZVxyXG4gICAgY29uc3Qgb3JpZ25hbERlc3Ryb3kgPSBjb21wb25lbnQubmdPbkRlc3Ryb3k7XHJcbiAgICBpZiAob3JpZ25hbERlc3Ryb3kgPT0gbnVsbCkge1xyXG4gICAgICAvLyBBbmd1bGFyIGRvZXMgbm90IHN1cHBvcnQgZHluYW1pYyBhZGRlZCBkZXN0cm95IG1ldGhvZHNcclxuICAgICAgLy8gc28gbWFrZSBzdXJlIHRoZXJlIGlzIG9uZS5cclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bnRpbERlc3Ryb3kgb3BlcmF0b3IgbmVlZHMgdGhlIGNvbXBvbmVudCB0byBoYXZlIGFuIG5nT25EZXN0cm95IG1ldGhvZCcpO1xyXG4gICAgfVxyXG4gICAgLy8gcmVwbGFjZSB0aGUgbmdPbmRlc3Ryb3lcclxuICAgIGNvbXBvbmVudC5uZ09uRGVzdHJveSA9ICgpID0+IHtcclxuICAgICAgLy8gZmlyZSBvZmYgdGhlIGRlc3Ryb3kgb2JzZXJ2YWJsZVxyXG4gICAgICBvYnNlcnZlci5uZXh0KCk7XHJcbiAgICAgIC8vIGNvbXBsZXRlIHRoZSBvYnNlcnZhYmxlXHJcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIC8vIGFuZCBhdCBsYXN0LCBjYWxsIHRoZSBvcmlnaW5hbCBkZXN0cm95XHJcbiAgICAgIG9yaWduYWxEZXN0cm95LmNhbGwoY29tcG9uZW50KTtcclxuICAgIH07XHJcbiAgICAvLyByZXR1cm4gY2xlYW51cCBmdW5jdGlvbi5cclxuICAgIHJldHVybiAoXzogYW55KSA9PiAoY29tcG9uZW50W2Rlc3Ryb3kkXSA9IHVuZGVmaW5lZCk7XHJcbiAgfSk7XHJcbn1cclxuIl19
...@@ -19,13 +19,19 @@ import {filter, finalize, take, takeUntil} from 'rxjs/operators'; ...@@ -19,13 +19,19 @@ import {filter, finalize, take, takeUntil} from 'rxjs/operators';
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/ */
class InViewportComponent { class InViewportComponent {
/**
* @param {?} event
* @return {?}
*/
onViewportChange(event) {
console.log(event);
}
} }
InViewportComponent.decorators = [ InViewportComponent.decorators = [
{ {
type: Component, args: [{ type: Component, args: [{
selector: 'aiut-in-viewport', selector: 'aiut-in-viewport',
template: "<div (inViewport)=\"showMyElement = $event.isIntersecting\" aiutInViewport>\r\n <ng-content *ngIf=\"showMyElement\"></ng-content>\r\n</div>\r\n" template: "<div (inViewport)=\"onViewportChange($event)\" aiutInViewport>\r\n <ng-content></ng-content>\r\n</div>\r\n"
}] }]
} }
]; ];
...@@ -78,7 +84,6 @@ class ViewportService { ...@@ -78,7 +84,6 @@ class ViewportService {
entry => this.callback$.next(entry))); entry => this.callback$.next(entry)));
} }
} }
ViewportService.decorators = [ ViewportService.decorators = [
{type: Injectable} {type: Injectable}
]; ];
...@@ -117,7 +122,6 @@ const untilDestroy = (/** ...@@ -117,7 +122,6 @@ const untilDestroy = (/**
// pipe in the takeUntil destroy$ and return the source unaltered // pipe in the takeUntil destroy$ and return the source unaltered
return takeUntil(component[destroy$]); return takeUntil(component[destroy$]);
}); });
/** /**
* \@internal * \@internal
* @param {?} component * @param {?} component
...@@ -228,7 +232,6 @@ class InViewportDirective { ...@@ -228,7 +232,6 @@ class InViewportDirective {
ngOnDestroy() { ngOnDestroy() {
} }
} }
InViewportDirective.decorators = [ InViewportDirective.decorators = [
{ {
type: Directive, args: [{ type: Directive, args: [{
...@@ -259,7 +262,6 @@ InViewportDirective.propDecorators = { ...@@ -259,7 +262,6 @@ InViewportDirective.propDecorators = {
*/ */
class AitpUtilsModule { class AitpUtilsModule {
} }
AitpUtilsModule.decorators = [ AitpUtilsModule.decorators = [
{ {
type: NgModule, args: [{ type: NgModule, args: [{
......
...@@ -22,11 +22,22 @@ var InViewportComponent = /** @class */ (function () { ...@@ -22,11 +22,22 @@ var InViewportComponent = /** @class */ (function () {
function InViewportComponent() { function InViewportComponent() {
} }
/**
* @param {?} event
* @return {?}
*/
InViewportComponent.prototype.onViewportChange = /**
* @param {?} event
* @return {?}
*/
function (event) {
console.log(event);
};
InViewportComponent.decorators = [ InViewportComponent.decorators = [
{ {
type: Component, args: [{ type: Component, args: [{
selector: 'aiut-in-viewport', selector: 'aiut-in-viewport',
template: "<div (inViewport)=\"showMyElement = $event.isIntersecting\" aiutInViewport>\r\n <ng-content *ngIf=\"showMyElement\"></ng-content>\r\n</div>\r\n" template: "<div (inViewport)=\"onViewportChange($event)\" aiutInViewport>\r\n <ng-content></ng-content>\r\n</div>\r\n"
}] }]
} }
]; ];
...@@ -138,7 +149,6 @@ function (component) { ...@@ -138,7 +149,6 @@ function (component) {
// pipe in the takeUntil destroy$ and return the source unaltered // pipe in the takeUntil destroy$ and return the source unaltered
return takeUntil(component[destroy$]); return takeUntil(component[destroy$]);
}); });
/** /**
* \@internal * \@internal
* @param {?} component * @param {?} component
......
export declare class InViewportComponent { export declare class InViewportComponent {
showMyElement: false; onViewportChange(event: any): void;
} }
...@@ -6,7 +6,6 @@ export declare const destroy$: unique symbol; ...@@ -6,7 +6,6 @@ export declare const destroy$: unique symbol;
* returns a pipeable RxJS operator. * returns a pipeable RxJS operator.
*/ */
export declare const untilDestroy: <T>(component: any) => MonoTypeOperatorFunction<T>; export declare const untilDestroy: <T>(component: any) => MonoTypeOperatorFunction<T>;
/** /**
* @internal * @internal
*/ */
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
"rxjs": "^5.0.0" "rxjs": "^5.0.0"
}, },
"main": "bundles/aitp-utils.umd.js", "main": "bundles/aitp-utils.umd.js",
"metadata": "aitp-utils.metadata.json",
"module": "fesm5/aitp-utils.js", "module": "fesm5/aitp-utils.js",
"es2015": "fesm2015/aitp-utils.js", "es2015": "fesm2015/aitp-utils.js",
"esm5": "esm5/aitp-utils.js", "esm5": "esm5/aitp-utils.js",
...@@ -14,7 +15,6 @@ ...@@ -14,7 +15,6 @@
"fesm5": "fesm5/aitp-utils.js", "fesm5": "fesm5/aitp-utils.js",
"fesm2015": "fesm2015/aitp-utils.js", "fesm2015": "fesm2015/aitp-utils.js",
"typings": "aitp-utils.d.ts", "typings": "aitp-utils.d.ts",
"metadata": "aitp-utils.metadata.json",
"sideEffects": false, "sideEffects": false,
"dependencies": { "dependencies": {
"tslib": "^1.9.0" "tslib": "^1.9.0"
......
...@@ -5,5 +5,8 @@ ...@@ -5,5 +5,8 @@
"@angular/common": "^4.0.0", "@angular/common": "^4.0.0",
"@angular/core": "^4.0.0", "@angular/core": "^4.0.0",
"rxjs": "^5.0.0" "rxjs": "^5.0.0"
} },
"main": "dist/bundles/aitp-utils.umd.js",
"metadata": "dist/aitp-utils.metadata.json",
"module": "dist/esm5/aitp-utils.js"
} }
<div (inViewport)="showMyElement = $event.isIntersecting" aiutInViewport> <div (inViewport)="onViewportChange($event)" aiutInViewport>
<ng-content *ngIf="showMyElement"></ng-content> <ng-content></ng-content>
</div> </div>
...@@ -5,5 +5,8 @@ import {Component} from '@angular/core'; ...@@ -5,5 +5,8 @@ import {Component} from '@angular/core';
templateUrl: './in-viewport.component.html' templateUrl: './in-viewport.component.html'
}) })
export class InViewportComponent { export class InViewportComponent {
showMyElement: false;
onViewportChange(event) {
console.log(event);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment