ngx-slick-carousel
Version:
[](https://badge.fury.io/js/ngx-slick-carousel) [](https://travis-ci.com/leo6104/ngx-slick-carousel)
2 lines • 5.23 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-slick-carousel",["exports","@angular/common","@angular/core","@angular/forms"],t):t((e=e||self)["ngx-slick-carousel"]={},e.ng.common,e.ng.core,e.ng.forms)}(this,(function(e,t,n,i){"use strict";var s=function(){function e(e,t,i){this.el=e,this.zone=t,this.platformId=i,this.afterChange=new n.EventEmitter,this.beforeChange=new n.EventEmitter,this.breakpoint=new n.EventEmitter,this.destroy=new n.EventEmitter,this.init=new n.EventEmitter,this.currentIndex=0,this.slides=[],this.initialized=!1,this._removedSlides=[],this._addedSlides=[]}return e.prototype.ngOnDestroy=function(){this.unslick()},e.prototype.ngAfterViewInit=function(){this.ngAfterViewChecked()},e.prototype.ngAfterViewChecked=function(){var e=this;if(!t.isPlatformServer(this.platformId)&&(this._addedSlides.length>0||this._removedSlides.length>0)){var n=this.slides.length-this._removedSlides.length+this._addedSlides.length;this.initialized?0===n?this.unslick():(this._addedSlides.forEach((function(t){e.slides.push(t),e.zone.runOutsideAngular((function(){e.$instance.slick("slickAdd",t.el.nativeElement)}))})),this._addedSlides=[],this._removedSlides.forEach((function(t){var n=e.slides.indexOf(t);e.slides=e.slides.filter((function(e){return e!==t})),e.zone.runOutsideAngular((function(){e.$instance.slick("slickRemove",n)}))})),this._removedSlides=[]):n>0&&this.initSlick()}},e.prototype.initSlick=function(){var e=this;this.slides=this._addedSlides,this._addedSlides=[],this._removedSlides=[],this.zone.runOutsideAngular((function(){e.$instance=jQuery(e.el.nativeElement),e.$instance.on("init",(function(t,n){e.zone.run((function(){e.init.emit({event:t,slick:n})}))})),e.$instance.slick(e.config),e.zone.run((function(){var t;e.initialized=!0,e.currentIndex=(null===(t=e.config)||void 0===t?void 0:t.initialSlide)||0})),e.$instance.on("afterChange",(function(t,n,i){e.zone.run((function(){e.afterChange.emit({event:t,slick:n,currentSlide:i,first:0===i,last:n.$slides.length===i+n.options.slidesToScroll}),e.currentIndex=i}))})),e.$instance.on("beforeChange",(function(t,n,i,s){e.zone.run((function(){e.beforeChange.emit({event:t,slick:n,currentSlide:i,nextSlide:s}),e.currentIndex=s}))})),e.$instance.on("breakpoint",(function(t,n,i){e.zone.run((function(){e.breakpoint.emit({event:t,slick:n,breakpoint:i})}))})),e.$instance.on("destroy",(function(t,n){e.zone.run((function(){e.destroy.emit({event:t,slick:n}),e.initialized=!1}))}))}))},e.prototype.addSlide=function(e){this._addedSlides.push(e)},e.prototype.removeSlide=function(e){this._removedSlides.push(e)},e.prototype.slickGoTo=function(e){var t=this;this.zone.runOutsideAngular((function(){t.$instance.slick("slickGoTo",e)}))},e.prototype.slickNext=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickNext")}))},e.prototype.slickPrev=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPrev")}))},e.prototype.slickPause=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPause")}))},e.prototype.slickPlay=function(){var e=this;this.zone.runOutsideAngular((function(){e.$instance.slick("slickPlay")}))},e.prototype.unslick=function(){var e=this;this.$instance&&(this.zone.runOutsideAngular((function(){e.$instance.slick("unslick")})),this.$instance=void 0),this.initialized=!1},e.prototype.ngOnChanges=function(e){var t=this;if(this.initialized){var n=e.config;if(n.previousValue!==n.currentValue&&void 0!==n.currentValue){var i=n.currentValue.refresh,s=Object.assign({},n.currentValue);delete s.refresh,this.zone.runOutsideAngular((function(){t.$instance.slick("slickSetOption",s,i)}))}}},e.decorators=[{type:n.Component,args:[{selector:"ngx-slick-carousel",exportAs:"slick-carousel",providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:n.forwardRef((function(){return e})),multi:!0}],template:"<ng-content></ng-content>"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:n.NgZone},{type:String,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]}]},e.propDecorators={config:[{type:n.Input}],afterChange:[{type:n.Output}],beforeChange:[{type:n.Output}],breakpoint:[{type:n.Output}],destroy:[{type:n.Output}],init:[{type:n.Output}]},e}();var r=function(){function e(e,t,n){this.el=e,this.platformId=t,this.carousel=n}return e.prototype.ngOnInit=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.addSlide(this)},e.prototype.ngOnDestroy=function(){t.isPlatformBrowser(this.platformId)&&this.carousel.removeSlide(this)},e.decorators=[{type:n.Directive,args:[{selector:"[ngxSlickItem]"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:String,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:s,decorators:[{type:n.Host}]}]},e}();var o=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[t.CommonModule],declarations:[s,r],exports:[s,r]}]}],e}();e.SlickCarouselComponent=s,e.SlickCarouselModule=o,e.SlickItemDirective=r,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=ngx-slick-carousel.umd.min.js.map