ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
185 lines • 13.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, Output, ContentChildren, QueryList, HostBinding, EventEmitter } from '@angular/core';
import { TabBarItemComponent } from './tab-bar-item.component';
/**
* @record
*/
export function TabBarOnPressEvent() { }
if (false) {
/** @type {?} */
TabBarOnPressEvent.prototype.index;
/** @type {?} */
TabBarOnPressEvent.prototype.title;
/** @type {?} */
TabBarOnPressEvent.prototype.key;
}
export class TabBarComponent {
constructor() {
this.prefixCls = 'am-tab-bar';
this._activeTab = 0;
this._tintColor = '#108ee9';
this._unselectedTintColor = '#888';
this.hidden = false;
this.prerenderingSiblingsNumber = -1;
this.barTintColor = 'white';
this.tabBarPosition = 'bottom';
this.onPress = new EventEmitter();
this.tabBar = true;
}
/**
* @return {?}
*/
get activeTab() {
return this._activeTab;
}
/**
* @param {?} tab
* @return {?}
*/
set activeTab(tab) {
this._activeTab = tab;
if (this.tabBarItems && this.tabBarItems.length > 0) {
this.selectTabBarItem(tab);
}
}
/**
* @return {?}
*/
get tintColor() {
return this._tintColor;
}
/**
* @param {?} color
* @return {?}
*/
set tintColor(color) {
this._tintColor = color;
if (this.tabBarItems && this.tabBarItems.length > 0) {
this.tabBarItems.forEach((/**
* @param {?} tabBarItem
* @return {?}
*/
(tabBarItem) => {
tabBarItem.tintColor = this._tintColor;
}));
}
}
/**
* @return {?}
*/
get unselectedTintColor() {
return this._unselectedTintColor;
}
/**
* @param {?} color
* @return {?}
*/
set unselectedTintColor(color) {
this._unselectedTintColor = color;
if (this.tabBarItems && this.tabBarItems.length > 0) {
this.tabBarItems.forEach((/**
* @param {?} tabBarItem
* @return {?}
*/
(tabBarItem) => {
tabBarItem.unselectedTintColor = this._unselectedTintColor;
}));
}
}
/**
* @param {?} index
* @return {?}
*/
selectTabBarItem(index) {
if (this.tabBarItems && this.tabBarItems.length > 0) {
this.tabBarItems.forEach((/**
* @param {?} tabBarItem
* @return {?}
*/
(tabBarItem) => {
tabBarItem.selected = false;
}));
this.tabBarItems.toArray()[index].selected = true;
}
}
/**
* @param {?} pressParam
* @return {?}
*/
tabBarTabOnPress(pressParam) {
this.onPress.emit(pressParam);
}
/**
* @return {?}
*/
ngAfterContentInit() {
if (this.tabBarItems && this.tabBarItems.length > 0) {
this.tabBarItems.forEach((/**
* @param {?} tabBarItem
* @return {?}
*/
(tabBarItem) => {
tabBarItem.tintColor = this._tintColor;
tabBarItem.unselectedTintColor = this._unselectedTintColor;
}));
}
this.selectTabBarItem(this.activeTab);
}
}
TabBarComponent.decorators = [
{ type: Component, args: [{
selector: 'TabBar, nzm-tab-bar',
template: "<Tabs\n [animated]=\"false\"\n [useOnPan]=\"false\"\n [swipeable]=\"false\"\n [activeTab]=\"activeTab\"\n [renderTabBar]=\"TabBarBar\"\n [tabDirection]=\"'horizontal'\"\n [tabPanesContent]=\"tabBarItems\"\n [tabBarPosition]=\"tabBarPosition\"\n [prerenderingSiblingsNumber]=\"prerenderingSiblingsNumber\"\n></Tabs>\n\n<ng-template #TabBarBar>\n <div class=\"am-tabs-tab-bar-wrap\">\n <div\n class=\"{{ prefixCls }}-bar\"\n [ngClass]=\"{\n 'am-tab-bar-bar-hidden-top': 'top' === tabBarPosition && hidden,\n 'am-tab-bar-bar-hidden-bottom': 'bottom' === tabBarPosition && hidden\n }\"\n [style.background-color]=\"barTintColor\"\n >\n <div\n class=\"am-tab-bar-tab\"\n *ngFor=\"let tabBarItem of tabBarItems; let i = index\"\n (click)=\"tabBarTabOnPress({ index: i, key: tabBarItem.key, title: tabBarItem.title })\"\n >\n <ng-container [ngTemplateOutlet]=\"tabBarItem.tabBarTab\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n"
}] }
];
/** @nocollapse */
TabBarComponent.ctorParameters = () => [];
TabBarComponent.propDecorators = {
tabBarItems: [{ type: ContentChildren, args: [TabBarItemComponent, { descendants: true },] }],
hidden: [{ type: Input }],
prerenderingSiblingsNumber: [{ type: Input }],
activeTab: [{ type: Input }],
barTintColor: [{ type: Input }],
tabBarPosition: [{ type: Input }],
tintColor: [{ type: Input }],
unselectedTintColor: [{ type: Input }],
onPress: [{ type: Output }],
tabBar: [{ type: HostBinding, args: ['class.am-tab-bar',] }]
};
if (false) {
/** @type {?} */
TabBarComponent.prototype.prefixCls;
/**
* @type {?}
* @private
*/
TabBarComponent.prototype._activeTab;
/**
* @type {?}
* @private
*/
TabBarComponent.prototype._tintColor;
/**
* @type {?}
* @private
*/
TabBarComponent.prototype._unselectedTintColor;
/** @type {?} */
TabBarComponent.prototype.tabBarItems;
/** @type {?} */
TabBarComponent.prototype.hidden;
/** @type {?} */
TabBarComponent.prototype.prerenderingSiblingsNumber;
/** @type {?} */
TabBarComponent.prototype.barTintColor;
/** @type {?} */
TabBarComponent.prototype.tabBarPosition;
/** @type {?} */
TabBarComponent.prototype.onPress;
/** @type {?} */
TabBarComponent.prototype.tabBar;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbInRhYi1iYXIvdGFiLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBQ2YsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFHL0Qsd0NBSUM7OztJQUhDLG1DQUFjOztJQUNkLG1DQUFjOztJQUNkLGlDQUFZOztBQU9kLE1BQU0sT0FBTyxlQUFlO0lBeUQxQjtRQXhEQSxjQUFTLEdBQVcsWUFBWSxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZUFBVSxHQUFXLFNBQVMsQ0FBQztRQUMvQix5QkFBb0IsR0FBVyxNQUFNLENBQUM7UUFNOUMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QiwrQkFBMEIsR0FBVyxDQUFDLENBQUMsQ0FBQztRQVl4QyxpQkFBWSxHQUFXLE9BQU8sQ0FBQztRQUUvQixtQkFBYyxHQUEwQixRQUFRLENBQUM7UUEwQmpELFlBQU8sR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHbkYsV0FBTSxHQUFZLElBQUksQ0FBQztJQUVSLENBQUM7Ozs7SUE1Q2hCLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDOzs7OztJQUNELElBQUksU0FBUyxDQUFDLEdBQVc7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMs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K0I7O0lBQy9CLHlDQUNpRDs7SUF5QmpELGtDQUNtRjs7SUFFbkYsaUNBQ3VCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgSG9zdEJpbmRpbmcsXG4gIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYkJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3RhYi1iYXItaXRlbS5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBUYWJCYXJUYWJQb3NpdGlvblR5cGUgPSAndG9wJyB8ICdib3R0b20nO1xuZXhwb3J0IGludGVyZmFjZSBUYWJCYXJPblByZXNzRXZlbnQge1xuICBpbmRleDogbnVtYmVyO1xuICB0aXRsZTogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnVGFiQmFyLCBuem0tdGFiLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItYmFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUYWJCYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJlZml4Q2xzOiBzdHJpbmcgPSAnYW0tdGFiLWJhcic7XG4gIHByaXZhdGUgX2FjdGl2ZVRhYjogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBfdGludENvbG9yOiBzdHJpbmcgPSAnIzEwOGVlOSc7XG4gIHByaXZhdGUgX3Vuc2VsZWN0ZWRUaW50Q29sb3I6IHN0cmluZyA9ICcjODg4JztcblxuICBAQ29udGVudENoaWxkcmVuKFRhYkJhckl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgdGFiQmFySXRlbXM6IFF1ZXJ5TGlzdDxUYWJCYXJJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICBoaWRkZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHJlcmVuZGVyaW5nU2libGluZ3NOdW1iZXI6IG51bWJlciA9IC0xO1xuICBASW5wdXQoKVxuICBnZXQgYWN0aXZlVGFiKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVRhYjtcbiAgfVxuICBzZXQgYWN0aXZlVGFiKHRhYjogbnVtYmVyKSB7XG4gICAgdGhpcy5fYWN0aXZlVGFiID0gdGFiO1xuICAgIGlmICh0aGlzLnRhYkJhckl0ZW1zICYmIHRoaXMudGFiQmFySXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3RUYWJCYXJJdGVtKHRhYik7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIGJhclRpbnRDb2xvcjogc3RyaW5nID0gJ3doaXRlJztcbiAgQElucHV0KClcbiAgdGFiQmFyUG9zaXRpb246IFRhYkJhclRhYlBvc2l0aW9uVHlwZSA9ICdib3R0b20nO1xuICBASW5wdXQoKVxuICBnZXQgdGludENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RpbnRDb2xvcjtcbiAgfVxuICBzZXQgdGludENvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aW50Q29sb3IgPSBjb2xvcjtcbiAgICBpZiAodGhpcy50YWJCYXJJdGVtcyAmJiB0aGlzLnRhYkJhckl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGFiQmFySXRlbXMuZm9yRWFjaCgodGFiQmFySXRlbTogVGFiQmFySXRlbUNvbXBvbmVudCkgPT4ge1xuICAgICAgICB0YWJCYXJJdGVtLnRpbnRDb2xvciA9IHRoaXMuX3RpbnRDb2xvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKVxuICBnZXQgdW5zZWxlY3RlZFRpbnRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl91bnNlbGVjdGVkVGludENvbG9yO1xuICB9XG4gIHNldCB1bnNlbGVjdGVkVGludENvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLl91bnNlbGVjdGVkVGludENvbG9yID0gY29sb3I7XG4gICAgaWYgKHRoaXMudGFiQmFySXRlbXMgJiYgdGhpcy50YWJCYXJJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRhYkJhckl0ZW1zLmZvckVhY2goKHRhYkJhckl0ZW06IFRhYkJhckl0ZW1Db21wb25lbnQpID0+IHtcbiAgICAgICAgdGFiQmFySXRlbS51bnNlbGVjdGVkVGludENvbG9yID0gdGhpcy5fdW5zZWxlY3RlZFRpbnRDb2xvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBAT3V0cHV0KClcbiAgb25QcmVzczogRXZlbnRFbWl0dGVyPFRhYkJhck9uUHJlc3NFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYkJhck9uUHJlc3NFdmVudD4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLXRhYi1iYXInKVxuICB0YWJCYXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBzZWxlY3RUYWJCYXJJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy50YWJCYXJJdGVtcyAmJiB0aGlzLnRhYkJhckl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGFiQmFySXRlbXMuZm9yRWFjaCgodGFiQmFySXRlbTogVGFiQmFySXRlbUNvbXBvbmVudCkgPT4ge1xuICAgICAgICB0YWJCYXJJdGVtLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudGFiQmFySXRlbXMudG9BcnJheSgpW2luZGV4XS5zZWxlY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdGFiQmFyVGFiT25QcmVzcyhwcmVzc1BhcmFtOiBUYWJCYXJPblByZXNzRXZlbnQpIHtcbiAgICB0aGlzLm9uUHJlc3MuZW1pdChwcmVzc1BhcmFtKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAodGhpcy50YWJCYXJJdGVtcyAmJiB0aGlzLnRhYkJhckl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGFiQmFySXRlbXMuZm9yRWFjaCgodGFiQmFySXRlbTogVGFiQmFySXRlbUNvbXBvbmVudCkgPT4ge1xuICAgICAgICB0YWJCYXJJdGVtLnRpbnRDb2xvciA9IHRoaXMuX3RpbnRDb2xvcjtcbiAgICAgICAgdGFiQmFySXRlbS51bnNlbGVjdGVkVGludENvbG9yID0gdGhpcy5fdW5zZWxlY3RlZFRpbnRDb2xvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdFRhYkJhckl0ZW0odGhpcy5hY3RpdmVUYWIpO1xuICB9XG59XG4iXX0=