ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
77 lines • 9.51 kB
JavaScript
import { Component, Input, Output, HostBinding, HostListener, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class RadioComponent {
get checked() {
return this._checked;
}
set checked(value) {
this._checked = value;
this.updateClassMap();
}
get disabled() {
return this._disabled;
}
set disabled(value) {
this._disabled = value;
this.updateClassMap();
}
onClick(event) {
event.preventDefault();
if (!this._disabled && !this._checked) {
this.updateValue(true);
}
}
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.onChange = new EventEmitter();
this.radioWrapper = true;
}
updateValue(checkValue) {
this.checked = checkValue;
this.onChange.emit({
name: this.name,
value: this.value
});
}
ngOnInit() {
this.updateClassMap();
}
updateClassMap() {
this.classMap = {
[this.prefixCls]: true,
[`${this.prefixCls}-checked`]: this.checked,
[`${this.prefixCls}-disabled`]: this.disabled
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: RadioComponent, selector: "[Radio], [nzm-radio]", inputs: { name: "name", value: "value", checked: "checked", disabled: "disabled" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.am-radio-wrapper": "this.radioWrapper" } }, ngImport: i0, template: "<span [ngClass]=\"classMap\">\n <input\n type=\"radio\"\n class=\"{{ prefixCls }}-input\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n />\n <span class=\"{{ prefixCls }}-inner\"></span>\n</span>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RadioComponent, decorators: [{
type: Component,
args: [{ selector: '[Radio], [nzm-radio]', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [ngClass]=\"classMap\">\n <input\n type=\"radio\"\n class=\"{{ prefixCls }}-input\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n />\n <span class=\"{{ prefixCls }}-inner\"></span>\n</span>\n<ng-content></ng-content>\n" }]
}], ctorParameters: () => [], 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']]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9yYWRpby9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9jb21wb25lbnRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFFTixXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3hCLE1BQU0sZUFBZSxDQUFDOzs7QUFVdkIsTUFBTSxPQUFPLGNBQWM7SUFjekIsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBUUQsT0FBTyxDQUFDLEtBQUs7UUFDWCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQ7UUEzQ0EsY0FBUyxHQUFXLFVBQVUsQ0FBQztRQUMvQixhQUFRLEdBQVc7WUFDakIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSTtZQUN0QixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDM0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzlDLENBQUM7UUFDTSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUF1Qm5DLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRzNDLGlCQUFZLEdBQVksSUFBSSxDQUFDO0lBVWQsQ0FBQztJQUVoQixXQUFXLENBQUMsVUFBbUI7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJO1lBQ3RCLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTztZQUMzQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDOUMsQ0FBQztJQUNKLENBQUM7OEdBaEVVLGNBQWM7a0dBQWQsY0FBYyx1U0NwQjNCLDZTQVlBOzsyRkRRYSxjQUFjO2tCQVAxQixTQUFTOytCQUNFLHNCQUFzQix1QkFFWCxLQUFLLGlCQUNYLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07d0RBYS9DLElBQUk7c0JBREgsS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR0YsT0FBTztzQkFEVixLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFTTixRQUFRO3NCQURQLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxXQUFXO3VCQUFDLHdCQUF3QjtnQkFJckMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgT25Jbml0LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJhZGlvU3RhdHVzIH0gZnJvbSAnLi9Qcm9wc1R5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbUmFkaW9dLCBbbnptLXJhZGlvXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByZWZpeENsczogc3RyaW5nID0gJ2FtLXJhZGlvJztcbiAgY2xhc3NNYXA6IG9iamVjdCA9IHtcbiAgICBbdGhpcy5wcmVmaXhDbHNdOiB0cnVlLFxuICAgIFtgJHt0aGlzLnByZWZpeENsc30tY2hlY2tlZGBdOiB0aGlzLmNoZWNrZWQsXG4gICAgW2Ake3RoaXMucHJlZml4Q2xzfS1kaXNhYmxlZGBdOiB0aGlzLmRpc2FibGVkXG4gIH07XG4gIHByaXZhdGUgX2NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xuICB9XG4gIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY2hlY2tlZCA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlQ2xhc3NNYXAoKTtcbiAgfVxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVDbGFzc01hcCgpO1xuICB9XG4gIEBPdXRwdXQoKVxuICBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmFkaW9TdGF0dXM+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS1yYWRpby13cmFwcGVyJylcbiAgcmFkaW9XcmFwcGVyOiBib29sZWFuID0gdHJ1ZTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5fZGlzYWJsZWQgJiYgIXRoaXMuX2NoZWNrZWQpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHVwZGF0ZVZhbHVlKGNoZWNrVmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSBjaGVja1ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVDbGFzc01hcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDbGFzc01hcCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsYXNzTWFwID0ge1xuICAgICAgW3RoaXMucHJlZml4Q2xzXTogdHJ1ZSxcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tY2hlY2tlZGBdOiB0aGlzLmNoZWNrZWQsXG4gICAgICBbYCR7dGhpcy5wcmVmaXhDbHN9LWRpc2FibGVkYF06IHRoaXMuZGlzYWJsZWRcbiAgICB9O1xuICB9XG59XG4iLCI8c3BhbiBbbmdDbGFzc109XCJjbGFzc01hcFwiPlxuICA8aW5wdXRcbiAgICB0eXBlPVwicmFkaW9cIlxuICAgIGNsYXNzPVwie3sgcHJlZml4Q2xzIH19LWlucHV0XCJcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAvPlxuICA8c3BhbiBjbGFzcz1cInt7IHByZWZpeENscyB9fS1pbm5lclwiPjwvc3Bhbj5cbjwvc3Bhbj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==