diff --git a/src/tabs/tab.directive.ts b/src/tabs/tab.directive.ts index 31947970d5..71926db536 100644 --- a/src/tabs/tab.directive.ts +++ b/src/tabs/tab.directive.ts @@ -1,28 +1,25 @@ -import { - Directive, EventEmitter, HostBinding, Input, OnDestroy, Output, TemplateRef, OnInit -} from '@angular/core'; - +import { Directive, EventEmitter, HostBinding, Input, Output, TemplateRef, OnInit } from '@angular/core'; import { TabsetComponent } from './tabset.component'; @Directive({selector: 'tab, [tab]'}) -export class TabDirective implements OnDestroy, OnInit { +export class TabDirective implements OnInit { /** tab header text */ - @Input() public heading:string; + @Input() public heading: string; /** if true tab can not be activated */ - @Input() public disabled:boolean; + @Input() public disabled: boolean; /** if true tab can be removable, additional button will appear */ - @Input() public removable:boolean; + @Input() public removable: boolean; /** if set, will be added to the tab's class atribute */ - @Input() public customClass:string; + @Input() public customClass: string; /** tab active state toggle */ @HostBinding('class.active') @Input() - public get active():boolean { + public get active(): boolean { return this._active; } - public set active(active:boolean) { + public set active(active: boolean) { if (this.disabled && active || !active) { if (!active) { this._active = active; @@ -34,7 +31,7 @@ export class TabDirective implements OnDestroy, OnInit { this._active = active; this.select.emit(this); - this.tabset.tabs.forEach((tab:TabDirective) => { + this.tabset.tabs.forEach((tab: TabDirective) => { if (tab !== this) { tab.active = false; } @@ -42,28 +39,24 @@ export class TabDirective implements OnDestroy, OnInit { } /** fired when tab became active, $event:Tab equals to selected instance of Tab component */ - @Output() public select:EventEmitter = new EventEmitter(); + @Output() public select: EventEmitter = new EventEmitter(); /** fired when tab became inactive, $event:Tab equals to deselected instance of Tab component */ - @Output() public deselect:EventEmitter = new EventEmitter(); + @Output() public deselect: EventEmitter = new EventEmitter(); /** fired before tab will be removed */ - @Output() public removed:EventEmitter = new EventEmitter(); + @Output() public removed: EventEmitter = new EventEmitter(); - @HostBinding('class.tab-pane') public addClass:boolean = true; + @HostBinding('class.tab-pane') public addClass: boolean = true; - public headingRef:TemplateRef; - public tabset:TabsetComponent; - protected _active:boolean; + public headingRef: TemplateRef; + public tabset: TabsetComponent; + protected _active: boolean; - public constructor(tabset:TabsetComponent) { + public constructor(tabset: TabsetComponent) { this.tabset = tabset; this.tabset.addTab(this); } - public ngOnInit():void { - this.removable = !!this.removable; - } - - public ngOnDestroy():void { - this.tabset.removeTab(this); + public ngOnInit(): void { + this.removable = this.removable; } }