@formql/core
Version:
FormQL - A framework for building dynamic forms
75 lines • 8.59 kB
JavaScript
var FormQLRadioComponent_1;
import { __decorate, __metadata } from "tslib";
import { Component, Input, forwardRef } from '@angular/core';
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, FormControl } from '@angular/forms';
let FormQLRadioComponent = FormQLRadioComponent_1 = class FormQLRadioComponent {
constructor() {
this._propagateChange = (_) => { };
}
ngOnInit() {
if (this.field.configuration)
this.list = JSON.parse(this.field.configuration).list;
}
get value() {
return this._value;
}
set value(value) {
this._value = value;
this._propagateChange(this._value);
}
writeValue(value) {
if (value)
this._value = value;
}
registerOnChange(fn) {
this._propagateChange = fn;
}
registerOnTouched(fn) { }
};
FormQLRadioComponent.componentName = 'FormQLRadioComponent';
FormQLRadioComponent.formQLComponent = true;
FormQLRadioComponent.validators = [
{
name: 'Required',
validator: Validators.required,
key: 'required'
}
];
__decorate([
Input(),
__metadata("design:type", Object)
], FormQLRadioComponent.prototype, "field", void 0);
__decorate([
Input(),
__metadata("design:type", FormControl)
], FormQLRadioComponent.prototype, "formControl", void 0);
FormQLRadioComponent = FormQLRadioComponent_1 = __decorate([
Component({
selector: 'formql-radio',
template: `<div *ngIf="formControl!=null">
<label [attr.for]="field.componentId"
[ngClass]="{'fql-bundle-label-required': field.rules?.required?.value}">{{field.label}}</label>
<div class="fql-bundle-field-input">
<label *ngFor="let item of list" class="fql-bundle-field-radio">
<input type="radio" class="fql-bundle-field-radio"
[value]="item.value" [formControl]="formControl">{{item.name}}
</label>
</div>
</div>`,
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => FormQLRadioComponent_1),
multi: true
},
{
provide: NG_VALIDATORS,
useExisting: forwardRef(() => FormQLRadioComponent_1),
multi: true
}
],
styles: [".fql-bundle-field-input{width:100%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.fql-bundle-checkbox-input{cursor:pointer;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.fql-bundle-label-required:after{content:\" *\";color:red}.fql-bundle-field-radio{cursor:pointer}.fql-error-message{text-align:center;padding:20px}.fql-dnd-container-separator{box-shadow:0 -2px 0 #00f}.fql-dnd-container-drop-area{outline:dashed 3px}"]
})
], FormQLRadioComponent);
export { FormQLRadioComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXFsLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bmb3JtcWwvY29yZS8iLCJzb3VyY2VzIjpbImJ1bmRsZS9mb3JtcWwtcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsYUFBYSxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQStCNUgsSUFBYSxvQkFBb0IsNEJBQWpDLE1BQWEsb0JBQW9CO0lBQWpDO1FBa0JZLHFCQUFnQixHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUEyQi9DLENBQUM7SUF6QkcsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQWdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUUsQ0FBQyxJQUFJLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQUksS0FBSztRQUVMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUNwQixJQUFJLEtBQUs7WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPLElBQVUsQ0FBQztDQUN2QyxDQUFBO0FBM0NVLGtDQUFhLEdBQUcsc0JBQXNCLENBQUM7QUFDdkMsb0NBQWUsR0FBRyxJQUFJLENBQUM7QUFDdkIsK0JBQVUsR0FBRztJQUNEO1FBQ1gsSUFBSSxFQUFFLFVBQVU7UUFDaEIsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRO1FBQzlCLEdBQUcsRUFBRSxVQUFVO0tBQ2xCO0NBQ0osQ0FBQztBQUVPO0lBQVIsS0FBSyxFQUFFOzttREFBMkI7QUFDMUI7SUFBUixLQUFLLEVBQUU7OEJBQWMsV0FBVzt5REFBQztBQWJ6QixvQkFBb0I7SUF6QmhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxjQUFjO1FBRXhCLFFBQVEsRUFBRTs7Ozs7Ozs7O1dBU0g7UUFDUCxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FBQzs7S0FDVCxDQUFDO0dBQ1csb0JBQW9CLENBNkNoQztTQTdDWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0tY29tcG9uZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgT3B0aW9uVmFsdWUsIFNlbGVjdExpc3QgfSBmcm9tICcuLi9tb2RlbHMvdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3IgfSBmcm9tICcuLi9tb2RlbHMvcnVsZS5tb2RlbCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Zvcm1xbC1yYWRpbycsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtcWwtcmFkaW8uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHRlbXBsYXRlOiBgPGRpdiAqbmdJZj1cImZvcm1Db250cm9sIT1udWxsXCI+XHJcbiAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJmaWVsZC5jb21wb25lbnRJZFwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZnFsLWJ1bmRsZS1sYWJlbC1yZXF1aXJlZCc6IGZpZWxkLnJ1bGVzPy5yZXF1aXJlZD8udmFsdWV9XCI+e3tmaWVsZC5sYWJlbH19PC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnFsLWJ1bmRsZS1maWVsZC1pbnB1dFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdFwiIGNsYXNzPVwiZnFsLWJ1bmRsZS1maWVsZC1yYWRpb1wiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGNsYXNzPVwiZnFsLWJ1bmRsZS1maWVsZC1yYWRpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIj57e2l0ZW0ubmFtZX19XHJcbiAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5gLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9ybVFMUmFkaW9Db21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb3JtUUxSYWRpb0NvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1RTFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcblxyXG4gICAgc3RhdGljIGNvbXBvbmVudE5hbWUgPSAnRm9ybVFMUmFkaW9Db21wb25lbnQnO1xyXG4gICAgc3RhdGljIGZvcm1RTENvbXBvbmVudCA9IHRydWU7XHJcbiAgICBzdGF0aWMgdmFsaWRhdG9ycyA9IFtcclxuICAgICAgICA8Rm9ybVZhbGlkYXRvcj57XHJcbiAgICAgICAgICAgIG5hbWU6ICdSZXF1aXJlZCcsXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAga2V5OiAncmVxdWlyZWQnXHJcbiAgICAgICAgfVxyXG4gICAgXTtcclxuXHJcbiAgICBASW5wdXQoKSBmaWVsZDogRm9ybUNvbXBvbmVudDxhbnk+O1xyXG4gICAgQElucHV0KCkgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG5cclxuICAgIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmc7XHJcbiAgICBsaXN0OiBBcnJheTxPcHRpb25WYWx1ZT47XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmNvbmZpZ3VyYXRpb24pXHJcbiAgICAgICAgICAgIHRoaXMubGlzdCA9ICg8U2VsZWN0TGlzdD5KU09OLnBhcnNlKHRoaXMuZmllbGQuY29uZmlndXJhdGlvbikpLmxpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQgeyB9XHJcbn1cclxuIl19