UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

217 lines (216 loc) 13.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, Input, HostBinding, ElementRef, Renderer2 } from '@angular/core'; export class Badge { /** * @param {?} _ref * @param {?} render */ constructor(_ref, render) { this._ref = _ref; this.render = render; this.prefixCls = 'am-badge'; this.scrollNumberCls = {}; this.style = {}; this._size = 'small'; this._dot = false; this._hot = false; this._corner = false; this._children = false; this._overflowCount = 99; this.clsBadge = true; this.clsBadgeWrp = !this._children; this.clsBadgeCornerWrp = this._corner; this.clsBadgeHot = !!this._hot; this.clsBadgeCornerWrpLg = this._corner && this._size === 'large'; } /** * @param {?} v * @return {?} */ set size(v) { this._size = v; this.setCls(); } /** * @return {?} */ get text() { return this._text; } /** * @param {?} v * @return {?} */ set text(v) { this._text = v; this.setCls(); } /** * @param {?} v * @return {?} */ set corner(v) { this._corner = v; this.setCls(); } /** * @return {?} */ get dot() { return this._dot; } /** * @param {?} v * @return {?} */ set dot(v) { this._dot = v; if (this._dot) { this._text = ''; } this.setCls(); } /** * @param {?} v * @return {?} */ set overflowCount(v) { this._overflowCount = v; } /** * @param {?} v * @return {?} */ set hot(v) { this._hot = v; this.setCls(); } /** * @param {?} v * @return {?} */ set setStyle(v) { this.style = v; } /** * @param {?} v * @return {?} */ set className(v) { this._setClass = v; /** @type {?} */ const clsArr = this._setClass.split(' '); clsArr.forEach(cls => { this.render.addClass(this._ref.nativeElement, cls); }); } /** * @return {?} */ setCls() { this.scrollNumberCls = { [`${this.prefixCls}-dot`]: this._dot, [`${this.prefixCls}-dot-large`]: this._dot && this._size === 'large', [`${this.prefixCls}-text`]: !this._dot && !this._corner, [`${this.prefixCls}-corner`]: this._corner, [`${this.prefixCls}-corner-large`]: this._corner && this._size === 'large' }; this.clsBadgeWrp = !this._children; this.clsBadgeCornerWrp = this._corner; this.clsBadgeHot = !!this._hot; this.clsBadgeCornerWrpLg = this._corner && this._size === 'large'; } /** * @return {?} */ ngOnChanges() { if (typeof this._text === 'number' && this._text > this._overflowCount) { this._text = this._overflowCount + '+'; } } /** * @return {?} */ ngOnInit() { this.setCls(); } /** * @return {?} */ ngAfterViewInit() { setTimeout(() => { if (this._ref.nativeElement.children.length > 1) { this._children = true; this.setCls(); } }, 10); } } Badge.decorators = [ { type: Component, args: [{ selector: 'Badge, nzm-badge', template: "<ng-content></ng-content>\n<sup *ngIf=\"dot || text\"\n [ngClass]=\"scrollNumberCls\"\n [ngStyle]=\"style\">{{text}}\n</sup>\n" }] } ]; /** @nocollapse */ Badge.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; Badge.propDecorators = { size: [{ type: Input }], text: [{ type: Input }], corner: [{ type: Input }], dot: [{ type: Input }], overflowCount: [{ type: Input }], hot: [{ type: Input }], setStyle: [{ type: Input }], className: [{ type: Input }], clsBadge: [{ type: HostBinding, args: ['class.am-badge',] }], clsBadgeWrp: [{ type: HostBinding, args: ['class.am-badge-not-a-wrapper',] }], clsBadgeCornerWrp: [{ type: HostBinding, args: ['class.am-badge-corner-wrapper',] }], clsBadgeHot: [{ type: HostBinding, args: ['class.am-badge-hot',] }], clsBadgeCornerWrpLg: [{ type: HostBinding, args: ['class.am-badge-corner-wrapper-large',] }] }; if (false) { /** @type {?} */ Badge.prototype.prefixCls; /** @type {?} */ Badge.prototype.scrollNumberCls; /** @type {?} */ Badge.prototype.style; /** @type {?} */ Badge.prototype._text; /** @type {?} */ Badge.prototype._setClass; /** @type {?} */ Badge.prototype._size; /** @type {?} */ Badge.prototype._dot; /** @type {?} */ Badge.prototype._hot; /** @type {?} */ Badge.prototype._corner; /** @type {?} */ Badge.prototype._children; /** @type {?} */ Badge.prototype._overflowCount; /** @type {?} */ Badge.prototype.clsBadge; /** @type {?} */ Badge.prototype.clsBadgeWrp; /** @type {?} */ Badge.prototype.clsBadgeCornerWrp; /** @type {?} */ Badge.prototype.clsBadgeHot; /** @type {?} */ Badge.prototype.clsBadgeCornerWrpLg; /** @type {?} */ Badge.prototype._ref; /** @type {?} */ Badge.prototype.render; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJiYWRnZS9iYWRnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU12SCxNQUFNOzs7OztJQTRFSixZQUFvQixJQUFnQixFQUFVLE1BQWlCO1FBQTNDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFXO3lCQTNFM0MsVUFBVTsrQkFDSixFQUFFO3FCQUNaLEVBQUU7cUJBSU0sT0FBTztvQkFDUCxLQUFLO29CQUNMLEtBQUs7dUJBQ0YsS0FBSzt5QkFDSCxLQUFLOzhCQUNELEVBQUU7d0JBc0RmLElBQUk7MkJBRUQsQ0FBQyxJQUFJLENBQUMsU0FBUztpQ0FFVCxJQUFJLENBQUMsT0FBTzsyQkFFbEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO21DQUVILElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPO0tBRUY7Ozs7O0lBOURuRSxJQUNJLElBQUksQ0FBQyxDQUFTO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ2Y7Ozs7SUFDRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDbkI7Ozs7O0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBUztRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUNmOzs7OztJQUNELElBQ0ksTUFBTSxDQUFDLENBQVU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIs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RyxJQUFJLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO1NBQ0YsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNSOzs7WUFqSEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLGdKQUFxQzthQUN0Qzs7OztZQUwwRCxVQUFVO1lBQWlCLFNBQVM7OzttQkFvQjVGLEtBQUs7bUJBS0wsS0FBSztxQkFRTCxLQUFLO2tCQUtMLEtBQUs7NEJBV0wsS0FBSztrQkFJTCxLQUFLO3VCQUtMLEtBQUs7d0JBSUwsS0FBSzt1QkFTTCxXQUFXLFNBQUMsZ0JBQWdCOzBCQUU1QixXQUFXLFNBQUMsOEJBQThCO2dDQUUxQyxXQUFXLFNBQUMsK0JBQStCOzBCQUUzQyxXQUFXLFNBQUMsb0JBQW9CO2tDQUVoQyxXQUFXLFNBQUMscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBIb3N0QmluZGluZywgT25DaGFuZ2VzLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnQmFkZ2UsIG56bS1iYWRnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYWRnZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2UgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByZWZpeENsczogc3RyaW5nID0gJ2FtLWJhZGdlJztcbiAgc2Nyb2xsTnVtYmVyQ2xzOiBvYmplY3QgPSB7fTtcbiAgc3R5bGU6IG9iamVjdCA9IHt9O1xuXG4gIHByaXZhdGUgX3RleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfc2V0Q2xhc3M6IHN0cmluZztcbiAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nID0gJ3NtYWxsJztcbiAgcHJpdmF0ZSBfZG90OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2hvdDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9jb3JuZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfb3ZlcmZsb3dDb3VudDogbnVtYmVyID0gOTk7XG5cbiAgQElucHV0KClcbiAgc2V0IHNpemUodjogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHY7XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuICBASW5wdXQoKVxuICBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90ZXh0O1xuICB9XG4gIHNldCB0ZXh0KHY6IHN0cmluZykge1xuICAgIHRoaXMuX3RleHQgPSB2O1xuICAgIHRoaXMuc2V0Q2xzKCk7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IGNvcm5lcih2OiBib29sZWFuKSB7XG4gICAgdGhpcy5fY29ybmVyID0gdjtcbiAgICB0aGlzLnNldENscygpO1xuICB9XG4gIEBJbnB1dCgpXG4gIGdldCBkb3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RvdDtcbiAgfVxuICBzZXQgZG90KHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kb3QgPSB2O1xuICAgIGlmICh0aGlzLl9kb3QpIHtcbiAgICAgIHRoaXMuX3RleHQgPSAnJztcbiAgICB9XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgb3ZlcmZsb3dDb3VudCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl9vdmVyZmxvd0NvdW50ID0gdjtcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgaG90KHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9ob3QgPSB2O1xuICAgIHRoaXMuc2V0Q2xzKCk7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IHNldFN0eWxlKHY6IG9iamVjdCkge1xuICAgIHRoaXMuc3R5bGUgPSB2O1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBjbGFzc05hbWUodjogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2V0Q2xhc3MgPSB2O1xuICAgIGNvbnN0IGNsc0FyciA9IHRoaXMuX3NldENsYXNzLnNwbGl0KCcgJyk7XG4gICAgY2xzQXJyLmZvckVhY2goY2xzID0+IHtcbiAgICAgIHRoaXMucmVuZGVyLmFkZENsYXNzKHRoaXMuX3JlZi5uYXRpdmVFbGVtZW50LCBjbHMpO1xuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS1iYWRnZScpXG4gIGNsc0JhZGdlOiBib29sZWFuID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS1iYWRnZS1ub3QtYS13cmFwcGVyJylcbiAgY2xzQmFkZ2VXcnA6IGJvb2xlYW4gPSAhdGhpcy5fY2hpbGRyZW47XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tYmFkZ2UtY29ybmVyLXdyYXBwZXInKVxuICBjbHNCYWRnZUNvcm5lcldycDogYm9vbGVhbiA9IHRoaXMuX2Nvcm5lcjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS1iYWRnZS1ob3QnKVxuICBjbHNCYWRnZUhvdDogYm9vbGVhbiA9ICEhdGhpcy5faG90O1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLWJhZGdlLWNvcm5lci13cmFwcGVyLWxhcmdlJylcbiAgY2xzQmFkZ2VDb3JuZXJXcnBMZzogYm9vbGVhbiA9IHRoaXMuX2Nvcm5lciAmJiB0aGlzLl9zaXplID09PSAnbGFyZ2UnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXI6IFJlbmRlcmVyMikge31cblxuICBzZXRDbHMoKSB7XG4gICAgdGhpcy5zY3JvbGxOdW1iZXJDbHMgPSB7XG4gICAgICBbYCR7dGhpcy5wcmVmaXhDbHN9LWRvdGBdOiB0aGlzLl9kb3QsXG4gICAgICBbYCR7dGhpcy5wcmVmaXhDbHN9LWRvdC1sYXJnZWBdOiB0aGlzLl9kb3QgJiYgdGhpcy5fc2l6ZSA9PT0gJ2xhcmdlJyxcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tdGV4dGBdOiAhdGhpcy5fZG90ICYmICF0aGlzLl9jb3JuZXIsXG4gICAgICBbYCR7dGhpcy5wcmVmaXhDbHN9LWNvcm5lcmBdOiB0aGlzLl9jb3JuZXIsXG4gICAgICBbYCR7dGhpcy5wcmVmaXhDbHN9LWNvcm5lci1sYXJnZWBdOiB0aGlzLl9jb3JuZXIgJiYgdGhpcy5fc2l6ZSA9PT0gJ2xhcmdlJ1xuICAgIH07XG4gICAgdGhpcy5jbHNCYWRnZVdycCA9ICF0aGlzLl9jaGlsZHJlbjtcbiAgICB0aGlzLmNsc0JhZGdlQ29ybmVyV3JwID0gdGhpcy5fY29ybmVyO1xuICAgIHRoaXMuY2xzQmFkZ2VIb3QgPSAhIXRoaXMuX2hvdDtcbiAgICB0aGlzLmNsc0JhZGdlQ29ybmVyV3JwTGcgPSB0aGlzLl9jb3JuZXIgJiYgdGhpcy5fc2l6ZSA9PT0gJ2xhcmdlJztcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdGV4dCA9PT0gJ251bWJlcicgJiYgdGhpcy5fdGV4dCA+IHRoaXMuX292ZXJmbG93Q291bnQpIHtcbiAgICAgIHRoaXMuX3RleHQgPSB0aGlzLl9vdmVyZmxvd0NvdW50ICsgJysnO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0Q2xzKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fcmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgICB0aGlzLl9jaGlsZHJlbiA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0Q2xzKCk7XG4gICAgICB9XG4gICAgfSwgMTApO1xuICB9XG59XG4iXX0=