UNPKG

ngc-scrolling-tabs

Version:

This component is a scrollable responsive tab component build on Angular 8 and Bootstrap 4. The left and right nav buttons will scroll one tab at a time. The component will track what tab is open and re-navigate to the open tab when the screen is refreshe

83 lines 5.24 kB
/** * @fileoverview added by tsickle * Generated from: lib/scrolling-tab.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, ElementRef, Renderer2, HostBinding } from '@angular/core'; import { ScrollingTabsComponent } from './scrolling-tabs.component'; export class ScrollingTabDirective { /** * @param {?} tabs * @param {?} elementRef * @param {?} renderer */ constructor(tabs, elementRef, renderer) { this.tabs = tabs; this.elementRef = elementRef; this.renderer = renderer; this.active = false; } /** * @return {?} */ ngOnInit() { this.tabs.addTab(this); this.renderer.addClass(this.elementRef.nativeElement, 'tab-pane'); this.renderer.setAttribute(this.elementRef.nativeElement, 'role', 'tabpanel'); } /** * @return {?} */ ngOnDestroy() { this.tabs.removeTab(this); } /** * @return {?} */ getTabClasses() { return { 'nav-link': true, active: this.active }; } } ScrollingTabDirective.decorators = [ { type: Directive, args: [{ selector: '[ngcScrollingTab], ngcScrollingTab' },] } ]; /** @nocollapse */ ScrollingTabDirective.ctorParameters = () => [ { type: ScrollingTabsComponent }, { type: ElementRef }, { type: Renderer2 } ]; ScrollingTabDirective.propDecorators = { id: [{ type: Input }], title: [{ type: Input }], active: [{ type: HostBinding, args: ['class.active',] }, { type: Input }] }; if (false) { /** @type {?} */ ScrollingTabDirective.prototype.id; /** @type {?} */ ScrollingTabDirective.prototype.title; /** @type {?} */ ScrollingTabDirective.prototype.active; /** * @type {?} * @private */ ScrollingTabDirective.prototype.tabs; /** * @type {?} * @private */ ScrollingTabDirective.prototype.elementRef; /** * @type {?} * @private */ ScrollingTabDirective.prototype.renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsaW5nLXRhYi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ2Mtc2Nyb2xsaW5nLXRhYnMvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsaW5nLXRhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFxQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFNcEUsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7O0lBTzlCLFlBQW9CLElBQTRCLEVBQVUsVUFBc0IsRUFBVSxRQUFtQjtRQUF6RixTQUFJLEdBQUosSUFBSSxDQUF3QjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBRnBHLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFFeUYsQ0FBQzs7OztJQUVsSCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7OztJQUVELGFBQWE7UUFDVCxPQUFPO1lBQ0gsVUFBVSxFQUFFLElBQUk7WUFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3RCLENBQUM7SUFDTixDQUFDOzs7WUEzQkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxvQ0FBb0M7YUFDakQ7Ozs7WUFMUSxzQkFBc0I7WUFGSixVQUFVO1lBQUUsU0FBUzs7O2lCQVMzQyxLQUFLO29CQUNMLEtBQUs7cUJBRUwsV0FBVyxTQUFDLGNBQWMsY0FDMUIsS0FBSzs7OztJQUpOLG1DQUFvQjs7SUFDcEIsc0NBQXVCOztJQUV2Qix1Q0FDd0I7Ozs7O0lBRVoscUNBQW9DOzs7OztJQUFFLDJDQUE4Qjs7Ozs7SUFBRSx5Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIE9uSW5pdCwgT25EZXN0cm95LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2Nyb2xsaW5nVGFic0NvbXBvbmVudCB9IGZyb20gJy4vc2Nyb2xsaW5nLXRhYnMuY29tcG9uZW50JztcclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW25nY1Njcm9sbGluZ1RhYl0sIG5nY1Njcm9sbGluZ1RhYidcclxufSlcclxuZXhwb3J0IGNsYXNzIFNjcm9sbGluZ1RhYkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJylcclxuICAgIEBJbnB1dCgpIGFjdGl2ZSA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFiczogU2Nyb2xsaW5nVGFic0NvbXBvbmVudCwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudGFicy5hZGRUYWIodGhpcyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYi1wYW5lJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdyb2xlJywgJ3RhYnBhbmVsJyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50YWJzLnJlbW92ZVRhYih0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUYWJDbGFzc2VzKCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICduYXYtbGluayc6IHRydWUsXHJcbiAgICAgICAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmVcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==