@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
95 lines (94 loc) • 6.76 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Input, Component, HostBinding } from '@angular/core';
import * as nh from '../../../native-helper';
export class AsiTabContent {
constructor() {
this.class = null;
this.baseClass = 'asi-component asi-tab-content';
this.class = this.baseClass;
}
/**
* Active tab id
* @param {?} tabId
* @return {?}
*/
set activeTab(tabId) {
this.showTabById(tabId);
}
/**
* @return {?}
*/
getTabs() {
return this.tabs;
}
/**
* @param {?} tabs
* @return {?}
*/
setTabs(tabs) {
this.tabs = tabs;
}
/**
* @param {?} tabId
* @return {?}
*/
showTabById(tabId) {
if (tabId != null) {
/** @type {?} */
const tabToActive = nh.find(this.tabs, (tab) => {
return tab.tabId === tabId;
});
if (tabToActive) {
this.showTab(tabToActive);
return;
}
}
if (!nh.isEmpty(this.tabs)) {
this.showTab(this.tabs[0]);
}
}
/**
* @param {?} tab
* @return {?}
*/
showTab(tab) {
if (this.currentTab != null) {
this.currentTab.active = false;
}
this.currentTab = tab;
this.currentTab.active = true;
if (this.currentTab.tabClass) {
this.class = this.baseClass + '' + this.currentTab.tabClass;
}
else {
this.class = this.baseClass;
}
}
}
AsiTabContent.decorators = [
{ type: Component, args: [{
selector: 'asi-tab-content',
template: "<ng-container *ngIf=\"currentTab != null\">\r\n <asi-tab-element [index]=\"currentTab.index\" [template]=\"currentTab.contentTemplate\"></asi-tab-element>\r\n</ng-container>\r\n"
}] }
];
/** @nocollapse */
AsiTabContent.ctorParameters = () => [];
AsiTabContent.propDecorators = {
class: [{ type: HostBinding, args: ['class',] }],
tabs: [{ type: Input }],
activeTab: [{ type: Input }]
};
if (false) {
/** @type {?} */
AsiTabContent.prototype.class;
/** @type {?} */
AsiTabContent.prototype.tabs;
/** @type {?} */
AsiTabContent.prototype.currentTab;
/** @type {?} */
AsiTabContent.prototype.baseClass;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLXRhYi1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhc2ktbmd0b29scy9saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hc2ktdGFiLWdyb3VwL2FzaS10YWItY29udGVudC9hc2ktdGFiLWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU03QyxNQUFNO0lBZ0JKO3FCQWQ4QixJQUFJO3lCQVlkLCtCQUErQjtRQUdqRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7S0FDN0I7Ozs7OztJQVhELElBQ0ksU0FBUyxDQUFDLEtBQUs7UUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN6Qjs7OztJQVVELE9BQU87UUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztLQUNsQjs7Ozs7SUFFRCxPQUFPLENBQUMsSUFBbUI7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7S0FDbEI7Ozs7O0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7O1lBQ2xCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUM3QyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUM7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDMUIsTUFBTSxDQUFDO2FBQ1I7U0FDRjtRQUNELEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzNCO0tBQ0Y7Ozs7O0lBRUQsT0FBTyxDQUFDLEdBQVc7UUFDakIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUU5QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUM3RDtRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQzdCO0tBQ0Y7OztZQTNERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsOExBQTZDO2FBQzlDOzs7OztvQkFHRSxXQUFXLFNBQUMsT0FBTzttQkFFbkIsS0FBSzt3QkFHTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNpVGFiIH0gZnJvbSAnLi8uLi9hc2ktdGFiL2FzaS10YWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgbmggZnJvbSAnLi4vLi4vLi4vbmF0aXZlLWhlbHBlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FzaS10YWItY29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICdhc2ktdGFiLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc2lUYWJDb250ZW50IHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgdGFiczogQXJyYXk8QXNpVGFiPjtcclxuXHJcbiAgLyoqIEFjdGl2ZSB0YWIgaWQgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBhY3RpdmVUYWIodGFiSWQpIHtcclxuICAgIHRoaXMuc2hvd1RhYkJ5SWQodGFiSWQpO1xyXG4gIH1cclxuXHJcbiAgY3VycmVudFRhYjogQXNpVGFiO1xyXG5cclxuICBwcml2YXRlIGJhc2VDbGFzcyA9ICdhc2ktY29tcG9uZW50IGFzaS10YWItY29udGVudCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5jbGFzcyA9IHRoaXMuYmFzZUNsYXNzO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGFicygpIHtcclxuICAgIHJldHVybiB0aGlzLnRhYnM7XHJcbiAgfVxyXG5cclxuICBzZXRUYWJzKHRhYnM6IEFycmF5PEFzaVRhYj4pIHtcclxuICAgIHRoaXMudGFicyA9IHRhYnM7XHJcbiAgfVxyXG5cclxuICBzaG93VGFiQnlJZCh0YWJJZDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGFiSWQgIT0gbnVsbCkge1xyXG4gICAgICBjb25zdCB0YWJUb0FjdGl2ZSA9IG5oLmZpbmQodGhpcy50YWJzLCAodGFiKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRhYi50YWJJZCA9PT0gdGFiSWQ7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAodGFiVG9BY3RpdmUpIHtcclxuICAgICAgICB0aGlzLnNob3dUYWIodGFiVG9BY3RpdmUpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKCFuaC5pc0VtcHR5KHRoaXMudGFicykpIHtcclxuICAgICAgdGhpcy5zaG93VGFiKHRoaXMudGFic1swXSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dUYWIodGFiOiBBc2lUYWIpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRUYWIgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRUYWIuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIuYWN0aXZlID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5jdXJyZW50VGFiLnRhYkNsYXNzKSB7XHJcbiAgICAgIHRoaXMuY2xhc3MgPSB0aGlzLmJhc2VDbGFzcyArICcnICsgdGhpcy5jdXJyZW50VGFiLnRhYkNsYXNzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbGFzcyA9IHRoaXMuYmFzZUNsYXNzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=