UNPKG

rt-tab-carousel

Version:
62 lines 7.41 kB
import { Directive, HostListener, Input } from '@angular/core'; import { Subscription } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "../services/rt-carousel.service"; class RtCarouselTabDirective { el; renderer; service; uuidCarousel; subscription = new Subscription(); constructor(el, renderer, service) { this.el = el; this.renderer = renderer; this.service = service; } _disabledTab; get disabledTab() { return !!this._disabledTab; } set disabledTab(value) { this._disabledTab = value; if (value) { this.renderer.addClass(this.el.nativeElement, 'rt-tab-carousel-tab__disabled'); } else { this.renderer.removeClass(this.el.nativeElement, 'rt-tab-carousel-tab__disabled'); } } onClick() { if (!this.disabledTab) { this.service.selectHTMLElement(this.uuidCarousel, this.el); } } ngOnInit() { this.renderer.setStyle(this.el.nativeElement, 'white-space', 'nowrap'); this.renderer.setStyle(this.el.nativeElement, 'cursor', 'pointer'); this.renderer.addClass(this.el.nativeElement, `rt-carousel-tab-${this.uuidCarousel}`); this.service.setTab(this.uuidCarousel, this.el); } ngOnDestroy() { this.service.deleteTab(this.uuidCarousel, this.el); this.subscription.unsubscribe(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: RtCarouselTabDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.RtCarouselService }], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: RtCarouselTabDirective, selector: "[rtCarouselTab]", inputs: { uuidCarousel: "uuidCarousel", disabledTab: "disabledTab" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); } export { RtCarouselTabDirective }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: RtCarouselTabDirective, decorators: [{ type: Directive, args: [{ selector: '[rtCarouselTab]', }] }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.RtCarouselService }]; }, propDecorators: { uuidCarousel: [{ type: Input, args: [{ required: true }] }], disabledTab: [{ type: Input }], onClick: [{ type: HostListener, args: ['click', ['$event']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnQtY2Fyb3VzZWwtdGFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J0LXRhYi1jYXJvdXNlbC9zcmMvbGliL2RpcmVjdGl2ZXMvcnQtY2Fyb3VzZWwtdGFiLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUdsQyxNQUdhLHNCQUFzQjtJQUtYO0lBQXdCO0lBQTZCO0lBSmhELFlBQVksQ0FBVTtJQUU5QixZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVuRCxZQUFvQixFQUFjLEVBQVUsUUFBbUIsRUFBVSxPQUEwQjtRQUEvRSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQ25HLENBQUM7SUFFTyxZQUFZLENBQVc7SUFFL0IsSUFBSSxXQUFXO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBYSxXQUFXLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLCtCQUErQixDQUFDLENBQUM7U0FDbEY7YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLCtCQUErQixDQUFDLENBQUM7U0FDckY7SUFDTCxDQUFDO0lBR0QsT0FBTztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO3VHQXhDUSxzQkFBc0I7MkZBQXRCLHNCQUFzQjs7U0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtpQkFDOUI7eUpBRTRCLFlBQVk7c0JBQXBDLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO2dCQWFWLFdBQVc7c0JBQXZCLEtBQUs7Z0JBVU4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UnRDYXJvdXNlbFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL3J0LWNhcm91c2VsLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tydENhcm91c2VsVGFiXScsXG59KVxuZXhwb3J0IGNsYXNzIFJ0Q2Fyb3VzZWxUYWJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIHV1aWRDYXJvdXNlbCE6IHN0cmluZztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHNlcnZpY2U6IFJ0Q2Fyb3VzZWxTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWRUYWI/OiBib29sZWFuO1xuXG4gICAgZ2V0IGRpc2FibGVkVGFiKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kaXNhYmxlZFRhYjtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGlzYWJsZWRUYWIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWRUYWIgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3J0LXRhYi1jYXJvdXNlbC10YWJfX2Rpc2FibGVkJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3J0LXRhYi1jYXJvdXNlbC10YWJfX2Rpc2FibGVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkVGFiKSB7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2VsZWN0SFRNTEVsZW1lbnQodGhpcy51dWlkQ2Fyb3VzZWwsIHRoaXMuZWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnd2hpdGUtc3BhY2UnLCAnbm93cmFwJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGBydC1jYXJvdXNlbC10YWItJHt0aGlzLnV1aWRDYXJvdXNlbH1gKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNldFRhYih0aGlzLnV1aWRDYXJvdXNlbCwgdGhpcy5lbCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VydmljZS5kZWxldGVUYWIodGhpcy51dWlkQ2Fyb3VzZWwsIHRoaXMuZWwpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiJdfQ==