UNPKG

@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
/** * @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=