UNPKG

ng-zorro-antd-mobile

Version:

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

178 lines (177 loc) 11.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, Input, Output, forwardRef, HostBinding, HostListener, EventEmitter, ViewEncapsulation } from '@angular/core'; import { toBoolean } from '../core/util/convert'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; /** * @record */ export function OnChangeEvent() { } /** @type {?} */ OnChangeEvent.prototype.name; /** @type {?} */ OnChangeEvent.prototype.value; /** @type {?} */ OnChangeEvent.prototype.checked; export class Radio { constructor() { this.prefixCls = 'am-radio'; this.classMap = { [this.prefixCls]: true, [`${this.prefixCls}-checked`]: this.checked, [`${this.prefixCls}-disabled`]: this.disabled }; this._checked = false; this._disabled = false; this._ngModelOnChange = Function.prototype; this._ngModelOnTouched = Function.prototype; this.onChange = new EventEmitter(); this.radioWrapper = true; } /** * @return {?} */ get checked() { return this._checked; } /** * @param {?} value * @return {?} */ set checked(value) { this._checked = value; this.updateClassMap(); } /** * @return {?} */ get disabled() { return this._disabled; } /** * @param {?} value * @return {?} */ set disabled(value) { this._disabled = toBoolean(value); } /** * @param {?} event * @return {?} */ onClick(event) { event.preventDefault(); if (!this._disabled && !this._checked) { this.updateValue(true); } } /** * @param {?} checkValue * @return {?} */ updateValue(checkValue) { this._ngModelOnChange(checkValue); this.onChange.emit({ name: this.name, value: this.value, checked: checkValue }); this.checked = checkValue; } /** * @param {?} value * @return {?} */ writeValue(value) { if (null !== value) { this.checked = value; } } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this._ngModelOnChange = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { this._ngModelOnTouched = fn; } /** * @return {?} */ ngOnInit() { this.updateClassMap(); } /** * @return {?} */ ngOnChanges() { this.updateClassMap(); } /** * @return {?} */ updateClassMap() { this.classMap = { [this.prefixCls]: true, [`${this.prefixCls}-checked`]: this.checked, [`${this.prefixCls}-disabled`]: this.disabled }; } } Radio.decorators = [ { type: Component, args: [{ selector: '[Radio], [nzm-radio]', template: "<span [ngClass]=\"classMap\">\n <input type=\"radio\"\n class=\"{{prefixCls}}-input\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [(ngModel)]=\"checked\"\n >\n <span class=\"{{prefixCls}}-inner\"></span>\n</span>\n<ng-content></ng-content>\n", preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => Radio), multi: true } ] }] } ]; /** @nocollapse */ Radio.ctorParameters = () => []; Radio.propDecorators = { name: [{ type: Input }], value: [{ type: Input }], checked: [{ type: Input }], disabled: [{ type: Input }], onChange: [{ type: Output }], radioWrapper: [{ type: HostBinding, args: ['class.am-radio-wrapper',] }], onClick: [{ type: HostListener, args: ['click', ['$event'],] }] }; if (false) { /** @type {?} */ Radio.prototype.prefixCls; /** @type {?} */ Radio.prototype.classMap; /** @type {?} */ Radio.prototype._checked; /** @type {?} */ Radio.prototype._disabled; /** @type {?} */ Radio.prototype._ngModelOnChange; /** @type {?} */ Radio.prototype._ngModelOnTouched; /** @type {?} */ Radio.prototype.name; /** @type {?} */ Radio.prototype.value; /** @type {?} */ Radio.prototype.onChange; /** @type {?} */ Radio.prototype.radioWrapper; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJyYWRpby9yYWRpby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFHTixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBcUJ6RSxNQUFNO0lBNkNKO3lCQTVDb0IsVUFBVTt3QkFDWDtZQUNqQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJO1lBQ3RCLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTztZQUMzQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDOUM7d0JBQ2tCLEtBQUs7eUJBQ0osS0FBSztnQ0FDTyxRQUFRLENBQUMsU0FBUztpQ0FDakIsUUFBUSxDQUFDLFNBQVM7d0JBc0J4QyxJQUFJLFlBQVksRUFBaUI7NEJBR3BCLElBQUk7S0FVWjs7OztJQTdCaEIsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0tBQ3RCOzs7OztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0tBQ3ZCOzs7O0lBQ0QsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0tBQ3ZCOzs7OztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDbkM7Ozs7O0lBUUQsT0FBTyxDQUFDLEtBQUs7UUFDWCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7S0FDRjs7Ozs7SUFJRCxXQUFXLENBQUMsVUFBbUI7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztLQUMzQjs7Ozs7SUFFRCxVQUFVLENBQUMsS0FBYztRQUN2QixJQUFJLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7S0FDRjs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFzQjtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0tBQzVCOzs7OztJQUVELGlCQUFpQixDQUFDLEVBQVk7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztLQUM3Qjs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7S0FDdkI7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0tBQ3ZCOzs7O0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSTtZQUN0QixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDM0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzlDLENBQUM7Ozs7WUFqR0wsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLHNTQUFxQztnQkFDckMsbUJBQW1CLEVBQUUsS0FBSztnQkFDMUIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQzt3QkFDcEMsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7YUFDRjs7Ozs7bUJBYUUsS0FBSztvQkFFTCxLQUFLO3NCQUVMLEtBQUs7dUJBUUwsS0FBSzt1QkFPTCxNQUFNOzJCQUdOLFdBQVcsU0FBQyx3QkFBd0I7c0JBR3BDLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9Cb29sZWFuIH0gZnJvbSAnLi4vY29yZS91dGlsL2NvbnZlcnQnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9uQ2hhbmdlRXZlbnQge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoZWNrZWQ6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tSYWRpb10sIFtuem0tcmFkaW9dJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFkaW8pLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmFkaW8gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcmVmaXhDbHM6IHN0cmluZyA9ICdhbS1yYWRpbyc7XG4gIGNsYXNzTWFwOiBvYmplY3QgPSB7XG4gICAgW3RoaXMucHJlZml4Q2xzXTogdHJ1ZSxcbiAgICBbYCR7dGhpcy5wcmVmaXhDbHN9LWNoZWNrZWRgXTogdGhpcy5jaGVja2VkLFxuICAgIFtgJHt0aGlzLnByZWZpeENsc30tZGlzYWJsZWRgXTogdGhpcy5kaXNhYmxlZFxuICB9O1xuICBwcml2YXRlIF9jaGVja2VkID0gZmFsc2U7XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX25nTW9kZWxPbkNoYW5nZTogYW55ID0gRnVuY3Rpb24ucHJvdG90eXBlO1xuICBwcml2YXRlIF9uZ01vZGVsT25Ub3VjaGVkOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG5cbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICB2YWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2hlY2tlZDtcbiAgfVxuICBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2NoZWNrZWQgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUNsYXNzTWFwKCk7XG4gIH1cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPbkNoYW5nZUV2ZW50PigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tcmFkaW8td3JhcHBlcicpXG4gIHJhZGlvV3JhcHBlcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvbkNsaWNrKGV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIXRoaXMuX2Rpc2FibGVkICYmICF0aGlzLl9jaGVja2VkKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB1cGRhdGVWYWx1ZShjaGVja1ZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fbmdNb2RlbE9uQ2hhbmdlKGNoZWNrVmFsdWUpO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgIGNoZWNrZWQ6IGNoZWNrVmFsdWVcbiAgICB9KTtcbiAgICB0aGlzLmNoZWNrZWQgPSBjaGVja1ZhbHVlO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChudWxsICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5jaGVja2VkID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGJvb2xlYW4pID0+IHt9KTogdm9pZCB7XG4gICAgdGhpcy5fbmdNb2RlbE9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcbiAgICB0aGlzLl9uZ01vZGVsT25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZUNsYXNzTWFwKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNsYXNzTWFwKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNsYXNzTWFwKCk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NNYXAgPSB7XG4gICAgICBbdGhpcy5wcmVmaXhDbHNdOiB0cnVlLFxuICAgICAgW2Ake3RoaXMucHJlZml4Q2xzfS1jaGVja2VkYF06IHRoaXMuY2hlY2tlZCxcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tZGlzYWJsZWRgXTogdGhpcy5kaXNhYmxlZFxuICAgIH07XG4gIH1cbn1cbiJdfQ==