ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
262 lines (261 loc) • 15.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, Input, HostBinding, ElementRef, Renderer2 } from '@angular/core';
var Badge = /** @class */ (function () {
function Badge(_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';
}
Object.defineProperty(Badge.prototype, "size", {
set: /**
* @param {?} v
* @return {?}
*/
function (v) {
this._size = v;
this.setCls();
},
enumerable: true,
configurable: true
});
Object.defineProperty(Badge.prototype, "text", {
get: /**
* @return {?}
*/
function () {
return this._text;
},
set: /**
* @param {?} v
* @return {?}
*/
function (v) {
this._text = v;
this.setCls();
},
enumerable: true,
configurable: true
});
Object.defineProperty(Badge.prototype, "corner", {
set: /**
* @param {?} v
* @return {?}
*/
function (v) {
this._corner = v;
this.setCls();
},
enumerable: true,
configurable: true
});
Object.defineProperty(Badge.prototype, "dot", {
get: /**
* @return {?}
*/
function () {
return this._dot;
},
set: /**
* @param {?} v
* @return {?}
*/
function (v) {
this._dot = v;
if (this._dot) {
this._text = '';
}
this.setCls();
},
enumerable: true,
configurable: true
});
Object.defineProperty(Badge.prototype, "overflowCount", {
set: /**
* @param {?} v
* @return {?}
*/
function (v) {
this._overflowCount = v;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Badge.prototype, "hot", {
set: /**
* @param {?} v
* @return {?}
*/
function (v) {
this._hot = v;
this.setCls();
},
enumerable: true,
configurable: true
});
Object.defineProperty(Badge.prototype, "setStyle", {
set: /**
* @param {?} v
* @return {?}
*/
function (v) {
this.style = v;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Badge.prototype, "className", {
set: /**
* @param {?} v
* @return {?}
*/
function (v) {
var _this = this;
this._setClass = v;
/** @type {?} */
var clsArr = this._setClass.split(' ');
clsArr.forEach(function (cls) {
_this.render.addClass(_this._ref.nativeElement, cls);
});
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
Badge.prototype.setCls = /**
* @return {?}
*/
function () {
var _a;
this.scrollNumberCls = (_a = {},
_a[this.prefixCls + "-dot"] = this._dot,
_a[this.prefixCls + "-dot-large"] = this._dot && this._size === 'large',
_a[this.prefixCls + "-text"] = !this._dot && !this._corner,
_a[this.prefixCls + "-corner"] = this._corner,
_a[this.prefixCls + "-corner-large"] = this._corner && this._size === 'large',
_a);
this.clsBadgeWrp = !this._children;
this.clsBadgeCornerWrp = this._corner;
this.clsBadgeHot = !!this._hot;
this.clsBadgeCornerWrpLg = this._corner && this._size === 'large';
};
/**
* @return {?}
*/
Badge.prototype.ngOnChanges = /**
* @return {?}
*/
function () {
if (typeof this._text === 'number' && this._text > this._overflowCount) {
this._text = this._overflowCount + '+';
}
};
/**
* @return {?}
*/
Badge.prototype.ngOnInit = /**
* @return {?}
*/
function () {
this.setCls();
};
/**
* @return {?}
*/
Badge.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
var _this = this;
setTimeout(function () {
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 = function () { return [
{ 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',] }]
};
return Badge;
}());
export { Badge };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJiYWRnZS9iYWRnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7SUFrRnJILGVBQW9CLElBQWdCLEVBQVUsTUFBaUI7UUFBM0MsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7eUJBM0UzQyxVQUFVOytCQUNKLEVBQUU7cUJBQ1osRUFBRTtxQkFJTSxPQUFPO29CQUNQLEtBQUs7b0JBQ0wsS0FBSzt1QkFDRixLQUFLO3lCQUNILEtBQUs7OEJBQ0QsRUFBRTt3QkFzRGYsSUFBSTsyQkFFRCxDQUFDLElBQUksQ0FBQyxTQUFTO2lDQUVULElBQUksQ0FBQyxPQUFPOzJCQUVsQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7bUNBRUgsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU87S0FFRjtJQTlEbkUsc0JBQ0ksdUJBQUk7Ozs7O1FBRFIsVUFDUyxDQUFTO1lBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2Y7OztPQUFBO0lBQ0Qsc0JBQ0ksdUJBQUk7Ozs7UUFEUjtZQUVFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQjs7Ozs7UUFDRCxVQUFTLENBQVM7WUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZjs7O09BSkE7SUFLRCxzQkFDSSx5QkFBTTs7Ozs7UUFEVixVQUNXLENBQVU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFD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QUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDL0MsS0FBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO1NBQ0YsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNSOztnQkFqSEYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGdKQUFxQztpQkFDdEM7Ozs7Z0JBTDBELFVBQVU7Z0JBQWlCLFNBQVM7Ozt1QkFvQjVGLEtBQUs7dUJBS0wsS0FBSzt5QkFRTCxLQUFLO3NCQUtMLEtBQUs7Z0NBV0wsS0FBSztzQkFJTCxLQUFLOzJCQUtMLEtBQUs7NEJBSUwsS0FBSzsyQkFTTCxXQUFXLFNBQUMsZ0JBQWdCOzhCQUU1QixXQUFXLFNBQUMsOEJBQThCO29DQUUxQyxXQUFXLFNBQUMsK0JBQStCOzhCQUUzQyxXQUFXLFNBQUMsb0JBQW9CO3NDQUVoQyxXQUFXLFNBQUMscUNBQXFDOztnQkEvRXBEOztTQU1hLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBPbkNoYW5nZXMsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdCYWRnZSwgbnptLWJhZGdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCYWRnZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHJlZml4Q2xzOiBzdHJpbmcgPSAnYW0tYmFkZ2UnO1xuICBzY3JvbGxOdW1iZXJDbHM6IG9iamVjdCA9IHt9O1xuICBzdHlsZTogb2JqZWN0ID0ge307XG5cbiAgcHJpdmF0ZSBfdGV4dDogc3RyaW5nO1xuICBwcml2YXRlIF9zZXRDbGFzczogc3RyaW5nO1xuICBwcml2YXRlIF9zaXplOiBzdHJpbmcgPSAnc21hbGwnO1xuICBwcml2YXRlIF9kb3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaG90OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2Nvcm5lcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9jaGlsZHJlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9vdmVyZmxvd0NvdW50OiBudW1iZXIgPSA5OTtcblxuICBASW5wdXQoKVxuICBzZXQgc2l6ZSh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaXplID0gdjtcbiAgICB0aGlzLnNldENscygpO1xuICB9XG4gIEBJbnB1dCgpXG4gIGdldCB0ZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHQ7XG4gIH1cbiAgc2V0IHRleHQodjogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGV4dCA9IHY7XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgY29ybmVyKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jb3JuZXIgPSB2O1xuICAgIHRoaXMuc2V0Q2xzKCk7XG4gIH1cbiAgQElucHV0KClcbiAgZ2V0IGRvdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZG90O1xuICB9XG4gIHNldCBkb3QodjogYm9vbGVhbikge1xuICAgIHRoaXMuX2RvdCA9IHY7XG4gICAgaWYgKHRoaXMuX2RvdCkge1xuICAgICAgdGhpcy5fdGV4dCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLnNldENscygpO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBvdmVyZmxvd0NvdW50KHY6IG51bWJlcikge1xuICAgIHRoaXMuX292ZXJmbG93Q291bnQgPSB2O1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBob3QodjogYm9vbGVhbikge1xuICAgIHRoaXMuX2hvdCA9IHY7XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgc2V0U3R5bGUodjogb2JqZWN0KSB7XG4gICAgdGhpcy5zdHlsZSA9IHY7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IGNsYXNzTmFtZSh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zZXRDbGFzcyA9IHY7XG4gICAgY29uc3QgY2xzQXJyID0gdGhpcy5fc2V0Q2xhc3Muc3BsaXQoJyAnKTtcbiAgICBjbHNBcnIuZm9yRWFjaChjbHMgPT4ge1xuICAgICAgdGhpcy5yZW5kZXIuYWRkQ2xhc3ModGhpcy5fcmVmLm5hdGl2ZUVsZW1lbnQsIGNscyk7XG4gICAgfSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLWJhZGdlJylcbiAgY2xzQmFkZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLWJhZGdlLW5vdC1hLXdyYXBwZXInKVxuICBjbHNCYWRnZVdycDogYm9vbGVhbiA9ICF0aGlzLl9jaGlsZHJlbjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS1iYWRnZS1jb3JuZXItd3JhcHBlcicpXG4gIGNsc0JhZGdlQ29ybmVyV3JwOiBib29sZWFuID0gdGhpcy5fY29ybmVyO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLWJhZGdlLWhvdCcpXG4gIGNsc0JhZGdlSG90OiBib29sZWFuID0gISF0aGlzLl9ob3Q7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tYmFkZ2UtY29ybmVyLXdyYXBwZXItbGFyZ2UnKVxuICBjbHNCYWRnZUNvcm5lcldycExnOiBib29sZWFuID0gdGhpcy5fY29ybmVyICYmIHRoaXMuX3NpemUgPT09ICdsYXJnZSc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcjogUmVuZGVyZXIyKSB7fVxuXG4gIHNldENscygpIHtcbiAgICB0aGlzLnNjcm9sbE51bWJlckNscyA9IHtcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tZG90YF06IHRoaXMuX2RvdCxcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tZG90LWxhcmdlYF06IHRoaXMuX2RvdCAmJiB0aGlzLl9zaXplID09PSAnbGFyZ2UnLFxuICAgICAgW2Ake3RoaXMucHJlZml4Q2xzfS10ZXh0YF06ICF0aGlzLl9kb3QgJiYgIXRoaXMuX2Nvcm5lcixcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tY29ybmVyYF06IHRoaXMuX2Nvcm5lcixcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tY29ybmVyLWxhcmdlYF06IHRoaXMuX2Nvcm5lciAmJiB0aGlzLl9zaXplID09PSAnbGFyZ2UnXG4gICAgfTtcbiAgICB0aGlzLmNsc0JhZGdlV3JwID0gIXRoaXMuX2NoaWxkcmVuO1xuICAgIHRoaXMuY2xzQmFkZ2VDb3JuZXJXcnAgPSB0aGlzLl9jb3JuZXI7XG4gICAgdGhpcy5jbHNCYWRnZUhvdCA9ICEhdGhpcy5faG90O1xuICAgIHRoaXMuY2xzQmFkZ2VDb3JuZXJXcnBMZyA9IHRoaXMuX2Nvcm5lciAmJiB0aGlzLl9zaXplID09PSAnbGFyZ2UnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl90ZXh0ID09PSAnbnVtYmVyJyAmJiB0aGlzLl90ZXh0ID4gdGhpcy5fb3ZlcmZsb3dDb3VudCkge1xuICAgICAgdGhpcy5fdGV4dCA9IHRoaXMuX292ZXJmbG93Q291bnQgKyAnKyc7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9yZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRoaXMuX2NoaWxkcmVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXRDbHMoKTtcbiAgICAgIH1cbiAgICB9LCAxMCk7XG4gIH1cbn1cbiJdfQ==