ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
164 lines (163 loc) • 13.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, Input, ContentChildren, QueryList, HostBinding } from '@angular/core';
import { TabPane } from '../tabs/tab-pane.component';
import { TabBarTab } from './tab-bar-tab.component';
/** @typedef {?} */
var TabBarPositionType;
export { TabBarPositionType };
var TabBar = /** @class */ (function () {
function TabBar() {
this.prefixCls = 'am-tab-bar';
this._tintColor = '#108ee9';
this._unselectedTintColor = '#888';
this.hidden = false;
this.activeTab = 0;
this.barTintColor = 'white';
this.tabBarPosition = 'bottom';
this.tabBar = true;
}
Object.defineProperty(TabBar.prototype, "tintColor", {
get: /**
* @return {?}
*/
function () {
return this._tintColor;
},
set: /**
* @param {?} color
* @return {?}
*/
function (color) {
var _this = this;
this._tintColor = color;
if (this.tabBarTabs && this.tabBarTabs.length > 0) {
this.tabBarTabs.forEach(function (tabBarTab) {
tabBarTab.tintColor = _this._tintColor;
});
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(TabBar.prototype, "unselectedTintColor", {
get: /**
* @return {?}
*/
function () {
return this._unselectedTintColor;
},
set: /**
* @param {?} color
* @return {?}
*/
function (color) {
var _this = this;
this._unselectedTintColor = color;
if (this.tabBarTabs && this.tabBarTabs.length > 0) {
this.tabBarTabs.forEach(function (tabBarTab) {
tabBarTab.unselectedTintColor = _this._unselectedTintColor;
});
}
},
enumerable: true,
configurable: true
});
/**
* @param {?} index
* @return {?}
*/
TabBar.prototype.selectTabPane = /**
* @param {?} index
* @return {?}
*/
function (index) {
this.tabPanes.forEach(function (tabPane, indexKey) {
if (index < indexKey) {
tabPane.position = 'right-without-animation';
}
else if (index > indexKey) {
tabPane.position = 'left-without-animation';
}
else {
tabPane.position = 'center-without-animation';
}
if (index !== indexKey) {
tabPane.active = false;
}
else {
tabPane.active = true;
}
});
if (this.tabBarTabs && this.tabBarTabs.length > 0) {
this.tabBarTabs.forEach(function (tabBarTab) {
tabBarTab.selected = false;
});
this.tabBarTabs.toArray()[index].selected = true;
this.tabBarTabs.toArray()[index].onPress.emit({
title: this.tabBarTabs.toArray()[index].title,
key: this.tabBarTabs.toArray()[index].key
});
}
};
/**
* @return {?}
*/
TabBar.prototype.ngAfterContentInit = /**
* @return {?}
*/
function () {
var _this = this;
this.selectTabPane(this.activeTab);
this.tabPanes.forEach(function (tabPane) {
tabPane.tintColor = _this.tintColor;
tabPane.unselectedTintColor = _this.unselectedTintColor;
});
};
TabBar.decorators = [
{ type: Component, args: [{
selector: 'TabBar, nzm-tab-bar',
template: "<Tabs [activeTab]=\"activeTab\"\n [swipeable]=\"false\"\n [useOnPan]=\"false\"\n [animated]=\"false\"\n [tabDirection]=\"'horizontal'\"\n [tabBarPosition]='tabBarPosition'\n [renderTabBar]=\"TabBarBar\"\n [tabPanesComponent]=\"tabPanes\"\n>\n <ng-content></ng-content>\n</Tabs>\n\n<ng-template #TabBarBar>\n <div class=\"am-tabs-tab-bar-wrap\">\n <div class=\"{{prefixCls}}-bar\"\n [ngClass]=\"{'am-tab-bar-bar-hidden-top': 'top' === tabBarPosition && hidden, 'am-tab-bar-bar-hidden-bottom': 'bottom' === tabBarPosition && hidden}\"\n [style.background-color]=\"barTintColor\">\n <div *ngFor=\"let tabPane of tabPanes; let i = index;\" (click)=\"selectTabPane(i)\">\n <ng-container [ngTemplateOutlet]=\"tabPane.title\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>"
}] }
];
/** @nocollapse */
TabBar.ctorParameters = function () { return []; };
TabBar.propDecorators = {
tabPanes: [{ type: ContentChildren, args: [TabPane, { descendants: true },] }],
tabBarTabs: [{ type: ContentChildren, args: [TabBarTab, { descendants: true },] }],
hidden: [{ type: Input }],
activeTab: [{ type: Input }],
barTintColor: [{ type: Input }],
tabBarPosition: [{ type: Input }],
tintColor: [{ type: Input }],
unselectedTintColor: [{ type: Input }],
tabBar: [{ type: HostBinding, args: ['class.am-tab-bar',] }]
};
return TabBar;
}());
export { TabBar };
if (false) {
/** @type {?} */
TabBar.prototype.prefixCls;
/** @type {?} */
TabBar.prototype._tintColor;
/** @type {?} */
TabBar.prototype._unselectedTintColor;
/** @type {?} */
TabBar.prototype.tabPanes;
/** @type {?} */
TabBar.prototype.tabBarTabs;
/** @type {?} */
TabBar.prototype.hidden;
/** @type {?} */
TabBar.prototype.activeTab;
/** @type {?} */
TabBar.prototype.barTintColor;
/** @type {?} */
TabBar.prototype.tabBarPosition;
/** @type {?} */
TabBar.prototype.tabBar;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbInRhYi1iYXIvdGFiLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztJQXVEbEQ7eUJBOUNvQixZQUFZOzBCQUVILFNBQVM7b0NBQ0MsTUFBTTtzQkFRM0IsS0FBSzt5QkFFSCxDQUFDOzRCQUVFLE9BQU87OEJBRU8sUUFBUTtzQkEyQjNCLElBQUk7S0FFTjtJQTVCaEIsc0JBQ0ksNkJBQVM7Ozs7UUFEYjtZQUVFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN4Qjs7Ozs7UUFDRCxVQUFjLEtBQWE7WUFBM0IsaUJBT0M7WUFOQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFDLFNBQW9CO29CQUMzQyxTQUFTLENBQUMsU0FBUyxHQUFHLEtBQUksQ0FBQyxVQUFVLENBQUM7aUJBQ3ZDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7OztPQVJBO0lBU0Qsc0JBQ0ksdUNBQW1COzs7O1FBRHZCO1lBRUUsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7U0FDbEM7Ozs7O1FBQ0QsVUFBd0IsS0FBYTtZQUFyQyxpQkFPQztZQU5DLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBQyxTQUFvQjtvQkFDM0MsU0FBUyxDQUFDLG1CQUFtQixHQUFHLEtBQUksQ0FBQyxvQkFBb0IsQ0FBQztpQkFDM0QsQ0FBQyxDQUFDO2FBQ0o7U0FDRjs7O09BUkE7Ozs7O0lBZUQsOEJBQWE7Ozs7SUFBYixVQUFjLEtBQWE7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBQyxPQUFnQixFQUFFLFFBQWdCO1lBQ3ZELElBQUksS0FBSyxHQUFHLFFBQVEsRUFBRTtnQkFDcEIsT0FBTyxDQUFDLFFBQVEsR0FBRyx5QkFBeUIsQ0FBQzthQUM5QztpQkFBTSxJQUFJLEtBQUssR0FBRyxRQUFRLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsd0JBQXdCLENBQUM7YUFDN0M7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLFFBQVEsR0FBRywwQkFBMEIsQ0FBQzthQUMvQztZQUNELElBQUksS0FBSyxLQUFLLFFBQVEsRUFBRTtnQkFDdEIsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7YUFDeEI7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7YUFDdkI7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQUMsU0FBb0I7Z0JBQzNDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQzVCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQzVDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUs7Z0JBQzdDLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUc7YUFDMUMsQ0FBQyxDQUFDO1NBQ0o7S0FDRjs7OztJQUVELG1DQUFrQjs7O0lBQWxCO1FBQUEsaUJBTUM7UUFMQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFDLE9BQWdCO1lBQ3JDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxPQUFPLENBQUMsbUJBQW1CLEdBQUcsS0FBSSxDQUFDLG1CQUFtQixDQUFDO1NBQ3hELENBQUMsQ0FBQztLQUNKOztnQkF0RkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLGsyQkFBdUM7aUJBQ3hDOzs7OzsyQkFPRSxlQUFlLFNBQUMsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTs2QkFFOUMsZUFBZSxTQUFDLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7eUJBR2hELEtBQUs7NEJBRUwsS0FBSzsrQkFFTCxLQUFLO2lDQUVMLEtBQUs7NEJBRUwsS0FBSztzQ0FZTCxLQUFLO3lCQWFMLFdBQVcsU0FBQyxrQkFBa0I7O2lCQXREakM7O1NBVWEsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJDb250ZW50SW5pdCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFiUGFuZSB9IGZyb20gJy4uL3RhYnMvdGFiLXBhbmUuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkJhclRhYiB9IGZyb20gJy4vdGFiLWJhci10YWIuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgVGFiQmFyUG9zaXRpb25UeXBlID0gJ3RvcCcgfCAnYm90dG9tJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnVGFiQmFyLCBuem0tdGFiLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItYmFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUYWJCYXIgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJlZml4Q2xzOiBzdHJpbmcgPSAnYW0tdGFiLWJhcic7XG5cbiAgcHJpdmF0ZSBfdGludENvbG9yOiBzdHJpbmcgPSAnIzEwOGVlOSc7XG4gIHByaXZhdGUgX3Vuc2VsZWN0ZWRUaW50Q29sb3I6IHN0cmluZyA9ICcjODg4JztcblxuICBAQ29udGVudENoaWxkcmVuKFRhYlBhbmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgdGFiUGFuZXM6IFF1ZXJ5TGlzdDxUYWJQYW5lPjtcbiAgQENvbnRlbnRDaGlsZHJlbihUYWJCYXJUYWIsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgdGFiQmFyVGFiczogUXVlcnlMaXN0PFRhYkJhclRhYj47XG5cbiAgQElucHV0KClcbiAgaGlkZGVuOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGFjdGl2ZVRhYjogbnVtYmVyID0gMDtcbiAgQElucHV0KClcbiAgYmFyVGludENvbG9yOiBzdHJpbmcgPSAnd2hpdGUnO1xuICBASW5wdXQoKVxuICB0YWJCYXJQb3NpdGlvbjogVGFiQmFyUG9zaXRpb25UeXBlID0gJ2JvdHRvbSc7XG4gIEBJbnB1dCgpXG4gIGdldCB0aW50Q29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGludENvbG9yO1xuICB9XG4gIHNldCB0aW50Q29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMuX3RpbnRDb2xvciA9IGNvbG9yO1xuICAgIGlmICh0aGlzLnRhYkJhclRhYnMgJiYgdGhpcy50YWJCYXJUYWJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGFiQmFyVGFicy5mb3JFYWNoKCh0YWJCYXJUYWI6IFRhYkJhclRhYikgPT4ge1xuICAgICAgICB0YWJCYXJUYWIudGludENvbG9yID0gdGhpcy5fdGludENvbG9yO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIGdldCB1bnNlbGVjdGVkVGludENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3Vuc2VsZWN0ZWRUaW50Q29sb3I7XG4gIH1cbiAgc2V0IHVuc2VsZWN0ZWRUaW50Q29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMuX3Vuc2VsZWN0ZWRUaW50Q29sb3IgPSBjb2xvcjtcbiAgICBpZiAodGhpcy50YWJCYXJUYWJzICYmIHRoaXMudGFiQmFyVGFicy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRhYkJhclRhYnMuZm9yRWFjaCgodGFiQmFyVGFiOiBUYWJCYXJUYWIpID0+IHtcbiAgICAgICAgdGFiQmFyVGFiLnVuc2VsZWN0ZWRUaW50Q29sb3IgPSB0aGlzLl91bnNlbGVjdGVkVGludENvbG9yO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS10YWItYmFyJylcbiAgdGFiQmFyOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgc2VsZWN0VGFiUGFuZShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy50YWJQYW5lcy5mb3JFYWNoKCh0YWJQYW5lOiBUYWJQYW5lLCBpbmRleEtleTogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaW5kZXggPCBpbmRleEtleSkge1xuICAgICAgICB0YWJQYW5lLnBvc2l0aW9uID0gJ3JpZ2h0LXdpdGhvdXQtYW5pbWF0aW9uJztcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPiBpbmRleEtleSkge1xuICAgICAgICB0YWJQYW5lLnBvc2l0aW9uID0gJ2xlZnQtd2l0aG91dC1hbmltYXRpb24nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFiUGFuZS5wb3NpdGlvbiA9ICdjZW50ZXItd2l0aG91dC1hbmltYXRpb24nO1xuICAgICAgfVxuICAgICAgaWYgKGluZGV4ICE9PSBpbmRleEtleSkge1xuICAgICAgICB0YWJQYW5lLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFiUGFuZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0aGlzLnRhYkJhclRhYnMgJiYgdGhpcy50YWJCYXJUYWJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGFiQmFyVGFicy5mb3JFYWNoKCh0YWJCYXJUYWI6IFRhYkJhclRhYikgPT4ge1xuICAgICAgICB0YWJCYXJUYWIuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy50YWJCYXJUYWJzLnRvQXJyYXkoKVtpbmRleF0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy50YWJCYXJUYWJzLnRvQXJyYXkoKVtpbmRleF0ub25QcmVzcy5lbWl0KHtcbiAgICAgICAgdGl0bGU6IHRoaXMudGFiQmFyVGFicy50b0FycmF5KClbaW5kZXhdLnRpdGxlLFxuICAgICAgICBrZXk6IHRoaXMudGFiQmFyVGFicy50b0FycmF5KClbaW5kZXhdLmtleVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuc2VsZWN0VGFiUGFuZSh0aGlzLmFjdGl2ZVRhYik7XG4gICAgdGhpcy50YWJQYW5lcy5mb3JFYWNoKCh0YWJQYW5lOiBUYWJQYW5lKSA9PiB7XG4gICAgICB0YWJQYW5lLnRpbnRDb2xvciA9IHRoaXMudGludENvbG9yO1xuICAgICAgdGFiUGFuZS51bnNlbGVjdGVkVGludENvbG9yID0gdGhpcy51bnNlbGVjdGVkVGludENvbG9yO1xuICAgIH0pO1xuICB9XG59XG4iXX0=