UNPKG

@ciri/ngx-carousel

Version:
148 lines 10.7 kB
/** * @fileoverview added by tsickle * Generated from: lib/carousel-item/carousel-item.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, Inject, ViewEncapsulation } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { LazyRenderDirective } from '../lazy-render.directive'; import { CAROUSEL, inRange } from '../../utils'; var CarouselItemComponent = /** @class */ (function () { function CarouselItemComponent(elRef, cdr, sanitizer, parent // 之所以不声明具体类型是因为会警告循环引用,虽然它并未发生 ) { this.elRef = elRef; this.cdr = cdr; this.sanitizer = sanitizer; this.parent = parent; this.rendered = false; this.destroy$ = new Subject(); } Object.defineProperty(CarouselItemComponent.prototype, "isLazyRender", { // 这种方式不兼容 ie11,废弃掉此方案 // @HostBinding('style') // get style() { // return this.sanitizer.bypassSecurityTrustStyle(` // width: ${this.parent.width}px; // `) // } get: // 这种方式不兼容 ie11,废弃掉此方案 // @HostBinding('style') // get style() { // return this.sanitizer.bypassSecurityTrustStyle(` // width: ${this.parent.width}px; // `) // } /** * @return {?} */ function () { return !!this.lazyContent; }, enumerable: true, configurable: true }); Object.defineProperty(CarouselItemComponent.prototype, "shouldRender", { get: /** * @return {?} */ function () { return !this.isLazyRender || this.rendered; }, enumerable: true, configurable: true }); /** * @return {?} */ CarouselItemComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; /** * @return {?} */ CarouselItemComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { var _this = this; var _a = (/** @type {?} */ (this.parent)), active$ = _a.active$, cache = _a.cache, offset = _a.lazyRenderOffset; active$.pipe(takeUntil(this.destroy$)).subscribe((/** * @param {?} index * @return {?} */ function (index) { _this.rendered = (cache && _this.rendered) || inRange(_this.index, index - offset, index + offset); _this.cdr.markForCheck(); })); }; /** * @return {?} */ CarouselItemComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { this.destroy$.next(); this.destroy$.complete(); }; CarouselItemComponent.decorators = [ { type: Component, args: [{ selector: 'ngx-carousel-item', template: "<ng-container *ngIf=\"shouldRender\" [ngTemplateOutlet]=\"lazyContent && lazyContent.content\">\n <ng-content></ng-content>\n</ng-container>\n", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { '[class.ngx-carousel__item]': "true" }, styles: [".ngx-carousel__item{display:inline-block;vertical-align:top}.ngx-carousel__item.pre-mirror-node{position:absolute;left:0;transform:translateX(-100%)}.ngx-carousel__item.post-mirror-node{position:absolute;right:0;transform:translateX(100%)}"] }] } ]; /** @nocollapse */ CarouselItemComponent.ctorParameters = function () { return [ { type: ElementRef }, { type: ChangeDetectorRef }, { type: DomSanitizer }, { type: undefined, decorators: [{ type: Inject, args: [CAROUSEL,] }] } ]; }; CarouselItemComponent.propDecorators = { lazyContent: [{ type: ContentChild, args: [LazyRenderDirective, { static: false },] }] }; return CarouselItemComponent; }()); export { CarouselItemComponent }; if (false) { /** @type {?} */ CarouselItemComponent.prototype.lazyContent; /** @type {?} */ CarouselItemComponent.prototype.index; /** @type {?} */ CarouselItemComponent.prototype.rendered; /** * @type {?} * @private */ CarouselItemComponent.prototype.destroy$; /** @type {?} */ CarouselItemComponent.prototype.elRef; /** * @type {?} * @private */ CarouselItemComponent.prototype.cdr; /** * @type {?} * @private */ CarouselItemComponent.prototype.sanitizer; /** * @type {?} * @private */ CarouselItemComponent.prototype.parent; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2lyaS9uZ3gtY2Fyb3VzZWwvIiwic291cmNlcyI6WyJsaWIvY2Fyb3VzZWwtaXRlbS9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUVWLE1BQU0sRUFHTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRy9DO0lBa0NFLCtCQUNTLEtBQWlCLEVBQ2hCLEdBQXNCLEVBQ3RCLFNBQXVCLEVBQ0wsTUFBVyxDQUFDLCtCQUErQjs7UUFIOUQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNoQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ0wsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQXhCdkMsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQWtCUixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQTtJQU9sQyxDQUFDO0lBZkosc0JBQUksK0NBQVk7UUFSaEIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4QixnQkFBZ0I7UUFDaEIscURBQXFEO1FBQ3JELHFDQUFxQztRQUNyQyxPQUFPO1FBQ1AsSUFBSTs7Ozs7Ozs7Ozs7O1FBRUo7WUFDRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO1FBQzNCLENBQUM7OztPQUFBO0lBRUQsc0JBQUksK0NBQVk7Ozs7UUFBaEI7WUFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFBO1FBQzVDLENBQUM7OztPQUFBOzs7O0lBV0Qsd0NBQVE7OztJQUFSLGNBQVksQ0FBQzs7OztJQUViLCtDQUFlOzs7SUFBZjtRQUFBLGlCQVFDO1FBUE8sSUFBQSxxQ0FBK0UsRUFBN0Usb0JBQU8sRUFBRSxnQkFBSyxFQUFFLDRCQUE2RDtRQUVyRixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxLQUFLO1lBQ3BELEtBQUksQ0FBQyxRQUFRO2dCQUNYLENBQUMsS0FBSyxJQUFJLEtBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUNqRixLQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ3pCLENBQUMsRUFBQyxDQUFBO0lBQ0osQ0FBQzs7OztJQUVELDJDQUFXOzs7SUFBWDtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUMxQixDQUFDOztnQkF4REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLDJKQUE2QztvQkFFN0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0osNEJBQTRCLEVBQUUsTUFBTTtxQkFDckM7O2lCQUNGOzs7O2dCQXZCQyxVQUFVO2dCQUhWLGlCQUFpQjtnQkFVVixZQUFZO2dEQTZDaEIsTUFBTSxTQUFDLFFBQVE7Ozs4QkEzQmpCLFlBQVksU0FBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0lBOEN0RCw0QkFBQztDQUFBLEFBekRELElBeURDO1NBL0NZLHFCQUFxQjs7O0lBQ2hDLDRDQUFzRjs7SUFFdEYsc0NBQWE7O0lBQ2IseUNBQWdCOzs7OztJQWtCaEIseUNBQXFDOztJQUduQyxzQ0FBd0I7Ozs7O0lBQ3hCLG9DQUE4Qjs7Ozs7SUFDOUIsMENBQStCOzs7OztJQUMvQix1Q0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTGF6eVJlbmRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2xhenktcmVuZGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IENBUk9VU0VMLCBpblJhbmdlIH0gZnJvbSAnLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4uL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWNhcm91c2VsLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLWl0ZW0uY29tcG9uZW50Lmxlc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm5neC1jYXJvdXNlbF9faXRlbV0nOiBgdHJ1ZWBcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoTGF6eVJlbmRlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pIGxhenlDb250ZW50OiBMYXp5UmVuZGVyRGlyZWN0aXZlXG5cbiAgaW5kZXg6IG51bWJlclxuICByZW5kZXJlZCA9IGZhbHNlXG5cbiAgLy8g6L+Z56eN5pa55byP5LiN5YW85a65IGllMTHvvIzlup/lvIPmjonmraTmlrnmoYhcbiAgLy8gQEhvc3RCaW5kaW5nKCdzdHlsZScpXG4gIC8vIGdldCBzdHlsZSgpIHtcbiAgLy8gICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKGBcbiAgLy8gICAgIHdpZHRoOiAke3RoaXMucGFyZW50LndpZHRofXB4O1xuICAvLyAgIGApXG4gIC8vIH1cblxuICBnZXQgaXNMYXp5UmVuZGVyKCkge1xuICAgIHJldHVybiAhIXRoaXMubGF6eUNvbnRlbnRcbiAgfVxuXG4gIGdldCBzaG91bGRSZW5kZXIoKSB7XG4gICAgcmV0dXJuICF0aGlzLmlzTGF6eVJlbmRlciB8fCB0aGlzLnJlbmRlcmVkXG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8YW55PigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIEBJbmplY3QoQ0FST1VTRUwpIHByaXZhdGUgcGFyZW50OiBhbnkgLy8g5LmL5omA5Lul5LiN5aOw5piO5YW35L2T57G75Z6L5piv5Zug5Li65Lya6K2m5ZGK5b6q546v5byV55So77yM6Jm954S25a6D5bm25pyq5Y+R55SfXG4gICkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IHsgYWN0aXZlJCwgY2FjaGUsIGxhenlSZW5kZXJPZmZzZXQ6IG9mZnNldCB9ID0gdGhpcy5wYXJlbnQgYXMgQ2Fyb3VzZWxDb21wb25lbnRcblxuICAgIGFjdGl2ZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShpbmRleCA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVkID1cbiAgICAgICAgKGNhY2hlICYmIHRoaXMucmVuZGVyZWQpIHx8IGluUmFuZ2UodGhpcy5pbmRleCwgaW5kZXggLSBvZmZzZXQsIGluZGV4ICsgb2Zmc2V0KVxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKClcbiAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KClcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKClcbiAgfVxufVxuIl19