UNPKG

xui

Version:

xUI Components for Angular

85 lines 9.31 kB
import { __decorate, __metadata } from "tslib"; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Optional, Self } from '@angular/core'; import { RADIO_GROUP_ACCESSOR } from './radio.types'; import { Subject } from 'rxjs'; import { InputBoolean } from '../utils'; import { NgControl } from '@angular/forms'; import * as i0 from "@angular/core"; import * as i1 from "@angular/forms"; import * as i2 from "@angular/common"; import * as i3 from "./radio.component"; import * as i4 from "@ngx-translate/core"; export class RadioGroupComponent { get value() { return this._value; } set value(v) { if (this._value !== v) { this._value = v; this.onChange?.(v); this.onChange$.next(null); } } constructor(cdr, control) { this.cdr = cdr; this.control = control; this._value = null; this.onChange$ = new Subject(); this.disabled = false; this.color = 'none'; if (this.control) { this.control.valueAccessor = this; } } ngOnInit() { this.control?.statusChanges?.subscribe(() => { this.cdr.markForCheck(); }); } writeValue(source) { this.value = source; } registerOnChange(onChange) { this.onChange = onChange; } registerOnTouched(onTouched) { this.onTouched = onTouched; } setDisabledState(isDisabled) { this.disabled = isDisabled; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RadioGroupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: RadioGroupComponent, selector: "xui-radio-group", inputs: { disabled: "disabled", color: "color", items: "items", value: "value" }, providers: [{ provide: RADIO_GROUP_ACCESSOR, useExisting: RadioGroupComponent }], ngImport: i0, template: `<div class="x-radio-group"> <ng-content select="xui-radio"></ng-content> <xui-radio *ngFor="let item of items" [value]="item.value">{{ item.label | translate }}</xui-radio> </div>`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.RadioComponent, selector: "xui-radio", inputs: ["disabled", "value", "color"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } __decorate([ InputBoolean(), __metadata("design:type", Object) ], RadioGroupComponent.prototype, "disabled", void 0); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RadioGroupComponent, decorators: [{ type: Component, args: [{ selector: 'xui-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: RADIO_GROUP_ACCESSOR, useExisting: RadioGroupComponent }], template: `<div class="x-radio-group"> <ng-content select="xui-radio"></ng-content> <xui-radio *ngFor="let item of items" [value]="item.value">{{ item.label | translate }}</xui-radio> </div>` }] }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NgControl, decorators: [{ type: Self }, { type: Optional }] }]; }, propDecorators: { disabled: [{ type: Input }], color: [{ type: Input }], items: [{ type: Input }], value: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy94dWkvc3JjL3JhZGlvL3JhZGlvLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0JBQW9CLEVBQXlELE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFXakUsTUFBTSxPQUFPLG1CQUFtQjtJQWE5QixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLENBQUM7UUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxZQUFvQixHQUFzQixFQUE2QixPQUFtQjtRQUF0RSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUE2QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBckJsRixXQUFNLEdBQWUsSUFBSSxDQUFDO1FBRWxDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRUQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQyxVQUFLLEdBQWUsTUFBTSxDQUFDO1FBaUJsQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWtCO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFzQztRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBcUI7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7OEdBcERVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDRIQU5uQixDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLDBCQUN0RTs7O1NBR0g7O0FBV2tCO0lBQWYsWUFBWSxFQUFFOztxREFBa0I7MkZBVC9CLG1CQUFtQjtrQkFUL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxxQkFBcUIsRUFBRSxDQUFDO29CQUNoRixRQUFRLEVBQUU7OztTQUdIO2lCQUNSOzswQkEyQjhDLElBQUk7OzBCQUFJLFFBQVE7NENBakJwQyxRQUFRO3NCQUFoQyxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUkFESU9fR1JPVVBfQUNDRVNTT1IsIFJhZGlvQ29sb3IsIFJhZGlvR3JvdXBBY2Nlc3NvciwgUmFkaW9JdGVtLCBSYWRpb1ZhbHVlIH0gZnJvbSAnLi9yYWRpby50eXBlcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpLXJhZGlvLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUkFESU9fR1JPVVBfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBSYWRpb0dyb3VwQ29tcG9uZW50IH1dLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJ4LXJhZGlvLWdyb3VwXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwieHVpLXJhZGlvXCI+PC9uZy1jb250ZW50PlxuICAgIDx4dWktcmFkaW8gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3h1aS1yYWRpbz5cbiAgPC9kaXY+YFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0dyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgUmFkaW9Hcm91cEFjY2Vzc29yLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0O1xuXG4gIHByaXZhdGUgb25DaGFuZ2U/OiAoc291cmNlOiBSYWRpb1ZhbHVlKSA9PiB2b2lkO1xuICBwcml2YXRlIG9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgX3ZhbHVlOiBSYWRpb1ZhbHVlID0gbnVsbDtcblxuICBvbkNoYW5nZSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2xvcjogUmFkaW9Db2xvciA9ICdub25lJztcbiAgQElucHV0KCkgaXRlbXM/OiBSYWRpb0l0ZW1bXTtcblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHYpIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IHYpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICAgIHRoaXMub25DaGFuZ2U/Lih2KTtcbiAgICAgIHRoaXMub25DaGFuZ2UkLm5leHQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBjb250cm9sPzogTmdDb250cm9sKSB7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29udHJvbD8uc3RhdHVzQ2hhbmdlcz8uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShzb3VyY2U6IFJhZGlvVmFsdWUpIHtcbiAgICB0aGlzLnZhbHVlID0gc291cmNlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHNvdXJjZTogUmFkaW9WYWx1ZSkgPT4gdm9pZCkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbn1cbiJdfQ==