@hxui/angular
Version:
* * *
143 lines • 9.78 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { Directive, EventEmitter, HostBinding, Input, Output, ElementRef } from '@angular/core';
import { TabsetComponent } from './tabset.component';
export class TabDirective {
/**
* @param {?} tabset
* @param {?} elementRef
*/
constructor(tabset, elementRef) {
this.elementRef = elementRef;
/**
* fired when tab became active, $event:Tab equals to selected instance of Tab component
*/
this.select = new EventEmitter();
/**
* fired when tab became inactive, $event:Tab equals to deselected instance of Tab component
*/
this.deselect = new EventEmitter();
/**
* fired before tab will be removed, $event:Tab equals to instance of removed tab
*/
this.removed = new EventEmitter();
this.addClasn = true;
this.tabset = tabset;
this.tabset.addTab(this);
}
/**
* tab active state toggle
* @return {?}
*/
get active() {
return this._active;
}
/**
* @param {?} active
* @return {?}
*/
set active(active) {
if (this.disabled && active || !active) {
if (!active) {
this._active = active;
}
//if(typeof active != 'undefined')
this.deselect.emit(this);
return;
}
this._active = active;
this.select.emit(this);
this.tabset.tabs.forEach((tab) => {
if (tab !== this) {
tab.active = false;
}
});
}
/**
* @return {?}
*/
ngOnInit() {
this.removable = this.removable;
}
/**
* @return {?}
*/
ngOnDestroy() {
this.tabset.removeTab(this, { reselect: false, emit: false });
}
}
TabDirective.decorators = [
{ type: Directive, args: [{ selector: 'hx-tab, [hx-tab]' },] },
];
/** @nocollapse */
TabDirective.ctorParameters = () => [
{ type: TabsetComponent },
{ type: ElementRef }
];
TabDirective.propDecorators = {
heading: [{ type: Input }],
id: [{ type: Input }],
disabled: [{ type: Input }],
removable: [{ type: Input }],
customClass: [{ type: Input }],
active: [{ type: HostBinding, args: ['class.is-active',] }, { type: Input }],
select: [{ type: Output }],
deselect: [{ type: Output }],
removed: [{ type: Output }],
addClasn: [{ type: HostBinding, args: ['class.hx-tab-pane',] }]
};
if (false) {
/**
* tab header text
* @type {?}
*/
TabDirective.prototype.heading;
/**
* tab id
* @type {?}
*/
TabDirective.prototype.id;
/**
* if true tab can not be activated
* @type {?}
*/
TabDirective.prototype.disabled;
/**
* if true tab can be removable, additional button will appear
* @type {?}
*/
TabDirective.prototype.removable;
/**
* if set, will be added to the tab's class atribute
* @type {?}
*/
TabDirective.prototype.customClass;
/**
* fired when tab became active, $event:Tab equals to selected instance of Tab component
* @type {?}
*/
TabDirective.prototype.select;
/**
* fired when tab became inactive, $event:Tab equals to deselected instance of Tab component
* @type {?}
*/
TabDirective.prototype.deselect;
/**
* fired before tab will be removed, $event:Tab equals to instance of removed tab
* @type {?}
*/
TabDirective.prototype.removed;
/** @type {?} */
TabDirective.prototype.addClasn;
/** @type {?} */
TabDirective.prototype.headingRef;
/** @type {?} */
TabDirective.prototype.tabset;
/** @type {?} */
TabDirective.prototype._active;
/** @type {?} */
TabDirective.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoeHVpL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvdGFicy90YWIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBa0MsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdyRCxNQUFNLE9BQU8sWUFBWTs7Ozs7SUFvRHZCLFlBQW1CLE1BQXVCLEVBQVMsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTs7OztRQVp4RCxXQUFNLEdBQStCLElBQUksWUFBWSxFQUFFLENBQUM7Ozs7UUFFeEQsYUFBUSxHQUErQixJQUFJLFlBQVksRUFBRSxDQUFDOzs7O1FBRTFELFlBQU8sR0FBK0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqQyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBT3ZELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7Ozs7O0lBMUNELElBRVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELElBQVcsTUFBTSxDQUFDLE1BQWU7UUFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2FBQ3ZCO1lBQ0Qsa0NBQWtDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTNCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQWlCLEVBQUUsRUFBRTtZQUM3QyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBb0JNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQzs7OztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDOzs7WUFoRUYsU0FBUyxTQUFDLEVBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFDOzs7O1lBRmhDLGVBQWU7WUFEK0QsVUFBVTs7O3NCQU05RixLQUFLO2lCQUVMLEtBQUs7dUJBRUwsS0FBSzt3QkFFTCxLQUFLOzBCQUVMLEtBQUs7cUJBR0wsV0FBVyxTQUFDLGlCQUFpQixjQUM3QixLQUFLO3FCQTBCTCxNQUFNO3VCQUVOLE1BQU07c0JBRU4sTUFBTTt1QkFFTixXQUFXLFNBQUMsbUJBQW1COzs7Ozs7O0lBNUNoQywrQkFBZ0M7Ozs7O0lBRWhDLDBCQUEyQjs7Ozs7SUFFM0IsZ0NBQWtDOzs7OztJQUVsQyxpQ0FBbUM7Ozs7O0lBRW5DLG1DQUFvQzs7Ozs7SUE4QnBDLDhCQUF5RTs7Ozs7SUFFekUsZ0NBQTJFOzs7OztJQUUzRSwrQkFBMEU7O0lBRTFFLGdDQUF5RDs7SUFFekQsa0NBQW9DOztJQUNwQyw4QkFBK0I7O0lBQy9CLCtCQUEyQjs7SUFFaUIsa0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBPbkluaXQsIE9uRGVzdHJveSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJzZXRDb21wb25lbnQgfSBmcm9tICcuL3RhYnNldC5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdoeC10YWIsIFtoeC10YWJdJ30pXHJcbmV4cG9ydCBjbGFzcyBUYWJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLyoqIHRhYiBoZWFkZXIgdGV4dCAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkaW5nOiBzdHJpbmc7XHJcbiAgLyoqIHRhYiBpZCAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nO1xyXG4gIC8qKiBpZiB0cnVlIHRhYiBjYW4gbm90IGJlIGFjdGl2YXRlZCAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcclxuICAvKiogaWYgdHJ1ZSB0YWIgY2FuIGJlIHJlbW92YWJsZSwgYWRkaXRpb25hbCBidXR0b24gd2lsbCBhcHBlYXIgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgcmVtb3ZhYmxlOiBib29sZWFuO1xyXG4gIC8qKiBpZiBzZXQsIHdpbGwgYmUgYWRkZWQgdG8gdGhlIHRhYidzIGNsYXNzIGF0cmlidXRlICovXHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzOiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0YWIgYWN0aXZlIHN0YXRlIHRvZ2dsZSAqL1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtYWN0aXZlJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIHNldCBhY3RpdmUoYWN0aXZlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCAmJiBhY3RpdmUgfHwgIWFjdGl2ZSkge1xyXG4gICAgICBpZiAoIWFjdGl2ZSkge1xyXG4gICAgICAgIHRoaXMuX2FjdGl2ZSA9IGFjdGl2ZTtcclxuICAgICAgfVxyXG4gICAgICAvL2lmKHR5cGVvZiBhY3RpdmUgIT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgICAgdGhpcy5kZXNlbGVjdC5lbWl0KHRoaXMpO1xyXG5cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2FjdGl2ZSA9IGFjdGl2ZTtcclxuICAgIHRoaXMuc2VsZWN0LmVtaXQodGhpcyk7XHJcbiAgICB0aGlzLnRhYnNldC50YWJzLmZvckVhY2goKHRhYjogVGFiRGlyZWN0aXZlKSA9PiB7XHJcbiAgICAgIGlmICh0YWIgIT09IHRoaXMpIHtcclxuICAgICAgICB0YWIuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIGZpcmVkIHdoZW4gdGFiIGJlY2FtZSBhY3RpdmUsICRldmVudDpUYWIgZXF1YWxzIHRvIHNlbGVjdGVkIGluc3RhbmNlIG9mIFRhYiBjb21wb25lbnQgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdDogRXZlbnRFbWl0dGVyPFRhYkRpcmVjdGl2ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGZpcmVkIHdoZW4gdGFiIGJlY2FtZSBpbmFjdGl2ZSwgJGV2ZW50OlRhYiBlcXVhbHMgdG8gZGVzZWxlY3RlZCBpbnN0YW5jZSBvZiBUYWIgY29tcG9uZW50ICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBkZXNlbGVjdDogRXZlbnRFbWl0dGVyPFRhYkRpcmVjdGl2ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGZpcmVkIGJlZm9yZSB0YWIgd2lsbCBiZSByZW1vdmVkLCAkZXZlbnQ6VGFiIGVxdWFscyB0byBpbnN0YW5jZSBvZiByZW1vdmVkIHRhYiAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVtb3ZlZDogRXZlbnRFbWl0dGVyPFRhYkRpcmVjdGl2ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaHgtdGFiLXBhbmUnKSBwdWJsaWMgYWRkQ2xhc24gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgaGVhZGluZ1JlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwdWJsaWMgdGFic2V0OiBUYWJzZXRDb21wb25lbnQ7XHJcbiAgcHJvdGVjdGVkIF9hY3RpdmU6IGJvb2xlYW47XHJcblxyXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih0YWJzZXQ6IFRhYnNldENvbXBvbmVudCwgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMudGFic2V0ID0gdGFic2V0O1xyXG4gICAgdGhpcy50YWJzZXQuYWRkVGFiKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1vdmFibGUgPSB0aGlzLnJlbW92YWJsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFic2V0LnJlbW92ZVRhYih0aGlzLCB7cmVzZWxlY3Q6IGZhbHNlLCBlbWl0OiBmYWxzZX0pO1xyXG4gIH1cclxufVxyXG4iXX0=