ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
104 lines (103 loc) • 7.21 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, HostBinding, EventEmitter, Input, Output, TemplateRef, Optional } from '@angular/core';
import { TabPane } from '../tabs/tab-pane.component';
/**
* @record
*/
export function OnPressEvent() { }
/** @type {?} */
OnPressEvent.prototype.title;
/** @type {?} */
OnPressEvent.prototype.key;
export class TabBarTab {
/**
* @param {?} tabPane
*/
constructor(tabPane) {
this.tabPane = tabPane;
this.prefixCls = 'am-tab-bar-tab';
this.selected = false;
this.tintColor = '#108ee9';
this.unselectedTintColor = '#888';
this.key = '';
this.title = '';
this.dot = false;
this.badge = null;
this.icon = null;
this.selectedIcon = null;
this.onPress = new EventEmitter();
this.tabBarTab = true;
}
/**
* @param {?} value
* @return {?}
*/
isTemplateRef(value) {
return value instanceof TemplateRef;
}
/**
* @return {?}
*/
ngAfterContentInit() {
if (this.tabPane.active) {
this.selected = true;
}
else {
this.selected = false;
}
this.tintColor = this.tabPane.tintColor;
this.unselectedTintColor = this.tabPane.unselectedTintColor;
}
}
TabBarTab.decorators = [
{ type: Component, args: [{
selector: 'TabBarTab, nzm-tab-bar-tab',
template: "<div class=\"{{prefixCls}}-icon\" [style.color]=\"selected ? tintColor : unselectedTintColor\">\n <Badge *ngIf=\"badge\" className=\"{{prefixCls}}-badge tab-badge\" [text]=\"badge\">\n <ng-container *ngIf=\"isTemplateRef(selected ? selectedIcon : icon); then domTemplate; else imgTemplate\">\n </ng-container>\n </Badge>\n <Badge className=\"{{prefixCls}}-badge tab-badge\" [dot]=\"dot\" *ngIf=\"dot\">\n <ng-container *ngIf=\"isTemplateRef(selected ? selectedIcon : icon); then domTemplate; else imgTemplate\">\n </ng-container>\n </Badge>\n <ng-container *ngIf=\"!badge && !dot\" >\n <ng-container *ngIf=\"isTemplateRef(selected ? selectedIcon : icon); then domTemplate; else imgTemplate\">\n </ng-container>\n </ng-container>\n</div>\n<p class=\"{{prefixCls}}-title\" [style.color]=\"selected ? tintColor : unselectedTintColor\">\n {{title}}\n</p>\n\n<ng-template #domTemplate>\n <ng-template [ngTemplateOutlet]=\"(selected ? selectedIcon : icon)\"></ng-template>\n</ng-template>\n<ng-template #imgTemplate >\n <img src=\"{{selected ? selectedIcon : icon}}\" alt=\"{{title}}\">\n</ng-template>"
}] }
];
/** @nocollapse */
TabBarTab.ctorParameters = () => [
{ type: TabPane, decorators: [{ type: Optional }] }
];
TabBarTab.propDecorators = {
key: [{ type: Input }],
title: [{ type: Input }],
dot: [{ type: Input }],
badge: [{ type: Input }],
icon: [{ type: Input }],
selectedIcon: [{ type: Input }],
onPress: [{ type: Output }],
tabBarTab: [{ type: HostBinding, args: ['class.am-tab-bar-tab',] }]
};
if (false) {
/** @type {?} */
TabBarTab.prototype.prefixCls;
/** @type {?} */
TabBarTab.prototype.selected;
/** @type {?} */
TabBarTab.prototype.tintColor;
/** @type {?} */
TabBarTab.prototype.unselectedTintColor;
/** @type {?} */
TabBarTab.prototype.key;
/** @type {?} */
TabBarTab.prototype.title;
/** @type {?} */
TabBarTab.prototype.dot;
/** @type {?} */
TabBarTab.prototype.badge;
/** @type {?} */
TabBarTab.prototype.icon;
/** @type {?} */
TabBarTab.prototype.selectedIcon;
/** @type {?} */
TabBarTab.prototype.onPress;
/** @type {?} */
TabBarTab.prototype.tabBarTab;
/** @type {?} */
TabBarTab.prototype.tabPane;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJhci10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJ0YWItYmFyL3RhYi1iYXItdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7OztBQVdyRCxNQUFNOzs7O0lBd0JKLFlBQStCLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7eUJBdkIzQixnQkFBZ0I7d0JBQ2hCLEtBQUs7eUJBQ0wsU0FBUzttQ0FDQyxNQUFNO21CQUd0QixFQUFFO3FCQUVBLEVBQUU7bUJBRUgsS0FBSztxQkFFSyxJQUFJO29CQUVNLElBQUk7NEJBRUksSUFBSTt1QkFFVCxJQUFJLFlBQVksRUFBZ0I7eUJBR2pELElBQUk7S0FFMEI7Ozs7O0lBRW5ELGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQztLQUNyQzs7OztJQUVELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7S0FDN0Q7OztZQTFDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsK21DQUEyQzthQUM1Qzs7OztZQVZRLE9BQU8sdUJBbUNELFFBQVE7OztrQkFsQnBCLEtBQUs7b0JBRUwsS0FBSztrQkFFTCxLQUFLO29CQUVMLEtBQUs7bUJBRUwsS0FBSzsyQkFFTCxLQUFLO3NCQUVMLE1BQU07d0JBR04sV0FBVyxTQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgSG9zdEJpbmRpbmcsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFiUGFuZSB9IGZyb20gJy4uL3RhYnMvdGFiLXBhbmUuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBPblByZXNzRXZlbnQge1xuICB0aXRsZTogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnVGFiQmFyVGFiLCBuem0tdGFiLWJhci10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWJhci10YWIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRhYkJhclRhYiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBwcmVmaXhDbHM6IHN0cmluZyA9ICdhbS10YWItYmFyLXRhYic7XG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHRpbnRDb2xvcjogc3RyaW5nID0gJyMxMDhlZTknO1xuICB1bnNlbGVjdGVkVGludENvbG9yOiBzdHJpbmcgPSAnIzg4OCc7XG5cbiAgQElucHV0KClcbiAga2V5OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBkb3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgYmFkZ2U6IG51bWJlciB8IHN0cmluZyA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIGljb246IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+ID0gbnVsbDtcbiAgQElucHV0KClcbiAgc2VsZWN0ZWRJY29uOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPiA9IG51bGw7XG4gIEBPdXRwdXQoKVxuICBvblByZXNzOiBFdmVudEVtaXR0ZXI8T25QcmVzc0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8T25QcmVzc0V2ZW50PigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tdGFiLWJhci10YWInKVxuICB0YWJCYXJUYWI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyB0YWJQYW5lOiBUYWJQYW5lKSB7fVxuXG4gIGlzVGVtcGxhdGVSZWYodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAodGhpcy50YWJQYW5lLmFjdGl2ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy50aW50Q29sb3IgPSB0aGlzLnRhYlBhbmUudGludENvbG9yO1xuICAgIHRoaXMudW5zZWxlY3RlZFRpbnRDb2xvciA9IHRoaXMudGFiUGFuZS51bnNlbGVjdGVkVGludENvbG9yO1xuICB9XG59XG4iXX0=