@formql/core
Version:
FormQL - A framework for building dynamic forms
72 lines • 9.28 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, Input, forwardRef } from '@angular/core';
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, FormControl } from '@angular/forms';
var FormQLRadioComponent = /** @class */ (function () {
function FormQLRadioComponent() {
this._propagateChange = function (_) { };
}
FormQLRadioComponent_1 = FormQLRadioComponent;
FormQLRadioComponent.prototype.ngOnInit = function () {
if (this.field.configuration)
this.list = JSON.parse(this.field.configuration).list;
};
Object.defineProperty(FormQLRadioComponent.prototype, "value", {
get: function () {
return this._value;
},
set: function (value) {
this._value = value;
this._propagateChange(this._value);
},
enumerable: true,
configurable: true
});
FormQLRadioComponent.prototype.writeValue = function (value) {
if (value)
this._value = value;
};
FormQLRadioComponent.prototype.registerOnChange = function (fn) {
this._propagateChange = fn;
};
FormQLRadioComponent.prototype.registerOnTouched = function (fn) { };
var FormQLRadioComponent_1;
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\">\n <label [attr.for]=\"field.componentId\"\n [ngClass]=\"{'fql-bundle-label-required': field.rules?.required?.value}\">{{field.label}}</label>\n <div class=\"fql-bundle-field-input\">\n <label *ngFor=\"let item of list\" class=\"fql-bundle-field-radio\">\n <input type=\"radio\" class=\"fql-bundle-field-radio\"\n [value]=\"item.value\" [formControl]=\"formControl\">{{item.name}}\n </label>\n </div>\n </div>",
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(function () { return FormQLRadioComponent_1; }),
multi: true
},
{
provide: NG_VALIDATORS,
useExisting: forwardRef(function () { return 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);
return FormQLRadioComponent;
}());
export { FormQLRadioComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXFsLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bmb3JtcWwvY29yZS8iLCJzb3VyY2VzIjpbImJ1bmRsZS9mb3JtcWwtcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxhQUFhLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBK0I1SDtJQUFBO1FBa0JZLHFCQUFnQixHQUFHLFVBQUMsQ0FBTSxJQUFPLENBQUMsQ0FBQztJQTJCL0MsQ0FBQzs2QkE3Q1ksb0JBQW9CO0lBb0I3Qix1Q0FBUSxHQUFSO1FBQ0ksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBZ0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBRSxDQUFDLElBQUksQ0FBQztJQUM1RSxDQUFDO0lBRUQsc0JBQUksdUNBQUs7YUFBVDtZQUVJLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixDQUFDO2FBRUQsVUFBVSxLQUFVO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkMsQ0FBQzs7O09BTEE7SUFPRCx5Q0FBVSxHQUFWLFVBQVcsS0FBYTtRQUNwQixJQUFJLEtBQUs7WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsK0NBQWdCLEdBQWhCLFVBQWlCLEVBQU87UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0RBQWlCLEdBQWpCLFVBQWtCLEVBQU8sSUFBVSxDQUFDOztJQTFDN0Isa0NBQWEsR0FBRyxzQkFBc0IsQ0FBQztJQUN2QyxvQ0FBZSxHQUFHLElBQUksQ0FBQztJQUN2QiwrQkFBVSxHQUFHO1FBQ0Q7WUFDWCxJQUFJLEVBQUUsVUFBVTtZQUNoQixTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVE7WUFDOUIsR0FBRyxFQUFFLFVBQVU7U0FDbEI7S0FDSixDQUFDO0lBRU87UUFBUixLQUFLLEVBQUU7O3VEQUEyQjtJQUMxQjtRQUFSLEtBQUssRUFBRTtrQ0FBYyxXQUFXOzZEQUFDO0lBYnpCLG9CQUFvQjtRQXpCaEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGNBQWM7WUFFeEIsUUFBUSxFQUFFLDBoQkFTSDtZQUNQLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSxzQkFBb0IsRUFBcEIsQ0FBb0IsQ0FBQztvQkFDbkQsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLHNCQUFvQixFQUFwQixDQUFvQixDQUFDO29CQUNuRCxLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUFDOztTQUNULENBQUM7T0FDVyxvQkFBb0IsQ0E2Q2hDO0lBQUQsMkJBQUM7Q0FBQSxBQTdDRCxJQTZDQztTQTdDWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0tY29tcG9uZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgT3B0aW9uVmFsdWUsIFNlbGVjdExpc3QgfSBmcm9tICcuLi9tb2RlbHMvdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3IgfSBmcm9tICcuLi9tb2RlbHMvcnVsZS5tb2RlbCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Zvcm1xbC1yYWRpbycsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtcWwtcmFkaW8uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHRlbXBsYXRlOiBgPGRpdiAqbmdJZj1cImZvcm1Db250cm9sIT1udWxsXCI+XHJcbiAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJmaWVsZC5jb21wb25lbnRJZFwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZnFsLWJ1bmRsZS1sYWJlbC1yZXF1aXJlZCc6IGZpZWxkLnJ1bGVzPy5yZXF1aXJlZD8udmFsdWV9XCI+e3tmaWVsZC5sYWJlbH19PC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnFsLWJ1bmRsZS1maWVsZC1pbnB1dFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdFwiIGNsYXNzPVwiZnFsLWJ1bmRsZS1maWVsZC1yYWRpb1wiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGNsYXNzPVwiZnFsLWJ1bmRsZS1maWVsZC1yYWRpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIj57e2l0ZW0ubmFtZX19XHJcbiAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5gLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9ybVFMUmFkaW9Db21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb3JtUUxSYWRpb0NvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1RTFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcblxyXG4gICAgc3RhdGljIGNvbXBvbmVudE5hbWUgPSAnRm9ybVFMUmFkaW9Db21wb25lbnQnO1xyXG4gICAgc3RhdGljIGZvcm1RTENvbXBvbmVudCA9IHRydWU7XHJcbiAgICBzdGF0aWMgdmFsaWRhdG9ycyA9IFtcclxuICAgICAgICA8Rm9ybVZhbGlkYXRvcj57XHJcbiAgICAgICAgICAgIG5hbWU6ICdSZXF1aXJlZCcsXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAga2V5OiAncmVxdWlyZWQnXHJcbiAgICAgICAgfVxyXG4gICAgXTtcclxuXHJcbiAgICBASW5wdXQoKSBmaWVsZDogRm9ybUNvbXBvbmVudDxhbnk+O1xyXG4gICAgQElucHV0KCkgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG5cclxuICAgIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmc7XHJcbiAgICBsaXN0OiBBcnJheTxPcHRpb25WYWx1ZT47XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmNvbmZpZ3VyYXRpb24pXHJcbiAgICAgICAgICAgIHRoaXMubGlzdCA9ICg8U2VsZWN0TGlzdD5KU09OLnBhcnNlKHRoaXMuZmllbGQuY29uZmlndXJhdGlvbikpLmxpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQgeyB9XHJcbn1cclxuIl19