ngx-pluto
Version:
94 lines • 6.91 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ViewEncapsulation, Input, Output, EventEmitter, forwardRef } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
/**
* 单选按钮组件 - 作为单选按钮组{\@link NpRadioGroup|RadioGroup}中的一个单选按钮使用
*/
export class NpRadioButton {
constructor() {
/**
* 默认为圆形单选按钮
*
* 'radio' - 若为此值,则单选按钮为圆形单选按钮
*
* 'rectangle' - 若为此值,则单选按钮为长方形单选按钮
*/
this.radioShape = 'radio';
this.checked = false;
/**
* 是否禁用
*/
this.isDisabled = false;
/**
* 当单选按钮选中状态改变时触发此事件,并emit当前选中的单选按钮的值
*/
this.onSelectChanged = new EventEmitter();
}
/**
* @return {?}
*/
ngOnInit() { }
/**
* @return {?}
*/
onChange() {
if (!this.isDisabled) {
this.onSelectChanged.next(this.value);
}
}
}
NpRadioButton.decorators = [
{ type: Component, args: [{
selector: `np-radio-button`,
template: "<div class=\"np-radio-button-wrapper\" [class.rectangle]=\"radioShape === 'rectangle'\" (click)=\"onChange()\"\r\n [ngStyle]=\"{'cursor': isDisabled? 'not-allowed':'pointer'}\">\r\n <ng-container>\r\n <div [class.rectangle-radio]=\"radioShape === 'rectangle'\" [class.radio-checked]=\"checked\"\r\n [class.radio-forbidden]=\"isDisabled && radioShape === 'rectangle'\">\r\n <span *ngIf=\"radioShape === 'radio'\" class=\"radio\" [class.radio-checked]=\"checked\"\r\n [class.radio-forbidden]=\"isDisabled\"></span>\r\n <span *ngIf=\"radioShape === 'radio'\" class=\"input-helper\" [class.radio-forbidden]=\"isDisabled\"></span>\r\n <ng-content></ng-content>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<!-- <span class=\"input-helper\"></span> -->\r\n",
encapsulation: ViewEncapsulation.None,
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef((/**
* @return {?}
*/
() => NpRadioButton)),
multi: true,
}
]
}] }
];
NpRadioButton.propDecorators = {
value: [{ type: Input }],
radioShape: [{ type: Input }],
isDisabled: [{ type: Input }],
onSelectChanged: [{ type: Output }]
};
if (false) {
/**
* 此单选按钮的值
* @type {?}
*/
NpRadioButton.prototype.value;
/**
* 默认为圆形单选按钮
*
* 'radio' - 若为此值,则单选按钮为圆形单选按钮
*
* 'rectangle' - 若为此值,则单选按钮为长方形单选按钮
* @type {?}
*/
NpRadioButton.prototype.radioShape;
/** @type {?} */
NpRadioButton.prototype.checked;
/**
* 是否禁用
* @type {?}
*/
NpRadioButton.prototype.isDisabled;
/**
* 当单选按钮选中状态改变时触发此事件,并emit当前选中的单选按钮的值
* @type {?}
*/
NpRadioButton.prototype.onSelectChanged;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wbHV0by8iLCJzb3VyY2VzIjpbImxpYi9yYWRpby1ncm91cC9yYWRpby1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUEyQixLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsVUFBVSxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUNwTCxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFpQnpFLE1BQU0sT0FBTyxhQUFhO0lBWjFCOzs7Ozs7OztRQXVCVyxlQUFVLEdBQVEsT0FBTyxDQUFDO1FBQ25DLFlBQU8sR0FBRyxLQUFLLENBQUM7Ozs7UUFFUCxlQUFVLEdBQUcsS0FBSyxDQUFDOzs7O1FBR2xCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVNqRCxDQUFDOzs7O0lBUEMsUUFBUSxLQUFLLENBQUM7Ozs7SUFFZCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQiw4eEJBQTBDO2dCQUMxQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVOzs7d0JBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFDO3dCQUM1QyxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFBQzthQUNMOzs7b0JBSUUsS0FBSzt5QkFTTCxLQUFLO3lCQUdMLEtBQUs7OEJBR0wsTUFBTTs7Ozs7OztJQWZQLDhCQUFlOzs7Ozs7Ozs7SUFTZixtQ0FBbUM7O0lBQ25DLGdDQUFnQjs7Ozs7SUFFaEIsbUNBQTRCOzs7OztJQUc1Qix3Q0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIGZvcndhcmRSZWYsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLyoqXHJcbiAqIOWNlemAieaMiemSrue7hOS7tiAtIOS9nOS4uuWNlemAieaMiemSrue7hHtAbGluayBOcFJhZGlvR3JvdXB8UmFkaW9Hcm91cH3kuK3nmoTkuIDkuKrljZXpgInmjInpkq7kvb/nlKhcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgbnAtcmFkaW8tYnV0dG9uYCxcclxuICB0ZW1wbGF0ZVVybDogJ3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5wUmFkaW9CdXR0b24pLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH1dXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTnBSYWRpb0J1dHRvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoq5q2k5Y2V6YCJ5oyJ6ZKu55qE5YC8ICovXHJcbiAgQElucHV0KCkgdmFsdWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIOm7mOiupOS4uuWchuW9ouWNlemAieaMiemSrlxyXG4gICAqIFxyXG4gICAqICdyYWRpbycgLSDoi6XkuLrmraTlgLzvvIzliJnljZXpgInmjInpkq7kuLrlnIblvaLljZXpgInmjInpkq5cclxuICAgKiBcclxuICAgKiAncmVjdGFuZ2xlJyAtIOiLpeS4uuatpOWAvO+8jOWImeWNlemAieaMiemSruS4uumVv+aWueW9ouWNlemAieaMiemSrlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJhZGlvU2hhcGU6IGFueSA9ICdyYWRpbyc7XHJcbiAgY2hlY2tlZCA9IGZhbHNlO1xyXG4gIC8qKiDmmK/lkKbnpoHnlKggKi9cclxuICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIC8qKuW9k+WNlemAieaMiemSrumAieS4reeKtuaAgeaUueWPmOaXtuinpuWPkeatpOS6i+S7tu+8jOW5tmVtaXTlvZPliY3pgInkuK3nmoTljZXpgInmjInpkq7nmoTlgLwgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBuZ09uSW5pdCgpIHsgfVxyXG5cclxuICBvbkNoYW5nZSgpIHtcclxuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMub25TZWxlY3RDaGFuZ2VkLm5leHQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=